Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: String-Ende mit while finden

  Alt 14. Aug 2020, 14: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
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

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