![]() |
Sonderzeichen zwischen 2 anderen Zeichen einsortieren
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:
Ich würde das Sonderzeichen in S1 ersetzen durch C, wenn S2 mit mindestens D beginnt usw.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; Aber ich habe im Moment keinen Plan ... |
AW: Sonderzeichen zwischen 2 anderen Zeichen einsortieren
Ordne jedem Buchstaben einen Integerwert zu und sortiere da nach, irgendwie oder so. (Nicht ganz zu Ende gedacht, aber vielleicht gib es ja einen Anstoß.)
|
AW: Sonderzeichen zwischen 2 anderen Zeichen einsortieren
Hallo,
ja, das war auch meine Überlegung. Das dauert nur ewig (verglichen mit dem aktuellen Code). |
AW: Sonderzeichen zwischen 2 anderen Zeichen einsortieren
Den
![]() Zitat:
Du mußt zwei Strings ja nur bis zum ersten Unterschied vergleichen. U.U. ist es hilfreich die Strings als array of longword zu begreifen!? Gruß K-H |
AW: Sonderzeichen zwischen 2 anderen Zeichen einsortieren
Hallo,
Zitat:
Genau so mache ich das jetzt auch. Warum mache ich das: Ist ein Kundenwunsch. |
AW: Sonderzeichen zwischen 2 anderen Zeichen einsortieren
Na dann ist ja gut:)
Gruß K-H |
AW: Sonderzeichen zwischen 2 anderen Zeichen einsortieren
Hallo,
danke noch mal ;) Zitat:
|
AW: Sonderzeichen zwischen 2 anderen Zeichen einsortieren
Hast du das schon mal versucht? Hier unter Rio tut das offenbar genau was du willst:
Delphi-Quellcode:
bwz. wenn es case-insensitiv sein soll:Result := AnsiCompareStr(S1, S2);
Delphi-Quellcode:
Result := AnsiCompareText(S1, S2); |
AW: Sonderzeichen zwischen 2 anderen Zeichen einsortieren
Hallo Uwe,
eigentlich ja, klappt aber wirklich. *verblüfft* |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:14 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