![]() |
Einträge aus memo mit TStringList Sortieren
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:
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:
Leider werden in der ListBox die Einträge nicht sortiert ausgegeben, sondern immer nur der erste Eintrag der Memo.
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; Für Hilfe/Verbesserungsvorschläge wäre ich euch sehr Dankbar. |
Re: Einträge aus memo mit TStringList Sortieren
Ui. So würd ich das nicht machen.
1. Die Zeilen in einem Memo bilden zusammen eine TStringList. 2. Die Zeilen in einer Listbox auch 3. TStringList verfügt über eine Methode Sort zum Sortieren der Einträge. |
Re: Einträge aus memo mit TStringList Sortieren
Zitat:
Wir haben die Einträge so von unserem Informatik Lehrer in einer Textdatei bekommen und müssen diese in eine Memo einlesen. Ein Teilaufgabe in diesem Projekt ist, diese Einträge nach bestimmte Kriterien zu Sortieren. Nun weiß ich aber nicht was ich falsch gemacht habe, denn eigentlich müsste es meiner nach so laufen. Es handelt sich wahrscheinlich nur um einen kleinen Fehler, diesen kann ich jedoch leider nicht finden. Vielleicht siehteiner von euch was ich falsch gemacht habe. |
Re: Einträge aus memo mit TStringList Sortieren
was Chewie meint ist, dass Memo.Lines schon eine Stringlist ist
==> Memo.Lines.Sort; // Fertig :mrgreen: [edit] uuups ;) im Code vertuppselt [/edit] |
Re: Einträge aus memo mit TStringList Sortieren
hmm ja ok stimmt.
Aber so kann ich doch nur den String doch nur nach den Anfangszeichen Sortieren und nicht nach verschiedenen Kriterien, welche durch ein ',' getrennt sind. Oder verstehe ich da was falsch? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz