naja ich vergrößere es ja nich mit den schleifenvariaben direkt. gut in dem einen teil hab ichs vergessen aber das hat ja Flare auch schon festgestellt. Ich erhöhe das array immer nur auf die Anzahl des größten zeichens.
Hier nochma der neue quelltext
Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var i: integer;
s1: string;
myASCIIarray: array of integer;
last:integer;
begin
listbox1.clear;
s1 := editEingabe.text;
last := ord(s1[1]);
setlength(myASCIIarray,ord(s1[1])+1);
for i := 1 to length(s1) do
begin
if last < ord(s1[i]) then
setlength(myASCIIarray,ord(s1[i])+1);
inc(myASCIIarray[ord(s1[i])]);
last := ord(s1[i]);
end;
for i := 0 to high(myASCIIarray) do
if myASCIIarray[i] > 0 then
listbox1.Items.add(chr(i)+': '+ IntToStr(myASCIIarray[i]));
end;