Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] FileWriteLine - Поиск и запись в текстовом файле. (http://forum.oszone.net/showthread.php?t=316699)

nibble74 12-07-2016 07:23 2650048

FileWriteLine - Поиск и запись в текстовом файле.
 
Помогите примером для тестового файла.

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

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

Mike909 12-07-2016 09:06 2650074

Нужно искать подстроку в строке:

Код:

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

$sStr = FileRead($hFile)

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

FileClose($hFile)


nibble74 12-07-2016 12:56 2650145

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



Время: 03:03.

Время: 03:03.
© OSzone.net 2001-