Christian, du hast einen Kommentar vergessen:
// Wenn der Eingabestring mit #0 beginnt, knallt es im folgenden Code
Ok, ich weiß nicht ob man diesen Fall mit einem Edit-Feld überhaupt testen kann. Eine Initalisierung von
last mit dem Wert -1 sollte aber Abhilfe schaffen.
Mein Vorschlag:
Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var ch : char;
i : Integer;
s1 : string;
myASCIIarray : array [Char] of Integer;
begin
// Zähler initialisieren
for ch := #0 to #255 do
myASCIIarray[ch] := 0;
// Zeichen zählen
s1 := editEingabe.Text;
for i := 1 to Length(s1) do
Inc (myASCIIarray[s1[i]]);
// Ergebnis ausgeben
listbox1.Clear;
for ch := #0 to #255 do
if (myASCIIarray[ch] > 0) then
listbox1.Items.Add(ch + ': ' + IntToStr(myASCIIarray[ch]));
end;
Gruß Hawkeye