jdownloader/ressourcen/nsis/timestamp.nsh
coalado dccf98daf7 build>full
fixes #8234

git-svn-id: svn://svn.jdownloader.org/jdownloader/trunk@20536 ebf7c1c2-ba36-0410-9fe8-c592906822b4
2013-04-18 14:30:20 +00:00

60 lines
1.8 KiB
Plaintext

### TimeStamp
!ifndef TimeStamp
!define TimeStamp "!insertmacro _TimeStamp"
!macro _TimeStamp FormatedString
!ifdef __UNINSTALL__
Call un.__TimeStamp
!else
Call __TimeStamp
!endif
Pop ${FormatedString}
!macroend
!macro __TimeStamp UN
Function ${UN}__TimeStamp
ClearErrors
## Store the needed Registers on the stack
Push $0 ; Stack $0
Push $1 ; Stack $1 $0
Push $2 ; Stack $2 $1 $0
Push $3 ; Stack $3 $2 $1 $0
Push $4 ; Stack $4 $3 $2 $1 $0
Push $5 ; Stack $5 $4 $3 $2 $1 $0
Push $6 ; Stack $6 $5 $4 $3 $2 $1 $0
Push $7 ; Stack $7 $6 $5 $4 $3 $2 $1 $0
;Push $8 ; Stack $8 $7 $6 $5 $4 $3 $2 $1 $0
## Call System API to get the current system Time
System::Alloc 16
Pop $0
System::Call 'kernel32::GetLocalTime(i) i(r0)'
System::Call '*$0(&i2, &i2, &i2, &i2, &i2, &i2, &i2, &i2)i (.r1, .r2, n, .r3, .r4, .r5, .r6, .r7)'
System::Free $0
IntFmt $2 "%02i" $2
IntFmt $3 "%02i" $3
IntFmt $4 "%02i" $4
IntFmt $5 "%02i" $5
IntFmt $6 "%02i" $6
## Generate Timestamp
;StrCpy $0 "YEAR=$1$\nMONTH=$2$\nDAY=$3$\nHOUR=$4$\nMINUITES=$5$\nSECONDS=$6$\nMS$7"
StrCpy $0 "$1$2$3$4$5$6$7"
## Restore the Registers and add Timestamp to the Stack
;Pop $8 ; Stack $7 $6 $5 $4 $3 $2 $1 $0
Pop $7 ; Stack $6 $5 $4 $3 $2 $1 $0
Pop $6 ; Stack $5 $4 $3 $2 $1 $0
Pop $5 ; Stack $4 $3 $2 $1 $0
Pop $4 ; Stack $3 $2 $1 $0
Pop $3 ; Stack $2 $1 $0
Pop $2 ; Stack $1 $0
Pop $1 ; Stack $0
Exch $0 ; Stack ${TimeStamp}
FunctionEnd
!macroend
!insertmacro __TimeStamp ""
!insertmacro __TimeStamp "un."
!endif
###########