Gridfeld sortieren
-
Hallo,
Entwickle grade ein Programm in dem u.a. diverse Namen aufgelistet werden, das habe ich früher in einer ListBox gemacht, dort gibt es ja das Attribut sortet, dann wurden alle Einträge anhand des Nachnamen geordnet!
Leider musste ich jetzt auf das GridFeld umsteigen! Nun habe ich das Problem mit dem Sortieren, da es das Attribut sortet nicht gibt. Ich habe keine Ahnung wie ich das gescheit sortieren soll:
Ich lese die Daten aus einer Datei ein, und schreibe sie in eine Struct, gebe sie ins Gridfeld aus, dann fange ich wieder von vorne an. Dieser Vorgang wiederholt sich pro Datensatz einmal. Wie bekomme ich das Sortiert?
Vielen dank schon einmal im Voraus!
-
Hallo
Das sortieren must du beim StringGrid schon selber machen. Du definierst ein struct, das die Member eines "Datensatzes" enthält. Üver dieses struct dekalrierst du ein (dynamisches) Array, in das du alle betreffende Datensätze lädst.
Dann wendest du einen Sortieralgorithmus auf das Array an. Eine Implementation von Bubblesort oder Quicksort ist schnell geschrieben bzw. im Netz gefunden.
Zum Schluß trägst du die sortierten Datensätze nacheiander in das Grid ein.Die STL von C++ bietet bereits Hilfmittel für sortierte Arrays an, zum Beispiel std::map.
Wenn du allerdings gleich eine vernünftige, nicht selbstgestrickte Lösung willst, dann nimm eine Datenbank wie Firebird oder SQLite, benutz SQl-Abfragen zum sortieren und zeige die Daten in einem TDBGrid an.
bis bald
akari
-
Hallo,
siehe auch hier
http://www.bytesandmore.de/rad/cpp/snipp/sc02039.php