vector<AnsiString> sortieren Sonderzeichen?



  • Hallo,

    Ich versuche mich an einer Sortierfunktion, die die Strings im vector nach
    größer, oder kleiner/gleich vergleicht, und in einem neuen
    vector in einer neuen Reihenfolge wieder zusammensetzt.

    Das klappt alles wunderbar.

    Nur... Ich lasse den selben vector in einer TStringList zum Vergleich sortieren.
    Die TStringList vergleicht die Sonderzeichen aber völlig anders als mein größer, oder kleiner/gleich.

    Zum Beispiel reiht die TStringList das '=' Zeichen und das '?' anders in das neue Array ein. Das '°' steht vor dem 'A' bei meinem Vergleich nach dem 'Z'.

    Wie macht man sowas eigentlich generell? Ist das kleiner, größer überhaupt im Ansatz richtig?



  • AnsiCompare

    Vergleicht den vorliegenden AnsiString-String mit rhs und unterscheidet dabei zwischen Groß- und Kleinschreibung. Dieser Vergleich wird vom aktuellen Windows-Gebietsschema beeinflusst und führt nicht unbedingt zum gleichen Ergebnis ein Vergleich unter Verwendung der AnsiString-Vergleichsoperatoren. AnsiCompare basiert auf einer vom Gebietschema abhängigen Sortierfolge. Folgende Rückgabewerte sind möglich:
    Bedingung Rückgabewert
    S1 > S2 > 0

    S1 < S2 < 0

    S1 = S2 = 0



  • führt nicht unbedingt zum gleichen Ergebnis ein Vergleich unter Verwendung der AnsiString-Vergleichsoperatoren.

    Auf jeden Fall führt der Vergleich zu gewohnten Ergebnissen.
    Das hab ich gesucht.

    Danke


Anmelden zum Antworten