Diese Version hier zählt alle Buchstaben von a bis z in dem String S.
Man könnte das ganze vielleicht auch mit Sets (Mengentypen) lösen. Das wäre vor allem dann sinnvoll, wenn noch Umlaute und Sonderzeichen mit abgeprüft werden sollen.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var S: String;
i: Integer;
C: Array['a'..'z'] of Integer;
X: Char;
begin
S := LowerCase('Dies hier ist mein Text');
ZeroMemory(@C, SizeOf(C)); // Array mit Nullen füllen
for i := 1 to Length(S) do Inc(C[S[i]]);
// Ausgabe zum testen...
for X := Low(C) to High(C) do
if C[X] > 0 then
Memo1.Lines.Add(X + ': ' + IntTostr(C[X]));
end;
Im Array "C" stehen dann die Anzahl der Buchstaben drin. (z.B.: Memo1.Lines.Add(IntToStr(C['a']) gibt die Anzahl der "a"s aus)
Gruß
Wormid
[Edit: Matzes Einwand war korrekt... Fehler behoben]
Debuggers don't remove Bugs, they only show them in Slow-Motion.