Set Extension: Difference between revisions
From NSIS Wiki
Jump to navigationJump to search
Aaron's rod (talk | contribs) No edit summary |
Instructor (talk | contribs) (→Usage: (Typo: Fix -> Set)) |
||
Line 8: | Line 8: | ||
Push ".exe" | Push ".exe" | ||
Push "C:\some dir\some file.txt" | Push "C:\some dir\some file.txt" | ||
Call | Call SetExtension | ||
Pop $R0 ; $R0 = "C:\some dir\some file.exe" | Pop $R0 ; $R0 = "C:\some dir\some file.exe" | ||
</highlight-nsis> | </highlight-nsis> |
Revision as of 05:50, 14 August 2005
Author: Aaron's rod (talk, contrib) |
Description
Simple function to set / change file extension.
Usage
Push ".exe" Push "C:\some dir\some file.txt" Call SetExtension Pop $R0 ; $R0 = "C:\some dir\some file.exe"
Function
Function SetExtension Exch $R0 Exch Exch $R1 Push $R2 Push $R3 StrCpy $R3 1 trim_loop: StrCpy $R2 "$R0" 1 -$R3 StrCmp $R2 "\" trim_add 0 StrCmp $R2 "" trim_add 0 StrCmp $R2 "." 0 trim_cn StrCpy $R2 "$R0" "" -$R3 StrCmp "$R2" "$R1" trim_ok 0 StrCpy $R2 "$R0" -$R3 StrCpy $R0 "$R2$R1" goto trim_ok trim_cn: IntOp $R3 $R3 + 1 goto trim_loop trim_add: StrCpy $R0 "$R0$R1" trim_ok: Pop $R3 Pop $R2 Pop $R1 Exch $R0 FunctionEnd