Hallo
DP User!
Ich wollte mir eine Funktion schreiben welche mir die Anzahl bestimmer Wörter in einer Textdatei Zeile ausgibt.
So sieht die Zeile der Datei aus:
Ich bin ein kleiner Mensch. Ein Apfel ist kein Mensch. Ein Hund ist auch kein Mensch
Ich möchte jetzt das Wort Mensch zählen.
Delphi-Quellcode:
////////////////////////////////////////////////////////////////////////////////
////
//// Anzahl Mensch im textfile
////
function anzahl_mensch: Integer;
var
s: Tstrings;
i, laenge, count, pos_mensch: integer;
Begin
s := TStringList.Create;
count := 0;
try
s.loadfromFile(meine_datei);
//stringlist s nach Mensch durchsuchen
for i := 0 to s.Count[i] - 1 do
begin
//--->> Position des gewünschten strings suchen
pos_mensch := pos('Mensch', s.strings[i]);
//--->> Position von Mensch gefunden
if pos_mensch <> 0 then
begin
inc(count);
end;
end;//for
Result := Count;
Finally
s.Free;
End;
End;
s.count = die Anzahl der Zeilen. Da es nur eine Zeile ist kommt auch nur 1 x Mensch als result.
Ich möchte nun aber nicht die Anzahl der Zeilen durchsuchen, sondern die gesamte Zeile.
Ich dachte an die length Eigenschaft der Stringfunktionen aber das geht mit der Stringlist nicht.
Ich hab bestimmt irgendwas einfaches vergessen...