Einen wunder schönen guten Morgen liebe Community,
Ich hätte mal ne frage.
hab schon bisschen rumgestörbert aber noch nicht das ware gefunden, was ich eigentlich gesucht habe.
Meine Aufgabe;
hab ein Memofeld.
Dort wird ein text eingegeben und ich soll die Wörter zählen.
Das war nicht das Problem;
XE2;
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
I: integer;
st_woerter: tstringlist;
a_speicher: array of integer;
begin
st_woerter := tstringlist.create;
setlength(a_speicher, 2);
st_woerter.CommaText := Memo1.text;
for I := 0 to st_woerter.Count - 1 do
begin
if st_woerter.CommaText <> '' then
begin
a_speicher[0] := a_speicher[0] + 1;
end;
end;
Memo2.text := ('In diesem Text sind es insgesamt: ' + inttostr(a_speicher[0])
+ ' Wörter');
end;
end.
Nun soll ich die Häufigkeit der einzelnen Wörter ausgeben und absteigend Sortieren.
In der Stringlist kann ich mir jedes einzelne Wort rausgeben, aber wie kann ich diese nun öfters Zählen?
Erste überlegung wasr If;
aber soll ich den ganzen Duden in eine if abfrage packen ? :p
Da gibt es bestimmt noch eine andere, vernüftige Möglichkeit.
Dank im vorraus,
Mokus