Autor Beitrag
netspy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 75



BeitragVerfasst: Do 30.03.06 13:16 
Ich habe momentan ein großes Problem beim Stringvergleich mit Umlauten und der Funktion WideCompareText. Hier ein paar Beispiele:

- WideCompareText('a', 'b') = -1 ('a' ist kleiner als 'b')
- WideCompareText('aa', 'ab') = -1 ('aa' ist kleiner als 'ab')
- WideCompareText('aaa', 'ab') = -1 ('aaa' ist kleiner als 'ab')

- WideCompareText('a', 'ä') = -1 ('a' ist kleiner als 'ä')
- WideCompareText('aa', 'aä') = -1 ('aa' ist kleiner als 'aä')

Soweit ist alles wie erwartet. Folgendes stimmt aber nicht mehr:

- WideCompareText('aaa', 'aä') = 1 ('aaa' ist größer als 'aä') :?

Warum soll 'aaa' größer als 'aä' sein?

Die Spracheinstellungen stehen auf de_DE.

Irgendwelche Ideen, warum das so ist und wie ich einen vernünftigen Stringtest machen kann?

PS: War mir nicht sicher, in welches Forum ich das schreibe. Würde evtl. auch zu Windows API passen.