Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Textdatei nach bestimmten Kriterien sortieren
driv3r - Fr 19.11.10 13:41
Titel: Textdatei nach bestimmten Kriterien sortieren
Hallo allerseits,
mir wurde schon mal geholfen, hoffe, dass es diesmal auch der Fall wird. :)
Ich sollte ein Programm schreiben, dass eine Textdatei ausliest (die per Zufallsgen. diese Datei mit Text füllt) und dann den Inhalt sortiert im Programm darstellt. Der Sortiervorgang sollte dabei unter bestimmten Kriterien ablaufen wie z.B. "Jedes 2. oder 3. Wort nach Semikolon( ; ) angezeigt werden (im Programm)".
Ich habe bisher Bubble-Sort und QuickSort in Betracht gezogen, doch weiter komme ich nun nicht, da ich es in Delphi nicht umsetzen kann. Ich scheitere an der Grundidee, wie es in Delphi aussehen (Quellcode) soll.
Hat vtl. jmd. in der Richtung schon was programmiert?
Bergmann89 - Fr 19.11.10 20:31
Hey,
wenn du nur das einer Wort speichern willst, dann würd ich ne TStringList nehmen, und dann beim laden immer ein Wort hinzufügen. Dann musst du die Liste nur noch sortieren.
Wenn du mehrere Daten pro Eintrag haben willst, dann würd ich eine TList nehmen und ein record, das die Daten speichert. Das sieht dann ungefähr so aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38:
| type TMyData = packed record Index: Integer; Word1, Word2, Filanme: String; end; PMyData = ^TMyData; var List: TList;
procedure AddToList(Index: Integer; Word1, Word2, Filename: String); var p: PMyData; begin new(p); p^.Index := Index; p^.Word1 := Word1; p^.Word2 := Word2; p^.Filename := Filename; List.Add(p); end;
procedure DelFromList(Index: Integer); var p: TMyData; begin p := List[Index]; SetLength(p^.Word1, 0); SetLength(p^.Word2, 0); SetLength(p^.Filenama, 0); Dispose(p); List.Delete(Index); end;
function GetListItem(Index: Integer): TMyData; begin result := PMyData(List[Index])^; end; |
So in etwas funktioniert das Ganze dann. Ist natürlich nur ein ausschnitt der möglichen Funktionen. Sortieren kannst du das dann mithilfe von List.Sort(), dazu findest du was in der Delphi hilfe, oder hier im Forum.
€: natrlich würde es sich anbieten eine Klasse zu schreiben, die von TList abgeleitet ist und die Methoden von TList mit deinen Daten implementiert.
MfG Bergmann
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!