1 (изменено: ivanmyrka, 2013-10-04 19:45:03)

Тема: AHK: Как вытащить тескт из строки после выполнения условия в строке

Имеется строка в постоянно пополняющимся txt файле:
[22:02:49] >> ПМ от blabla(292): кидай,жду.

Требуется:
проверять построчно есть ли в строке ">> ПМ"(при этом чтобы поиск не проходил по одной строке дважды).
Если строка имеет ">> ПМ" то скопировать данные после знаков ": "(может быть и текст,и цифры,и смешанный набор) в переменную,что бы использовать ее в след. команде.

2 (изменено: ivanmyrka, 2013-10-04 19:44:39)

Re: AHK: Как вытащить тескт из строки после выполнения условия в строке

Вот пока к чему пришел,но не работает




Pattern1 := "S) .*>> ПМ от.*(\R|$)" , sPos1 := -150
LogFile = %A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt
FileRead, Log1, *t %LogFile%
 If RegExMatch(Log1, Pattern1, Match1, sPos1)
If RegExMatch(Match1, "\):.*", line1)
If RegExMatch(Line1, ".*", line2, 3)
SendInput {f6}/c %line2%{enter}
sPos1 := StrLen(Log1), (sPos1 = 0) ? sPos1 := 1

3

Re: AHK: Как вытащить тескт из строки после выполнения условия в строке

ivanmyrka, ознакомьтесь с этой темой, отредактируйте свой пост.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

4

Re: AHK: Как вытащить тескт из строки после выполнения условия в строке

Loop, Read, chatlog.txt
    {    
    IfInString A_LoopReadLine, >> ПМ
        if RegExMatch(A_LoopReadLine, ".*:\s(.*)", t) > 0
            MsgBox %t1%    
    }

5

Re: AHK: Как вытащить тескт из строки после выполнения условия в строке

Zohann, не нужно торопиться, дайте возможность человеку исправиться. В следующий раз удалю пост.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

6

Re: AHK: Как вытащить тескт из строки после выполнения условия в строке

Благодарю,пока нет возможности проверить,об опытах отпишусь.