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'tte' then // 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