Einzelnen Beitrag anzeigen

Benutzerbild von Ajintaro
Ajintaro

Registriert seit: 20. Okt 2004
Ort: Sankt Augustin
138 Beiträge
 
Delphi XE6 Starter
 
#15

AW: Bei wachsendendem Logfile auf bestimme Zeile reagieren

  Alt 3. Dez 2012, 13:56
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"
Jaimy
DAoC 2.0 -> Camelot Unchained !
  Mit Zitat antworten Zitat