Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#1

Sonderzeichen zwischen 2 anderen Zeichen einsortieren

  Alt 2. Sep 2019, 19:32
Hallo,
ich stehe gerade auf dem Schlauch.

Die Anforderung:
Sortiere eine Liste mit Namen. Die Namen haben auch die türkische Sonderzeichen Ç,ç (ASCII 199 und 231).
Ich gehe mal davon aus, dass ich erst mal nur nach dem großen Zeichen sortiere und das nur an der erster Stelle.

Meine aktuelle Funktion ist die hier.
Wie bekomme ich das jetzt so rein, dass die neuen Zeichen zwischen C und D stehen.
Ich denke gerade darüber nach, dass Ç durch C zu ersetzen, wenn der 2. Anfangs-Buchstabe >=D ist,
damit die Sortierung über den ganzen String verlaufen kann.

Wie würdet ihr das lösen?

Delphi-Quellcode:
  
function CompareStrings(const S1, S2: String) : Integer;
  begin
    if S1<S2 then
     Result := -1
    else
     if S1>S2
      then Result := 1
      else Result := 0;
  end;
Ich würde das Sonderzeichen in S1 ersetzen durch C, wenn S2 mit mindestens D beginnt usw.

Aber ich habe im Moment keinen Plan ...
Heiko

Geändert von hoika ( 2. Sep 2019 um 19:53 Uhr)
  Mit Zitat antworten Zitat