Войти

Показать полную графическую версию : [решено] FileWriteLine - Поиск и запись в текстовом файле.


nibble74
12-07-2016, 07:23
Помогите примером для тестового файла.

Допустим нужно прописать "какой нибудь текст" в файл.
Если в файле присутствует такой текст скрипт завершается.
Если же отсутствует, то прописывает этот текст в конце всех предыдущих строк.

Использую команду FileWriteLine, но вот для поиска не знаю команды.

Mike909
12-07-2016, 09:06
Нужно искать подстроку в строке:


Local $hFile = FileOpen(@ScriptDir & '\file.txt',0)

$sStr = FileRead($hFile)

$sResult = StringInStr($sStr, "Подстрока")
MsgBox(0, "Результат поиска - позиция:", $sResult)

FileClose($hFile)

nibble74
12-07-2016, 12:56
Mike909,

Спасибо за помощь

Вот мой вариант

#include <MsgBoxConstants.au3>


If MsgBox(BitOR($MB_YESNO, 32 + 262144), "ВНИМАНИЕ", "Внести данные в файл Test.txt") = $IDYES Then

Local $hFile = FileOpen(@ScriptDir & "\Test.txt", 0)
Local $sFilePath = @ScriptDir & "\Test.txt"

$sStr = FileRead($hFile)
If @error = 1 Then
MsgBox(16 + 262144, "Ошибка", "Файл Test.txt не найден")
Exit
EndIf

$sResult = StringInStr($sStr, "Tekst")
If $sResult = 0 Then
If Not FileWriteLine($sFilePath, "Tekst") Then
MsgBox(16 + 262144, "Ошибка", "Не удалось внести данные в файл Test.txt")
EndIf
Else
MsgBox(64 + 262144, "", "Вносимые данные присутствуют в файле Test.txt" & @CRLF & "Подстрока: " & $sResult)
EndIf

FileClose($hFile)

EndIf




© OSzone.net 2001-2012