1

Тема: AHK: Запись в переменную только последнею строку

Здравствуйте!
Столкнулся с проблемой.
Имеется данный код:


Loop, read, C:\lat.log, tx1.txt
{
    if InStr(A_LoopReadLine, "Работа")
        FileAppend, %A_LoopReadLine%`n
}

Проблема заключается в том, что он находит много строк, где присутствует слово Работа.

Вопрос:

Как записывать в документ tx1.txt только последнею найденную строчку?

2

Re: AHK: Запись в переменную только последнею строку

log := {str:"",find:0,num:0}    ,    log.str := []
		FileEncoding, CP0
		Loop, read, C:\lat.log
		log.str.Insert(A_LoopReadLine)    ,log.num := A_Index
		loop 30
			if RegExMatch(log.str[log.num + 1 - A_Index],"Работа", end_str) and (log.find:=log.num + 1 - A_Index)
				break
		if (end_str != "") {
			msgbox, % end_str
		} else {
			msgbox, Строка не найдена
		}

Справедливости ради стоит отметить, что в плане потребления ресурсов этот вариант довольно прожорливый, может товарищи поопытнее что получше подскажут.

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

3

Re: AHK: Запись в переменную только последнею строку

Как записывать в документ tx1.txt только последнею найденную строчку.


Loop, read, C:\lat.log, tx1.txt
{
    if InStr(A_LoopReadLine, "Работа")
	Last_found := A_LoopReadLine
}

        FileAppend, %Last_found%