Overwrite file line number in text file: Difference between revisions
From NSIS Wiki
Jump to navigationJump to search
m (Updated author and download links, and changed format of some pages.) |
m (Updated author links.) |
||
Line 1: | Line 1: | ||
{|align=right | |||
|<small>Author: [[{{ns:2}}:Afrow UK|Afrow UK]] ([[{{ns:3}}:Afrow UK|talk]], [[{{ns:-1}}:Contributions/Afrow UK|contrib]])</small> | |||
|} | |||
<br style="clear:both;"> | |||
== Description == | == Description == | ||
This function overwrites an existing line in a text file with a specified string. | This function overwrites an existing line in a text file with a specified string. | ||
Line 58: | Line 62: | ||
FunctionEnd
</highlight-nsis> | FunctionEnd
</highlight-nsis> | ||
-Stu | -Stu | ||
Revision as of 03:01, 30 April 2005
Author: Afrow UK (talk, contrib) |
Description
This function overwrites an existing line in a text file with a specified string.
Usage
Push hello Push 24 Push "$INSTDIR\file.txt" Call WriteToFileLine2
The Function
Function WriteToFileLine2 Exch $0 ;file Exch Exch $1 ;line number Exch 2 Exch $2 ;string to write Exch 2 Push $3 Push $4 Push $5 Push $6 Push $7 GetTempFileName $7 FileOpen $4 $0 r FileOpen $5 $7 w StrCpy $3 0 Loop: ClearErrors FileRead $4 $6 IfErrors Exit IntOp $3 $3 + 1 StrCmp $3 $1 0 +3 FileWrite $5 "$2$\r$\n" Goto Loop FileWrite $5 $6 Goto Loop Exit: FileClose $5 FileClose $4 SetDetailsPrint none Delete $0 Rename $7 $0 SetDetailsPrint both Pop $7 Pop $6 Pop $5 Pop $4 Pop $3 Pop $2 Pop $1 Pop $0 FunctionEnd
-Stu