Forum: Programmieren allgemein
by stahli,
11. Aug 2016
Neee!! Nich!!
Ich hab Dir doch Recht gegeben.
Na gut, ich habe natürlich nicht viel zu melden. :?
Forum: Programmieren allgemein
by stahli,
11. Aug 2016
// --------------------------------------->
function CompareItem(Item1, Item2: Pointer): Integer;
var
ArtValues1: TArtValues;
ArtValues2: TArtValues;
begin
ArtValues1 := TArtValues(Item1);
ArtValues2 := TArtValues(Item2);
if ArtValues1.ArtNr<ArtValues2.ArtNr then
Forum: Programmieren allgemein
by stahli,
11. Aug 2016
Stevie hat den kompletten Beispielcode schon gepostet.
Mehr brauchst Du nicht.
Du übergibst nur die Sortiervorgabe (Vergleichsfunktion) an die Sortiermethode und der Rest geht automatisch. :-)
PS: Falls Du mal die Sortierung rumdrehen willst, kannst Du das z.B. so machen:
function CompareItem(Item1, Item2: Pointer): Integer;
begin
Forum: Programmieren allgemein
by stahli,
11. Aug 2016
Das übernimmt die Liste automatisch für Dich.
Du musst nur eine Funktion übergeben, die im Result -1 zurück gibt, wenn der erste Parameter kleiner ist als der zweite, bzw. 1, wenn er größer ist und 0 wenn beide gleich sind.
Die Liste geht dann selbst durch ihre Einträge und sortiert sie.
Also kannst Du hier viel einfacher denken.
Forum: Programmieren allgemein
by stahli,
11. Aug 2016
Noch ein paar grundsätzliche Fragen:
- Wie viele Einträge kann die Liste haben?
- Kommt es (falls die Liste groß werden kann) bei Suchen sehr auf Performance an?
- Soll die Liste bei jedem neuen Eintrag sofort neu sortiert werden?
- Könntest Du auf eine generische Liste umstellen? (Dies würde ich bei sortierten Listen empfehlen, wenn die Möglichkeit besteht.)