| Last change
 on this file since 23707 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.