|
Last change
on this file since 10767 was 2601, checked in by ulf, 19 years ago |
|
very first (alpha) version of an osm Win32 installer
|
|
File size:
1.4 KB
|
| Line | |
|---|
| 1 | ;
|
|---|
| 2 | ; Write to INI style file with no section headings
|
|---|
| 3 | ;
|
|---|
| 4 | ; http://nsis.sourceforge.net/Write_to_INI_style_file_with_no_section_headings
|
|---|
| 5 | ;
|
|---|
| 6 | ; some more at: http://nsis.sourceforge.net/Category:INI%2C_CSV_%26_Registry_Functions
|
|---|
| 7 |
|
|---|
| 8 | Function WriteINIStrNS
|
|---|
| 9 | Exch $R0 ; new value
|
|---|
| 10 | Exch
|
|---|
| 11 | Exch $R1 ; key
|
|---|
| 12 | Exch 2
|
|---|
| 13 | Exch $R2 ; ini file
|
|---|
| 14 | Exch 2
|
|---|
| 15 | Push $R3
|
|---|
| 16 | Push $R4
|
|---|
| 17 | Push $R5
|
|---|
| 18 | Push $R6
|
|---|
| 19 | Push $R7
|
|---|
| 20 | Push $R8
|
|---|
| 21 | Push $R9
|
|---|
| 22 |
|
|---|
| 23 | StrCpy $R9 0
|
|---|
| 24 |
|
|---|
| 25 | FileOpen $R3 $R2 r
|
|---|
| 26 | GetTempFileName $R4
|
|---|
| 27 | FileOpen $R5 $R4 w
|
|---|
| 28 |
|
|---|
| 29 | LoopRead:
|
|---|
| 30 | ClearErrors
|
|---|
| 31 | FileRead $R3 $R6
|
|---|
| 32 | IfErrors End
|
|---|
| 33 |
|
|---|
| 34 | StrCpy $R7 -1
|
|---|
| 35 | LoopGetVal:
|
|---|
| 36 | IntOp $R7 $R7 + 1
|
|---|
| 37 | StrCpy $R8 $R6 1 $R7
|
|---|
| 38 | StrCmp $R8 "" LoopRead
|
|---|
| 39 | StrCmp $R8 = 0 LoopGetVal
|
|---|
| 40 |
|
|---|
| 41 | StrCpy $R8 $R6 $R7
|
|---|
| 42 | StrCmp $R8 $R1 0 +4
|
|---|
| 43 |
|
|---|
| 44 | FileWrite $R5 "$R1=$R0$\r$\n"
|
|---|
| 45 | StrCpy $R9 1
|
|---|
| 46 | Goto LoopRead
|
|---|
| 47 |
|
|---|
| 48 | FileWrite $R5 $R6
|
|---|
| 49 | Goto LoopRead
|
|---|
| 50 |
|
|---|
| 51 | End:
|
|---|
| 52 | StrCmp $R9 1 +2
|
|---|
| 53 | FileWrite $R5 "$R1=$R0$\r$\n"
|
|---|
| 54 |
|
|---|
| 55 | FileClose $R5
|
|---|
| 56 | FileClose $R3
|
|---|
| 57 |
|
|---|
| 58 | SetDetailsPrint none
|
|---|
| 59 | Delete $R2
|
|---|
| 60 | Rename $R4 $R2
|
|---|
| 61 | SetDetailsPrint both
|
|---|
| 62 |
|
|---|
| 63 | Pop $R9
|
|---|
| 64 | Pop $R8
|
|---|
| 65 |
|
|---|
| 66 | Pop $R7
|
|---|
| 67 | Pop $R6
|
|---|
| 68 | Pop $R5
|
|---|
| 69 | Pop $R4
|
|---|
| 70 | Pop $R3
|
|---|
| 71 | Pop $R2
|
|---|
| 72 | Pop $R1
|
|---|
| 73 | Pop $R0
|
|---|
| 74 | FunctionEnd
|
|---|
| 75 |
|
|---|
| 76 | !define WriteINIStrNS "!insertmacro WriteINIStrNS"
|
|---|
| 77 | !macro WriteINIStrNS Var File Key Value
|
|---|
| 78 | Push "${File}"
|
|---|
| 79 | Push "${Key}"
|
|---|
| 80 | Push "${Value}"
|
|---|
| 81 | Call WriteINIStrNS
|
|---|
| 82 | Pop "${Var}"
|
|---|
| 83 | !macroend
|
|---|
| 84 |
|
|---|
| 85 |
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.