Hi,
ich schätze mal dein Problem dürfte sein, dass du beim sortieren die Zuordnung von Anzahl-String verlierst. Natürlich kannst du hier umständlich versuchen beide Listen synchron zu halten, ich denke es ist aber einfacher wenn du eine Klasse verwendest, die ein Tupel von Anzahl und Bezeichnung speichert.
Hier kannst du dann statt auf ein Array auch auf eine TObjectList zurückgreifen (intern wird wieder ein Array verwendet). Da hast du dann gleich zwei Vorteile:
- Die Liste wächst/schrumpft dyn. mit der Anzahl der Elemente
- Die Liste kann aut. sortieren
Der Letzte Punkt ist dann wohl für dich interessant. Da gibt es die Funktion Sort, die einfach den Quicksort implementiert. Der musst du allerdings noch eine Funktion übergeben, die den Vergleich vornimmt. Dabei kannst du dann einfach schauen, wo die Anzahl höher ist und einen entsprechenden Wert zurückgeben (Details siehe
OH).
Gruß Der Unwissende