Что нового

текст из Txt поместить в переменную

Pero

Новичок
Сообщения
17
Репутация
0
Хай токая проблема надо текст из Txt поместить в переменную текст
к примеру есть файл test.txt
в нем вбит всякий бред допустим
"123"
есть переменная допустим
$txt
надо сделать что бы в переменную $txt поместился текст из test.txt
и нужен таймер допустим каждые 5 сек переменная $txt обновлялась
в общем текст в файле test.txt может изменится допустим на "456" и значение переменной тоже должно изменится
И да текст в файле надо искать между |text1| |text2|
текст в файле выглядит так
|text1|
какой то текст !!! 123 №;%:?*()_+-\/Э": !@#!*-+
|text2|
Ps спасибо за помощь


Добавлено:
Сообщение автоматически объединено:

Поиск такая вещь что когда надо не найти а когда попросил помощи отыскался =)
Код:
$file = FileOpen("test.txt", 1)
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Мой вариант
Код:
#include <Array.au3>; for _ArrayDisplay
#include <String.au3>; for _StringBetween
Global $txt = ""; объявление переменной
Func Set_txt()
	$sTmpFile = FileRead("test.txt")
	If @error <> 0 Then Return SetError(1, 0, 0)
	$sTmpStr = _StringBetween($sTmpFile, '|text1|', '|text2|')
	If @error <> 0 Or Not IsArray($sTmpStr) Then Return SetError(2, 0, 0)
	$txt = $sTmpStr[0]
EndFunc   ;==>Set_txt

Set_txt(); вызываем функцию
AdlibRegister("Set_txt", 5000); Устанавливаем таймер с интервалом 5 секунд

; просто показываем значение переменной
MsgBox(0, "txt get value", $txt)
 

firex

AutoIT Гуру
Сообщения
943
Репутация
208
Код:
Global $txt, $vTxt, $iDelay = 5000, $hTimer = TimerInit()
While Sleep( 10 )
	If TimerDiff( $hTimer ) >= $iDelay Then
		$hTimer = TimerInit()
		$vTxt = FileRead( "test.txt" )
		If $vTxt Then
			$vTxt = StringRegExpReplace( $vTxt, "^(?s).*\|text1\|[\r\n]+(.*)[\r\n]+\|text2\|.*", "\1" )
			If @Extended Then _
				$txt = $vTxt
		EndIf
	EndIf

WEnd
 
Верх