пример:
Код:
#region: - Option
Opt('MustDeclareVars', 1)
Opt('TrayIconDebug', 1)
Opt('TrayIconHide', 0)
Opt('WinTitleMatchMode', 2)
#endregion
HotKeySet('{ESC}', '_Pro_Exit')
Local $sFilePath = 'c:\test.txt'
Local $iReplaceStringInFileByindex = _ReplaceStringInFileByindex($sFilePath, 4, '<new текст>')
If $iReplaceStringInFileByindex == -1 Then
MsgBox(48, 'Внимание', 'Ошибка открытия файла' & @CRLF & 'Код ошибки: ' & $iReplaceStringInFileByindex)
Else
MsgBox(64, 'Результат замены', 'Колличество замен: ' & $iReplaceStringInFileByindex)
ShellExecute($sFilePath)
EndIf
Func _ReplaceStringInFileByindex($sFilePath, $iIndexString, $sReplaceString)
Local $hFile = FileOpen($sFilePath, 0)
If $hFile == -1 Then
;~ MsgBox(48, 'Внимание', 'Ошибка открытия файла' & @CRLF & 'Код ошибки: ' & $hFile)
Return -1
EndIf
Local $i = 1
Local $iCountReplace = 0
Local $sFileString, $sFileText
While 1
$sFileString = FileReadLine($hFile)
If @error == -1 Then ExitLoop
If $i == $iIndexString Then
$sFileText &= $sReplaceString & @CRLF
$iCountReplace += 1
Else
$sFileText &= $sFileString & @CRLF
EndIf
$i += 1
Wend
FileClose($hFile)
If NOT $iCountReplace Then Return 0
If StringRight($sFileText, 2) == @CRLF Then $sFileText = StringTrimRight($sFileText, 2)
$hFile = FileOpen($sFilePath, 2)
FileWrite($hFile, $sFileText)
FileClose($hFile)
Return $iCountReplace
EndFunc
Func _Pro_Exit()
Exit
EndFunc