![]() |
AW: Felder eines Objectes
Danke für die Antwort, ich habe so etwas leider noch nie gemacht, hast Du ein Beispiel für mich?
|
AW: Felder eines Objectes
Müsste man auch erstmal schauen, wie die TObjektList in Delphi 6 nochmal aussah und ob sie diese Funktion bereits besaß.
IComparer/TComparer und Co. wurden jedenfalls erst später eingeführt. Wenn du einen String als Zahl vergleichen willst, dann muß du ihnvor dem Verleich auch in eine Zahl umwandeln, oder dir selber eine Stringvergleichfunktion schreiben, welche Strings nach den Regeln der Zahlen vergleicht. Einige "Listen" besitzen mindestens eine ![]() In dieser Funktion
Delphi-Quellcode:
, kannst du dann selber entscheiden was wie sortiert/verglichen werden soll.
procedure MeinVergleich(A, B: TObjekt): Integer{TValueRelationship}
Beispiel: ![]() ![]() ![]() |
AW: Felder eines Objectes
Nochmals Danke für die Antwort, das Umwandeln etc. ist kein Problem nur die Sortierung...da weiss ich echt nicht weiter und würde mich über ein praktisches Beispiel freuen.
Gruß Michael |
AW: Felder eines Objectes
Ich hatte meine Antwort zwischenzeitlich noch etwas erweitert.
|
AW: Felder eines Objectes
Es steht das zwar auch irgendwo in der OH, aber grob geht der Vergleich etwa so
(oder man klaut z.B. bei CompareValue:Integer)
Delphi-Quellcode:
Meherere Werte vergleichen dann der Reihe nach.
if A.xxx < B.xxx then
Result := -1 else if A.xxx > B.xxx then Result := +1 else {if A.xxx = B.xxx then} Result := 0;
Delphi-Quellcode:
if A.xxx < B.xxx then
Result := -1 else if A.xxx > B.xxx then Result := +1 else if A.zzz < B.zzz then Result := -1 else if A.zzz > B.zzz then Result := +1 else Result := 0; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:02 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