Hallo Zusammen,
ich will einträge aus einer Memo Sortieren, aus diesem Grund gebe ich die einträge an eine TStringlist weiter, in welcher diese dann sortiert werden. Danach will ich sie in einer anderen ListBox ausgeben.
So sehen die Einträge in der Memo aus:
Zitat:
001, Testfahrer, Anton, 8a, m, 1980, , ,
002, Testfahrerin, Berta, 8b, w, 1982, 10:00:00, 10:03:15, 02:13
003, Dummy, Clausi, 10a, m, 2000, 9:28:30, 10:59:54, 1:55:59
Mein bisheriger Quellcode:
Code:
procedure TSortiert.FormCreate(Sender: TObject);
var index,index2:Integer;
begin
Daten:=TStringList.Create;
Daten.text:=OrginalMemo.Lines.Text;
For index:=0 to OrginalMemo.Lines.Count-1 do
begin
Daten.Objects[index]:=TObject(index);
end;
end;
Code:
procedure TSortiert.SortierenButtonClick(Sender: TObject);
var index,index1,index2, SortPar : Integer;
Str : String;
begin
SortPar:=StrToInt(Sortieren.PosPanel.Caption);
for index1:=0 to Daten.Count-1 do
for index2:=1 to SortPar do
begin
Str:=Daten[index1];
Delete(Str,1,Pos(',',Str));
Daten[index1]:=Str;
end;
Daten.Sort;
for index:=0 to Daten.Count-1 do
begin
AusgabeBox.Items.Add(OrginalMemo.Lines[Cardinal(Daten.Objects[index])]);
end;
end;
Leider werden in der ListBox die Einträge nicht sortiert ausgegeben, sondern immer nur der erste Eintrag der Memo.
Für Hilfe/Verbesserungsvorschläge wäre ich euch sehr Dankbar.