Работа с текстовым файлом, который обновляется / изменяется

Tech N9ne
Дата: 04.11.2019 21:31:06
Здравствуйте.

Есть некая игра, которая пишет логи в файл.
Мне необходимо отслеживать изменение файла на новые строки. Искать в них определённые слова или фразы.
Если нашло, INC(i);


Я не знаю как определить что файл изменился, по этому создал 2 memo.
Таймер (100мс), в нем загружаю в memo2 логи.
Потом проверяю, если memo1 <> memo2, то гружу текст из memo2 в memo1 и ищу нужное слово или фразу в последней строке.
Мне кажется это не самое лучшее решение ))

Как лучше это сделать?
ёёёёё
Дата: 04.11.2019 21:48:16
Tech N9ne,

в джедаях есть пример, как ловить изменение в файловой система. Я перетащил как-то себе, чтобы изменения конфигурационного файла ловить.
...
...а может, все же СУБД?
Dimitry Sibiryakov
Дата: 04.11.2019 22:12:35

Tech N9ne
Как лучше это сделать?

Если имя файла можно задать или изменить - то оптимально будет загнать его в именованную
трубку.

Posted via ActualForum NNTP Server 1.5

ёёёёё
Дата: 04.11.2019 22:30:59
Tech N9ne,

демка. Отслеживает изменения в myFile.ini.

Выдрал из старого проекта, поэтому там кое-что лишнее (и сейчас бы не так делал), но собирается и работает.
Для Delphi 2007.
Док
Дата: 04.11.2019 22:52:12
а если просто пересчитывать хэш файла и сравнивать с последним не вариант?
Dimitry Sibiryakov
Дата: 04.11.2019 23:10:50

Док
а если просто пересчитывать хэш файла и сравнивать с последним не вариант?

Во-первых, для подсчёта хэша файл придутся всё равно прочитать целиком.
Во-вторых, подобные логи могут быть довольно большими.

Если мой совет выше - не вариант, то обычно файл открывают непосредственно функциями
WinAPI и периодически пытаются его дочитать начиная с текущей позиции, не обращая внимание
на возвращаемый функцией ReadFile ноль.

Posted via ActualForum NNTP Server 1.5

ёёёёё
Дата: 04.11.2019 23:15:04
ёёёёё
Дата: 04.11.2019 23:45:31
Ух ты, не только редактирование, но и ссылка на цитируемый оригинал!
Кроик Семён
Дата: 05.11.2019 00:26:21
А отслеживание "Size" файла не поможет?
Dimitry Sibiryakov
Дата: 05.11.2019 01:31:39

Кроик Семён
А отслеживание "Size" файла не поможет?

Оно ненадёжно из-за ленивого обновления метаданных.

Posted via ActualForum NNTP Server 1.5