Программа создана для запуска, администрирования и управления серверами игры Urban Terror. Нужна помощь доделать одну из ее функций, а именно перехват данных из консоли игры. В общем она по нажатию кнопки копирует лог файл чужой программы, ассоциирует его, открывает на чтение, в цикле считывает его и выводит в мэмо. Выводит она его естесственно каждый раз заново, а мне нужно чтобы выводились только изменения в файле. То есть проверка на изменение прошла и только тогда изменение выводится в мэмо. Как можно это реализовать? OC Windows Seven, но вообще будет кросс платформенная, использую правильные компоненты вроде.
Вот мой нынешний код для этой кнопки:
- Код: Выделить всё
procedure TForm1.Button18Click(Sender: TObject);
var
log: string;
begin
log:= ' ';
Form1.Memo1.Clear;
if FileExists(APath + 'qconsole.log') then DeleteFile(Pchar(APath + 'qconsole.log'));
CopyFile(Pchar(UrtCatalogCFG + 'qconsole.log'), Pchar(APath + 'qconsole.log'), true);
AssignFile(urbanlog, APath + 'qconsole.log');
if not FileExists(APath + 'qconsole.log')
then
begin
Form1.Memo2.Font.Color:=clRed;
Form1.Memo2.Lines.Add('Ошибка: Лог файл не найден, невозможно прочитать вывод сервера');
end
else
begin
Reset(urbanlog);
while not Eof(urbanlog) do
begin
readln(urbanlog, log);
Form1.Memo1.Lines.Add(log);
end;
CloseFile(urbanlog);
end;
end;
Заранее благодарен за вашу помощь.