Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi bestimmte Wörter im Logfile zählen. (https://www.delphipraxis.net/14885-bestimmte-woerter-im-logfile-zaehlen.html)

PiT123 17. Jan 2004 13:50


bestimmte Wörter im Logfile zählen.
 
Hallo,

ich möchte gernen ein bestimmtes Wort in einem Logfile(txt) zählen und in einem Label ausgeben.
Ich bin ein Neuling und versuche mich grade ein wenig mit Delphi ..

Bustaben zählen bekomme ich hin aber kein ganzes Wort.

Sharky 17. Jan 2004 13:52

Re: bestimmte Wörter im Logfile zählen.
 
Hai PiT123,

ersteinmal Willkommen in der Delphi-PRAXIS.

Mit den Funktionen Pos,Copy und Delete solltest Du das hinbekommen.

Pseudemys Nelsoni 17. Jan 2004 13:53

Re: bestimmte Wörter im Logfile zählen.
 
hi,

versuchs mal mit Pos(); und Delete();

PiT123 17. Jan 2004 15:14

Re: bestimmte Wörter im Logfile zählen.
 
mit

Delphi-Quellcode:
procedure TForm1.Button7Click(Sender: TObject);
begin

if pos('Test',Memo1.Text) > 0 then


end;

end.
jetzt wird mit POS "Test" im Memo1.Text gesucht, aber wir bekomme ich das hin das er zählt wie oft der Wort Test in Memo1.text vorkommt. ?

Jens Schumann 17. Jan 2004 15:56

Re: bestimmte Wörter im Logfile zählen.
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,
ich habe mir neulich genau für das Problem eine Komponente gebastelt.
Die Komponente sucht in einem Stream nach einem bestimmten String.
Jedesmal wenn der String gefunden wurde löst die Komponente ein Ereignis aus.
In der zip-Datei ist das Beispiel und die Komponente enthalten.
Der Komponentensource ist sogar kommentiert.
Aber ein Beispiel sagt bekanntlich mehr als Worte.

P.S. Dadurch, das die Komponente in einem Stream sucht ist das Dateiformat egal !!!

Ach ja - Die Komponente nutzt den Boyer/Moore Algorithmus (siehe Powerpointdatei)

PiT123 17. Jan 2004 17:11

Re: bestimmte Wörter im Logfile zählen.
 
Super Danke !

hat mich nach vorne gebracht !

habe jetzt :

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i,a : Integer;
begin
Memo1.Lines.Loadfromfile('C:\Logfile.log');
For i:= 0 to Length(Memo1.Text) do begin
if pos('Test',Memo1.Lines[i]) > 0
THEN a := a+1;

end;
Label1.Caption:=(' '+
            IntToStr(a)+' ');
end;

end.
und funzt einwandfrei !!!

Sharky 17. Jan 2004 19:32

Re: bestimmte Wörter im Logfile zählen.
 
Hai PiT123,

in deinem Code wird aber nur einmal pro Zeile geprüft ob das Wort "Test" in dieser vorkommt.

PiT123 17. Jan 2004 19:36

Re: bestimmte Wörter im Logfile zählen.
 
hm ..

JAU sehe es auch grade.

aber wie geht es besser ?

Jens Schumann 18. Jan 2004 15:03

Re: bestimmte Wörter im Logfile zählen.
 
Hallo,
Zitat:

Zitat von PiT123
hm ..

JAU sehe es auch grade.

aber wie geht es besser ?

ganz einfach - benutze die Komponente die meinem Beispiel beiliegt.

choose 19. Jan 2004 09:33

Re: bestimmte Wörter im Logfile zählen.
 
Hallo PiT123,

wenn Du in Zukunft mehr mit Strings arbeiten wirst, könntest Du Dir einmal [dp]reguläre Ausdrücke[/dp] etwas genauer ansehen. Mit ihnen wäre die Lösung Deines Problems beim Wort "Delphi" egal ob mit großem oder kleinem "D" und nur als "einzelnes Wort" aber auch am Zeilenanfrag bzw beendet mit einem "." relativ einfacht, ohne die verschiedenen Varianten der Form " Delphi ", " delphi.", ... überprüfen zu müssen.
Eine Lösung könnte dann zB so aussehen:
Delphi-Quellcode:
Result:= 0;
with RegExp('(?i)\bDelphi\b') do
  if Execute(Memo1.Text) then
  repeat
    Inc(Result);
  until not ExecuteNext;


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:49 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz