Ich habe mir erstmal folgende Loesung gebastelt:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
Inhalt: string;
p:integer;
begin
Assignfile(Src,'C:\Users\tomatenmann\Documents\logoutput\Log.txt');
Reset(Src);
memo1.Clear;
while not EOF(Src) do
begin
ReadLn(Src, Inhalt);
p := Pos('Suchtext', Inhalt);
if p > 0 then
begin
//Reaktion auf gefundenen Suchstring
memo1.Lines.Add(Inhalt);
end;
end;
CloseFile(Src);
end;
Mit diesem Code werden beim Programmstart nur die Zeilen in das Memo uebertragen, welche dem Suchstring entsprechen.
Jeder weitere Eintrag in das Memo loest die gewuenschte Reaktion aus.
Funktioniert.
Das dumme ist:
Wenn das Logfile mehrere Dutzend Megabytes gross wird kann es auf Dauer etwas unperformant werden, da ich bei jeder pruefung das gesamte logile zeilenweise neu einlese.
Bloed ist auch dass mein Programm das File fuer andere Anwendungen "blockiert", deshalb muss ich bei jedem Vorgang das file wieder "closen"