FreeXP

CVS freexp

CVS User mw cvs-list at freexp.de
Son Mai 3 18:00:42 CEST 2009


Update of /server/cvs/freexp
In directory m6s15:/tmp/cvs-serv4932

Modified Files:
	xp_ntvdm.pas xp_ntvdm.rc xpfm-d.rq xpfm-e.rq xpuu-d.rq 
	xpuu-e.rq xpdefine.inc xpglobal.pas xp2c.pas xp0.pas xp-d.rq 
	xp-e.rq xp1.pas xp2cfg.inc clip.pas 
Log Message:
MW: - FreeXP 3.41 Release

--- /server/cvs/freexp/xp_ntvdm.pas	2008/12/26 18:37:18	1.15
+++ /server/cvs/freexp/xp_ntvdm.pas	2009/05/03 16:00:41	1.16
@@ -7,7 +7,7 @@
 { Die Nutzungsbedingungen fuer diesen Quelltext finden Sie in der }
 { Datei SLIZENZ.TXT oder auf www.crosspoint.de/oldlicense.html.   }
 { --------------------------------------------------------------- }
-{ $Id: xp_ntvdm.pas,v 1.15 2008/12/26 18:37:18 mw Exp $            }
+{ $Id: xp_ntvdm.pas,v 1.16 2009/05/03 16:00:41 mw Exp $            }
 
 {$R xp_ntvdm.rc}
 
@@ -15,7 +15,7 @@
 
 uses windows,dos,strings;
 
-const xp_ntvdm_version=$3;
+const xp_ntvdm_version=$4;
 
 { --- Imports from ntvdm.exe ------------------------------------ }
 
@@ -34,7 +34,7 @@
 { procedure setCL(para:UCHAR);   external 'ntvdm.exe'; }   function getCL:UCHAR;  external 'ntvdm.exe';  
 { procedure setCH(para:UCHAR);   external 'ntvdm.exe'; }   function getCH:UCHAR;  external 'ntvdm.exe';  
 
-{ procedure setEDX(para:ULONG);  external 'ntvdm.exe'; } { function getEDX:ULONG; external 'ntvdm.exe'; }
+  procedure setEDX(para:ULONG);  external 'ntvdm.exe';   { function getEDX:ULONG; external 'ntvdm.exe'; }
 { procedure setDX(para:USHORT);  external 'ntvdm.exe'; }   function getDX:USHORT; external 'ntvdm.exe';  
 { procedure setDH(para:UCHAR);   external 'ntvdm.exe'; } { function getDH:UCHAR;  external 'ntvdm.exe'; }
 { procedure setDL(para:UCHAR);   external 'ntvdm.exe'; } { function getDL:UCHAR;  external 'ntvdm.exe'; }
@@ -314,6 +314,37 @@
   SetConsoleTitleW(sp);
 end;
 
+{ --- GetTimeZone ---------------------------------------------- }
+
+procedure GetTimeZone;
+var TZ : TTimeZoneInformation;
+    minutes : integer;
+    mode: integer;
+begin
+  mode:=0;
+  minutes:=0;
+  case GetTimeZoneInformation(TZ) of
+    TIME_ZONE_ID_UNKNOWN :
+      begin
+        mode:=0;
+        minutes:=TZ.Bias;
+      end;
+    TIME_ZONE_ID_STANDARD:
+      begin
+        mode:=0;
+        minutes:=TZ.StandardBias;
+      end;
+    TIME_ZONE_ID_DAYLIGHT:
+      begin
+        mode:=1;
+        minutes:=TZ.DaylightBias;
+      end;
+  end;
+  setEAX(mode);
+  setEDX(minutes);
+end;
+
+
 { --- VDD calls ------------------------------------------------- }
 
 procedure FREEXP_CALL; stdcall; export;
@@ -322,6 +353,7 @@
     {Versionsinfos}
     $0000: get_windows_version;    {Windows NT Version bestimmen}
     $0001: XP_NTVDM_VER;           {Revision der XP_NTVDM.DLL bestimmen}
+    $0002: GetTimeZone;            {Timezone aus Windows 2000/XP/Server 2003/7 (nur XPM) bestimmen}
 
     {Clipboardfunktionen}
     $0101: clip_to_string;         {einen String aus der Zwischenablage lesen}
@@ -355,7 +387,10 @@
 
 {
   $Log: xp_ntvdm.pas,v $
-  Revision 1.15  2008/12/26 18:37:18  mw
+  Revision 1.16  2009/05/03 16:00:41  mw
+  MW: - FreeXP 3.41 Release
+
+  Revision 1.15  2008-12-26 18:37:18  mw
   - Aktualisierung auf Version 3.45
 
   Revision 1.14  2008-01-01 20:59:29  mw
--- /server/cvs/freexp/xp_ntvdm.rc	2008/12/26 18:37:18	1.4
+++ /server/cvs/freexp/xp_ntvdm.rc	2009/05/03 16:00:41	1.5
@@ -1,6 +1,6 @@
 1 VERSIONINFO
-FILEVERSION 3,45,3,0
-PRODUCTVERSION 3,45,3,0
+FILEVERSION 3,41,4,0
+PRODUCTVERSION 3,41,4,0
 FILEFLAGSMASK 0
 FILEOS 0x40000
 FILETYPE 1
@@ -11,12 +11,12 @@
    {
     VALUE "CompanyName", "FreeXP"
     VALUE "FileDescription", "FreeXP NTVDM-Extension"
-    VALUE "FileVersion", "3.45.3"
+    VALUE "FileVersion", "3.41.4"
     VALUE "InternalName", "XP_NTVDM"
     VALUE "LegalCopyright", "® 2002-2009"
     VALUE "OriginalFilename", "XP_NTVDM.DLL"
     VALUE "ProductName", "FreeXP XP_NTVDM"
-    VALUE "ProductVersion", "3.45.3"
+    VALUE "ProductVersion", "3.41.4"
     }
   }
 }
--- /server/cvs/freexp/xpfm-d.rq	2008/12/26 18:37:19	1.12
+++ /server/cvs/freexp/xpfm-d.rq	2009/05/03 16:00:41	1.13
@@ -1,9 +1,9 @@
-K XP-FM v3.45 resource file
+K XP-FM v3.41 resource file
 K Deutsch
 K (c) 1993-1999 Peter Mandrella
 K (c) 2000-2001 OpenXP-Team
 K (c) 2002-2009 FreeXP, http://www.freexp.de
-# $Id: xpfm-d.rq,v 1.12 2008/12/26 18:37:19 mw Exp $
+# $Id: xpfm-d.rq,v 1.13 2009/05/03 16:00:41 mw Exp $
 
 # ----- Fehler in FIDO.CFG
 
--- /server/cvs/freexp/xpfm-e.rq	2008/12/26 18:37:19	1.12
+++ /server/cvs/freexp/xpfm-e.rq	2009/05/03 16:00:41	1.13
@@ -1,9 +1,9 @@
-K XP-FM v3.45 resource file
+K XP-FM v3.41 resource file
 K English
 K (c) 1993-1999 Peter Mandrella
 K (c) 2000-2001 OpenXP-Team
 K (c) 2002-2009 FreeXP, http://www.freexp.de
-# $Id: xpfm-e.rq,v 1.12 2008/12/26 18:37:19 mw Exp $
+# $Id: xpfm-e.rq,v 1.13 2009/05/03 16:00:41 mw Exp $
 
 # ----- Error in FIDO.CFG
 
--- /server/cvs/freexp/xpuu-d.rq	2008/12/26 18:37:19	1.10
+++ /server/cvs/freexp/xpuu-d.rq	2009/05/03 16:00:41	1.11
@@ -1,9 +1,9 @@
-K FreeXP UUCICO v3.45 resource file
+K FreeXP UUCICO v3.41 resource file
 K Deutsch
 K (c) 1993-1999 Peter Mandrella
 K (c) 2000-2001 OpenXP-Team
 K (c) 2002-2009 FreeXP, http://www.freexp.de
-# $Id: xpuu-d.rq,v 1.10 2008/12/26 18:37:19 mw Exp $
+# $Id: xpuu-d.rq,v 1.11 2009/05/03 16:00:41 mw Exp $
 
 13  ~Bytes
 
--- /server/cvs/freexp/xpuu-e.rq	2008/12/26 18:37:20	1.10
+++ /server/cvs/freexp/xpuu-e.rq	2009/05/03 16:00:41	1.11
@@ -1,9 +1,9 @@
-K FreeXP UUCICO v3.45 resource file
+K FreeXP UUCICO v3.41 resource file
 K English
 K (c) 1993-1999 Peter Mandrella
 K (c) 2000-2001 OpenXP-Team
 K (c) 2002-2009 FreeXP, http://www.freexp.de
-# $Id: xpuu-e.rq,v 1.10 2008/12/26 18:37:20 mw Exp $
+# $Id: xpuu-e.rq,v 1.11 2009/05/03 16:00:41 mw Exp $
 
 13  ~bytes
 
--- /server/cvs/freexp/xpdefine.inc	2008/12/26 18:37:18	1.50
+++ /server/cvs/freexp/xpdefine.inc	2009/05/03 16:00:41	1.51
@@ -9,7 +9,7 @@
 {                                                                 }
 { Compilerdirektiven fr CrossPoint (FreeXP)                      }
 { --------------------------------------------------------------- }
-{ $Id: xpdefine.inc,v 1.50 2008/12/26 18:37:18 mw Exp $ }
+{ $Id: xpdefine.inc,v 1.51 2009/05/03 16:00:41 mw Exp $ }
 
 { Wenn gesetzt, werden erweiterte Checks in der EXE-Datei durchgefhrt
   (Rangecheck) usw. }
@@ -34,10 +34,10 @@
 {.$DEFINE NOASM }
 
 { Ist definiert, wenn Beta-Informationen anzeigt werden sollen }
-{$DEFINE Beta }
+{.$DEFINE Beta }
 
 { Ist in Snapshot-Versionen definiert }
-{$DEFINE Snapshot}
+{.$DEFINE Snapshot}
 
 { Ist definiert, wenn ein getrenntes Overlay erstellt werden soll }
 {$DEFINE USEOVR}
@@ -79,7 +79,10 @@
 {$ENDIF }
 {
   $Log: xpdefine.inc,v $
-  Revision 1.50  2008/12/26 18:37:18  mw
+  Revision 1.51  2009/05/03 16:00:41  mw
+  MW: - FreeXP 3.41 Release
+
+  Revision 1.50  2008-12-26 18:37:18  mw
   - Aktualisierung auf Version 3.45
 
   Revision 1.49  2008-01-01 20:59:32  mw
--- /server/cvs/freexp/xpglobal.pas	2008/12/26 18:37:19	1.50
+++ /server/cvs/freexp/xpglobal.pas	2009/05/03 16:00:41	1.51
@@ -8,7 +8,7 @@
 { Die Nutzungsbedingungen fuer diesen Quelltext finden Sie in der }
 { Datei SLIZENZ.TXT oder auf www.crosspoint.de/oldlicense.html.   }
 { --------------------------------------------------------------- }
-{ $Id: xpglobal.pas,v 1.50 2008/12/26 18:37:19 mw Exp $ }
+{ $Id: xpglobal.pas,v 1.51 2009/05/03 16:00:41 mw Exp $ }
 
 { Globale Konstanten/Variablen (FreeXP) und Tools }
 
@@ -23,8 +23,8 @@
 { XP-Werbesignatur nur 78 Zeichen lang sein darf. XP6.PAS, XP6S.INC }
 
 const
-  verstr      = 'v3.45';     { Versionsnr. - steht nur an dieser Stelle }
-  betastr     = ' alpha 1';  { '' bei Release-Versionen                 }
+  verstr      = 'v3.41';     { Versionsnr. - steht nur an dieser Stelle }
+  betastr     = '';          { '' bei Release-Versionen                 }
                              { ' alpha x' w„hrend der Entwicklung       }
                              { ' beta x'  in der Stabilisierungsphase   }
                              { oder ' RCn' w„hrend des Endtestes        }
@@ -131,7 +131,10 @@
 
 {
   $Log: xpglobal.pas,v $
-  Revision 1.50  2008/12/26 18:37:19  mw
+  Revision 1.51  2009/05/03 16:00:41  mw
+  MW: - FreeXP 3.41 Release
+
+  Revision 1.50  2008-12-26 18:37:19  mw
   - Aktualisierung auf Version 3.45
 
   Revision 1.49  2008-01-01 20:59:29  mw
--- /server/cvs/freexp/xp2c.pas	2008/12/26 18:37:16	1.56
+++ /server/cvs/freexp/xp2c.pas	2009/05/03 16:00:41	1.57
@@ -8,7 +8,7 @@
 { Die Nutzungsbedingungen fuer diesen Quelltext finden Sie in der }
 { Datei SLIZENZ.TXT oder auf www.crosspoint.de/oldlicense.html.   }
 { --------------------------------------------------------------- }
-{ $Id: xp2c.pas,v 1.56 2008/12/26 18:37:16 mw Exp $ }
+{ $Id: xp2c.pas,v 1.57 2009/05/03 16:00:41 mw Exp $ }
 { CrossPoint - Config bearbeiten }
 
 
@@ -370,7 +370,8 @@
   atz:=autoTZ_string;
   maddstring(34,8 + j,getres2(252,51),atz,8,8,'');     { 'Umstellung' }
   for i:=52 to 55 do
-    mappsel(true,getres2(252,i));  { 'manuellùDatumùTZ-Var.ùTZ/Datum' }
+    mappsel(true,getres2(252,i));  { 'manuellùDatumùTZ-Var.ùTZ/DatumùWindows' }
+  mappsel(true,getres2(252,61));   { Windows ist an Position 61}
   tzfeld1:=fieldpos;
   if replaceetime then mdisable;
   xid:=xids[iif(XP_ID_PMs,1,0)+iif(XP_ID_AMs,2,0)];
@@ -398,6 +399,7 @@
     if ustr(atz)=ustr(getres2(252,52)) then AutoTimeZone:=52       { 'manuell'  }
     else if ustr(atz)=ustr(getres2(252,54)) then AutoTimeZone:=54  { 'TZ-Var.'  }
     else if ustr(atz)=ustr(getres2(252,55)) then AutoTimeZone:=55  { 'TZ/Datum' }
+    else if ustr(atz)=ustr(getres2(252,61)) then AutoTimeZone:=61  { 'Windows'  }
     else AutoTimeZone:=53;                                         { 'Datum'    }
     CheckTimeZone(false);
     if RFC_ZConnectUsed then setRTAMode;
@@ -1534,7 +1536,10 @@
 
 {
   $Log: xp2c.pas,v $
-  Revision 1.56  2008/12/26 18:37:16  mw
+  Revision 1.57  2009/05/03 16:00:41  mw
+  MW: - FreeXP 3.41 Release
+
+  Revision 1.56  2008-12-26 18:37:16  mw
   - Aktualisierung auf Version 3.45
 
   Revision 1.55  2008-01-01 20:59:26  mw
--- /server/cvs/freexp/xp0.pas	2008/12/26 18:37:15	1.86
+++ /server/cvs/freexp/xp0.pas	2009/05/03 16:00:41	1.87
@@ -8,7 +8,7 @@
 { Die Nutzungsbedingungen fuer diesen Quelltext finden Sie in der }
 { Datei SLIZENZ.TXT oder auf www.crosspoint.de/oldlicense.html.   }
 { --------------------------------------------------------------- }
-{ $Id: xp0.pas,v 1.86 2008/12/26 18:37:15 mw Exp $ }
+{ $Id: xp0.pas,v 1.87 2009/05/03 16:00:41 mw Exp $ }
 
 { CrossPoint - Deklarationen }
 
@@ -26,8 +26,8 @@
        IsDPMI      = false;
        {$ENDIF}
 
-       LangVersion = '14';           { Version des Sprachmoduls }
-       DLLVersion  = 3;              { Revision der XP_NTVDM.DLL }
+       LangVersion = '15';           { Version des Sprachmoduls }
+       DLLVersion  = 4;              { Revision der XP_NTVDM.DLL }
                                      { 1 = Urversion }
                                      { 2 = mit Diskfree/Disksize }
                                      { 3 = ConsoleTitle }
@@ -1041,7 +1041,7 @@
        ISDN_EAZ     : char;          { eigene EAZ, Default='0' }
        ISDN_Controller:byte;         { Nummer des Controllers, Default=0 }
        ISDN_incoming, isdn_outgoing: string[30];
-       AutoTimeZone : byte;          { 52=manuell, 53=Datum, 54=TZ, 55=TZ/Datum }
+       AutoTimeZone : byte;          { 52=manuell, 53=Datum, 54=TZ, 55=TZ/Datum, 61=Windows }
        SaveType     : byte;          { 0=Sofort, 1=Alt-S, 2=Rckfrage }
        XSA_NetAlle  : boolean;       { Netcall/Alle-Schalter bei /Netcall/L }
        maxcrosspost : byte;          { Filter fr Massen-Crosspostings }
@@ -1268,7 +1268,10 @@
 
 {
   $Log: xp0.pas,v $
-  Revision 1.86  2008/12/26 18:37:15  mw
+  Revision 1.87  2009/05/03 16:00:41  mw
+  MW: - FreeXP 3.41 Release
+
+  Revision 1.86  2008-12-26 18:37:15  mw
   - Aktualisierung auf Version 3.45
 
   Revision 1.85  2008-01-01 20:59:25  mw
--- /server/cvs/freexp/xp-d.rq	2008/12/26 18:37:14	1.74
+++ /server/cvs/freexp/xp-d.rq	2009/05/03 16:00:41	1.75
@@ -1,9 +1,9 @@
-K CrossPoint [FreeXP] v3.45 resource file
+K CrossPoint [FreeXP] v3.41 resource file
 K Deutsch
 K (c) 1993-1999 Peter Mandrella
 K (c) 2000-2001 OpenXP-Team
 K (c) 2002-2009 FreeXP, http://www.freexp.de
-# $Id: xp-d.rq,v 1.74 2008/12/26 18:37:14 mw Exp $
+# $Id: xp-d.rq,v 1.75 2009/05/03 16:00:41 mw Exp $
 
 # Online-Hilfe, Tastenmakros
 1 XP.HLP
@@ -11,7 +11,7 @@
 5 Lade Sprachmodul...
 
 # Dateiversion
-6 14
+6 15
 
 # --- Mens -----------------------------------------------------------
 
@@ -594,6 +594,7 @@
 58   berprfen und ggf. korrigieren bzw. „ndern.
 59   Die Zeitzone wurde auf "%s" ge„ndert
 60   Umgebungsvariable "TZ" (Zeitzone) ist ungltig!
+61   Windows
 #
 100  68
 101  Adreáeinstellungen (ZConnect / RFC)
--- /server/cvs/freexp/xp-e.rq	2008/12/26 18:37:15	1.113
+++ /server/cvs/freexp/xp-e.rq	2009/05/03 16:00:41	1.114
@@ -1,9 +1,9 @@
-K CrossPoint [FreeXP] v3.45 resource file
+K CrossPoint [FreeXP] v3.41 resource file
 K English
 K (c) 1993-1999 Peter Mandrella
 K (c) 2000-2001 OpenXP-Team
 K (c) 2002-2009 FreeXP, http://www.freexp.de
-# $Id: xp-e.rq,v 1.113 2008/12/26 18:37:15 mw Exp $
+# $Id: xp-e.rq,v 1.114 2009/05/03 16:00:41 mw Exp $
 
 # Online Help File, Key Macros
 1 XP-E.HLP
@@ -11,7 +11,7 @@
 5 Changing language ...
 
 # file version
-6 14
+6 15
 
 # --- Menus -----------------------------------------------------------
 
@@ -583,6 +583,7 @@
 58   and change or correct if necessary.
 59   Time zone has been changed to "%s"
 60   Environment variable "TZ" is invalid!
+61   Windows
 #
 100  68
 101  Address options
--- /server/cvs/freexp/xp1.pas	2008/12/26 18:37:15	1.66
+++ /server/cvs/freexp/xp1.pas	2009/05/03 16:00:41	1.67
@@ -8,7 +8,7 @@
 { Die Nutzungsbedingungen fuer diesen Quelltext finden Sie in der }
 { Datei SLIZENZ.TXT oder auf www.crosspoint.de/oldlicense.html.   }
 { --------------------------------------------------------------- }
-{ $Id: xp1.pas,v 1.66 2008/12/26 18:37:15 mw Exp $ }
+{ $Id: xp1.pas,v 1.67 2009/05/03 16:00:41 mw Exp $ }
 
 { CrossPoint - allg. Routinen }
 
@@ -2037,7 +2037,7 @@
 
 function autoTZ_string:string;
 begin
-  autoTZ_string:=getres2(252,minmax(AutoTimeZone,52,55));
+  autoTZ_string:=getres2(252,minmax(AutoTimeZone,52,61));
 end;
 
 
@@ -2471,7 +2471,10 @@
 end.
 {
   $Log: xp1.pas,v $
-  Revision 1.66  2008/12/26 18:37:15  mw
+  Revision 1.67  2009/05/03 16:00:41  mw
+  MW: - FreeXP 3.41 Release
+
+  Revision 1.66  2008-12-26 18:37:15  mw
   - Aktualisierung auf Version 3.45
 
   Revision 1.65  2008-01-01 20:59:26  mw
--- /server/cvs/freexp/xp2cfg.inc	2008/12/26 18:37:16	1.83
+++ /server/cvs/freexp/xp2cfg.inc	2009/05/03 16:00:42	1.84
@@ -8,7 +8,7 @@
 { Die Nutzungsbedingungen fuer diesen Quelltext finden Sie in der }
 { Datei SLIZENZ.TXT oder auf www.crosspoint.de/oldlicense.html.   }
 { --------------------------------------------------------------- }
-{ $Id: xp2cfg.inc,v 1.83 2008/12/26 18:37:16 mw Exp $ }
+{ $Id: xp2cfg.inc,v 1.84 2009/05/03 16:00:42 mw Exp $ }
 
 const cfs     : array[0..4] of string[5] = ('Z','Shift','Ctrl','Alt','#Z');
       saveCFG : boolean = false;
@@ -325,6 +325,7 @@
 procedure checkTimeZone(const XPStart:boolean);
 var tz_old,tzone : string[7];
     date_chg     : boolean;     { Žnderung aufgrund Datum oder TZ? }
+    date_win     : boolean;     { Žnderung aufgrund Windows? }
 
   procedure check_sommer;
   begin
@@ -344,10 +345,16 @@
   if (AutoTimeZone=52) or (ReplaceEtime) then exit;
   tz_old:=timezone;             { alten Wert fr Vergleich sichern }
   tzone:=timezone;              { tzone = Rckgabewert von getTZ }
-  if AutoTimeZone in [54,55] then
-    if not getTZ(tzone) then
+  date_win:=false;
+  if AutoTimeZone in [54,55,61] then
+    if ((AutoTimeZone=61) and clip.GetTimezone(tzone)) then
     begin
-      if (AutoTimeZone=54) and
+      timezone:=tzone;
+      date_chg:=false;
+      date_win:=true;
+    end else if not getTZ(tzone) then
+    begin
+      if ((AutoTimeZone=54) or (AutoTimeZone=61)) and
        (((parTiming=0) and (not XPFirstStart)) or
         ((parTiming<>0) and (not XPStart))) then
         fehler(getres2(252,60))  { 'Umgebungsvariable "TZ" (Zeitzone) ist ungltig!' }
@@ -364,7 +371,7 @@
     if ((parTiming=0) and (not XPFirstStart)) or
      ((parTiming<>0) and (not XPStart)) then
       hinweis(getreps2(252,59,timezone)  { 'Die Zeitzone wurde auf "%s" ge„ndert (Datum/TZ).' }
-       +' ('+iifs(date_chg,getres2(252,53),'TZ')+').');
+       +' ('+iifs(date_chg,getres2(252,53),iifs(date_win,'Windows','TZ'))+').');
   end;
 end;
 
@@ -824,6 +831,7 @@
     52 : AutoTimeZone_string:='manuell';
     54 : AutoTimeZone_string:='TZ-Var.';
     55 : AutoTimeZone_string:='TZ/Datum';
+    61 : AutoTimeZone_string:='Windows';
   else  AutoTimeZone_string:='Datum';
   end;
 end;
@@ -1815,6 +1823,7 @@
     if ustr(autoTZ)='MANUELL' then AutoTimeZone:=52
     else if ustr(autoTZ)='TZ-VAR.' then AutoTimeZone:=54
     else if ustr(autoTZ)='TZ/DATUM' then AutoTimeZone:=55
+    else if ustr(autoTZ)='WINDOWS' then AutoTimeZone:=61
     else AutoTimeZone:=53;
     scsavetime:=scrsaver;                 { Screen-Saver     }
     close(lst);                           { Drucker-Schnitte }
@@ -1926,7 +1935,10 @@
 
 {
   $Log: xp2cfg.inc,v $
-  Revision 1.83  2008/12/26 18:37:16  mw
+  Revision 1.84  2009/05/03 16:00:42  mw
+  MW: - FreeXP 3.41 Release
+
+  Revision 1.83  2008-12-26 18:37:16  mw
   - Aktualisierung auf Version 3.45
 
   Revision 1.82  2008-01-01 20:59:30  mw
--- /server/cvs/freexp/clip.pas	2008/12/26 18:37:11	1.42
+++ /server/cvs/freexp/clip.pas	2009/05/03 16:00:42	1.43
@@ -8,7 +8,7 @@
 { Die Nutzungsbedingungen fuer diesen Quelltext finden Sie in der }
 { Datei SLIZENZ.TXT oder auf www.crosspoint.de/oldlicense.html.   }
 { --------------------------------------------------------------- }
-{ $Id: clip.pas,v 1.42 2008/12/26 18:37:11 mw Exp $ }
+{ $Id: clip.pas,v 1.43 2009/05/03 16:00:42 mw Exp $ }
 
 {$I XPDEFINE.INC }
 {$O+,F+}
@@ -40,6 +40,8 @@
 function xp_ntvdm_ver:byte;
 function xp_ntvdm_ok:boolean;
 
+function GetTimezone(var tzone:string):boolean;
+
 procedure GetConsoleTitle(maxlen:byte;var contitle:String);
 procedure SetConsoleTitle(contitle:string);
 
@@ -49,6 +51,8 @@
 procedure SmartResetCache;
 procedure SmartFlushCache;
 
+var mode,minutes: longint;
+
 const
   ClipFileName = 'CLIP.TXT';
 
@@ -191,6 +195,46 @@
   DOSBOX:=(Test8086>1) and not (MEM[$F000 : $FFFE] = $FC);
 end;
 
+function GetTimezone(var tzone:string):boolean;
+var hour:longint;
+var mode:smallint;
+var minutes:smallint;
+
+   procedure Loadtimezone;assembler;
+   asm
+     mov dx,$0002
+     mov ax,ntvdm_handle
+     db  $c4,$c4,$58,2
+     db     $66			{ 32 bit prefix }
+     mov    mode,ax
+     db     $66			{ 32 bit prefix }
+     mov    minutes,dx
+   end;
+
+   function makeTZ(sw:char;tzdiff:longint):string;
+   var s:string;
+   begin
+     s:=strs(tzdiff);
+     if s[1]<>'-' then s:=sw+'+'+s else s:=sw+s;
+     makeTZ:=s;
+   end;
+
+begin
+  if ((WinVersion=4) and (Lo(WinNTVersion)=5)) then
+  begin
+    Loadtimezone;     {NTVDM aufrufen}
+    hour:=minutes div 60;
+    hour:=hour mod 24;
+    if (mode=0) then
+       tzone:=makeTZ('W',hour)
+    else
+      tzone:=makeTZ('S',hour);    
+    GetTimezone:=true;
+  end
+   else
+     GetTimezone:=false;
+end;
+
 { -------------------------------------------------------- }
 { Hinweis zu diskfree/disksize und Windows NT/2000/XP:     }
 { -------------------------------------------------------- }
@@ -827,7 +871,10 @@
 end.
 {
   $Log: clip.pas,v $
-  Revision 1.42  2008/12/26 18:37:11  mw
+  Revision 1.43  2009/05/03 16:00:42  mw
+  MW: - FreeXP 3.41 Release
+
+  Revision 1.42  2008-12-26 18:37:11  mw
   - Aktualisierung auf Version 3.45
 
   Revision 1.41  2008-01-01 20:59:23  mw




Mehr Informationen über die CVS-List Mailingliste