Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.152 Beiträge
 
Delphi 12 Athens
 
#2

AW: sortieren von Adressdaten - ohne DB

  Alt 31. Dez 2014, 20:22
Man kann Strings genauso wie Integer mit <, > und = vergleichen.

Man kann aber auch Funktionen ala Delphi-Referenz durchsuchenCompareStr/Delphi-Referenz durchsuchenCompareText benutzen.

Bei < tauscht man, bei > macht man nix und bei = wird der nächste Wert verwendet ... wieder bei < tauschen, bei > nix und bei = ab zum nächsten Wert.
Nachname -> Name -> ...

Jeder Buchstabe einzeln ist allerdings bissl übertrieben, aber wenn du das unbedingt so machen willst, dann geht das nach dem selben Prinzip.
Deine StringCompare ist aber kappt, denn du mußt natürlich beim ersten ungleichen Zeichen die Schleife abbrechen, da sonst natürlich nur der letzte Buchstabe verglichen wird.
'ABCX' ist bei deiner Fuktion natprlich das Selbe wie 'DEFX', da für X=X zuletzt das Result gesetzt wurde.
erster Buchstabe: bei kleiner Abbruch mit -1, bei größer Abbruch mit +2 und bei gleich ab zum zweiten Buchstaben usw.

Und dann muß es natülich auch knallen, wenn deine Strings nicht gleich lang sind ... speziell dann, wenn StringB kürzer ist, da du ja ausschließlich auf Length(StringA) achtest.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat