Danke schon das ging auch einfach indem ich die Strings in eine zahl gewandelthabe:
jeztt folgenden. Wenn ich die ganzen Zeilen in der Listbox tauschen dauert das unheimlich lange also will ich das in Arrays machen.
Delphi-Quellcode:
procedure TForm1.Sort(List : TListbox);
var
i, j: Integer;
Box1, Box2, Box3, Box4: array[0..900] of string ;
b1,b2,b3,b4 :string;
begin
For i := 0 to List.Items.Count -1 do begin
Box1[i] := Listbox1.Items[i];
Box2[i] := Listbox2.Items[i];
Box3[i] := Listbox3.Items[i];
Box4[i] := Listbox4.Items[i];
end;
;
i := 0;
Progressbar2.Position := 0;
progressbar2.Max := List.Count - 1;
for i := 0 to List.Items.Count - 1 do
begin
Progressbar2.Position := Progressbar2.Position + 1;
for j := i + 1 to List.Items.Count - 1 do
begin
if strtofloat(List.Items[j]) > strtofloat(List.Items[i]) then
begin
//--- Anfang---\\
b1 := box1[i];
box1[i] := box1[j];
box1[j] := b1;
b1 := '';
//-----Ende-----\\
//--- Anfang---\\
b2 := box2[i];
box2[i] := box2[j];
box2[j] := b2;
b2 := '';
//-----Ende-----\\
//--- Anfang---\\
b3 := box3[i];
box3[i] := box3[j];
box3[j] := b3;
b3 := '';
//-----Ende-----\\
//--- Anfang---\\
b4 := box4[i];
box4[i] := box4[j];
box4[j] := b4;
b1 := '';
//-----Ende-----\\
end;
end;
end;
For i := 0 to List.Items.Count -1 do begin
Listbox1.Items[i] := Box1[i];
Listbox2.Items[i] := Box2[i];
Listbox3.Items[i] := Box3[i];
Listbox4.Items[i] := Box4[i];
end;
end;
Wo ist mein fehler???