Tut mir leid, war mein Fehler. Das kannst du wieder wegmachen ;o)
Ich schätze mal deine Bereichsverletzung kommt aus der Zeile.
for i := Low(List) to High(List) - 1 do
Mache hier draus mal
for i := Low(List) to High(List) - 2 do
Wenn du dir das hier mal anschaust
Delphi-Quellcode:
procedure BubbleSort(Items: TStrings);
var
done: boolean;
i, n: integer;
Dummy: string;
begin
n := Items.Count;
repeat
done := true;
for i := 0 to n - 2 do
if Items[i] > Items[i + 1] then
begin
Dummy := Items[i];
Items[i] := Items[i + 1];
Items[i + 1] := Dummy;
done := false;
end;
until done;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
BubbleSort(Listbox1.Items);
end;
http://www.dsdt.info/tipps/?id=368
Hab ich in #12 schon gepostet
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.