Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: String-Ende mit while finden

  Alt 14. Aug 2020, 13:42
Delphi-Quellcode:
'>'#13#10#13#10#13#10'<' = 8
'>'#10#10#10'<' = 6
'hätte' = 5
'ha'#$0308'tte' = 6
Tja, wenn man die Char's zählt, dann bekommt man eben auch die Anzahl der Chars.

Im Notfall muß man eben vorher den String "normalisieren", wenn man was Anderes haben will.

Denn egal ob ich #13#10 als EINS zähle
oder ob ä und ä (a¨ > Combining Diaeresis) für "mich" das Gleiche sind,
für den Computer ist es das nur dann, wenn ich es ihm sage.



Delphi-Quellcode:
if 'hätte' = 'ha'#$0308'ttethen // das hier schmeißt direkt der Compiler raus
  Sleep(100){False};
S := 'ha'#$0308'tte';
if 'hätte' = S then // ähnlich CompareStringOrdinal
  Sleep(100){False};
if CompareStringOrdinal('hätte', 5, 'ha'#$0308'tte', 6, False) = CSTR_EQUAL then
  Sleep(100){False};
if CompareString(LOCALE_USER_DEFAULT, LINGUISTIC_IGNOREDIACRITIC, 'hätte', 5, 'ha'#$0308'tte', 6) = CSTR_EQUAL then
  Sleep(100){True};
https://www.compart.com/en/unicode/U+0308
https://en.wikipedia.org/wiki/Combining_character
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (14. Aug 2020 um 13:47 Uhr)
  Mit Zitat antworten Zitat