Index: win_installer/src/Functions.nsh =================================================================== RCS file: /usr/local/cvsroot/win_installer/src/Attic/Functions.nsh,v diff -u -r1.4 -r1.5 --- win_installer/src/Functions.nsh 8 Mar 2007 05:01:14 -0000 1.4 +++ win_installer/src/Functions.nsh 8 Mar 2007 07:25:10 -0000 1.5 @@ -421,3 +421,113 @@ Exch 2 Exch $0 ;output count found FunctionEnd + +;---------------------------------------------------------------------------- +; Superseded by : GetTime function. +;---------------------------------------------------------------------------- +; Title : Get Local Time +; Short Name : GetLocalTime +; Last Changed : 22/Feb/2005 +; Code Type : Function +; Code Sub-Type : One-way Output +;---------------------------------------------------------------------------- +; Required : System plugin. +; Description : Gets the current local time of the user's computer +;---------------------------------------------------------------------------- +; Function Call : Call GetLocalTime +; +; Pop "$Variable1" +; Day. +; +; Pop "$Variable2" +; Month. +; +; Pop "$Variable3" +; Year. +; +; Pop "$Variable4" +; Day of the week name. +; +; Pop "$Variable5" +; Hour. +; +; Pop "$Variable6" +; Minute. +; +; Pop "$Variable7" +; Second. +;---------------------------------------------------------------------------- +; Author : Diego Pedroso +; Author Reg. Name : deguix +;---------------------------------------------------------------------------- + +Function GetLocalTime + + # Prepare variables + Push $0 + Push $1 + Push $2 + Push $3 + Push $4 + Push $5 + Push $6 + + # Call GetLocalTime API from Kernel32.dll + System::Call '*(&i2, &i2, &i2, &i2, &i2, &i2, &i2, &i2) i .r0' + System::Call 'kernel32::GetLocalTime(i) i(r0)' + System::Call '*$0(&i2, &i2, &i2, &i2, &i2, &i2, &i2, &i2)i \ + (.r4, .r5, .r3, .r6, .r2, .r1, .r0,)' + + # Day of week: convert to name + StrCmp $3 0 0 +3 + StrCpy $3 Sunday + Goto WeekNameEnd + StrCmp $3 1 0 +3 + StrCpy $3 Monday + Goto WeekNameEnd + StrCmp $3 2 0 +3 + StrCpy $3 Tuesday + Goto WeekNameEnd + StrCmp $3 3 0 +3 + StrCpy $3 Wednesday + Goto WeekNameEnd + StrCmp $3 4 0 +3 + StrCpy $3 Thursday + Goto WeekNameEnd + StrCmp $3 5 0 +3 + StrCpy $3 Friday + Goto WeekNameEnd + StrCmp $3 6 0 +2 + StrCpy $3 Saturday + WeekNameEnd: + + # Minute: convert to 2 digits format + IntCmp $1 9 0 0 +2 + StrCpy $1 '0$1' + + # Second: convert to 2 digits format + IntCmp $0 9 0 0 +2 + StrCpy $0 '0$0' + + # Return to user + Exch $6 + Exch + Exch $5 + Exch + Exch 2 + Exch $4 + Exch 2 + Exch 3 + Exch $3 + Exch 3 + Exch 4 + Exch $2 + Exch 4 + Exch 5 + Exch $1 + Exch 5 + Exch 6 + Exch $0 + Exch 6 + +FunctionEnd