Overwrite file line number in text file: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
m (Added category links.)
m (Adding new author and category links.)
 
Line 1: Line 1:
{|align=right
{{PageAuthor|Afrow UK}}
|<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 63: Line 61:
-Stu
-Stu


[[{{ns:14}}:Text Files Manipulation Functions]]
[[Category:Text Files Manipulation Functions]]

Latest revision as of 13:33, 24 June 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