Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi quicksort mit Strings / welcher string ist "größer"? (https://www.delphipraxis.net/10612-quicksort-mit-strings-welcher-string-ist-groesser.html)

SirThornberry 22. Okt 2003 09:13


quicksort mit Strings / welcher string ist "größer"
 
Hallo, ich habe einen Typ von TmeineListe und darin befinden sich Items die einen string als bezeichnung haben.
jetzt will ich die items nach der Bezeichnung sortieren hab aber keine idee wie ich prüfe welcher string "größer" ist. Mit zahlen ist das kein Problem aber wie geht das jetzt mit strings??

Code:
TmeineListe
-Items //die sollen sortiert werden
 -eigenschaft1
 -eigenschaft2
 -bezeichnung //anden dieser Bezeichnung

Robert Marquardt 22. Okt 2003 09:24

Re: quicksort mit Strings / welcher string ist "größer&
 
Dazu gibt es die Funktionen CompareStr und CompareText.
CompareText ignoriert Gross-Klein-Schreibung.

Allgemein soll a < b -> -1 liefern, a = b -> 0 und a > b -> 1.

Bei Strings vergleicht man die Buchstaben.
Beim ersten unterschiedlichen Zeichen wird wie bei einem Integer verfahren und die Differenz der beiden Zeichen gilt.
Aufpassen, da man hier die Zeichen von Char zu Cardinal umtypen muss, da sonst Zeichen > 128 falsch bewertet werden.
Sind die Strings bis auf die Laenge gleich, so ist der kuerzere auch der kleinere.
Die C Version von Strings (PChar) ist besser fuer diese Art Vergleich geeignet, da sie ein #0 Zeichen als Endezeichen haben.
Da vergleicht man einfach bis einschliesslich dem Endezeichen und alles ist gut.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz