mschnell hat geschrieben:mse hat geschrieben:Solange man die nicht trennt...
Genau darum geht es aber bei dem besagten Enumerator. wenn er sie erkennt, könnte er sie zusammenlassen und es "passiert nichts". Ob er sie erkennen kann, ist die andere Frage. Wenn er sie nicht berücksichtigt, erkennt er sie auch nicht und "es passiert".
Du hast mich vermutlich nicht richtig verstanden. Wenn man in UnicodeString nach 'ä', 'ü', 'ß' oder allen anderen codepoints der 'Basic Multilingual Plane' sucht, funktioniert es auch beim Vorhandensein von surrogate pairs, weil die codeunits der BMP nicht als Bestandteil der surrogate pairs vorkommen. Entsprechendes gilt auch für Utf8String. Code units < 128 (ASCII Bereich) kommen in utf-8 mehrbyte-codepoints nicht vor.
Leider reicht für deutsche Programmierer der ASCII Bereich in der Regel nicht aus, BMP aber schon. Darum müssen sich deutsche Lazarus Programmier-Anfänger um dieses Problem kümmern, deutsche MSEide+MSEgui Anwender jedoch nicht.
Martin