Das Problem ist ü ö ä werden als zwei Zeichen gezählt
Lazarus verwendet UTF-8 als Zeichenkodierung und nicht
ASCII oder eine der
Ansi Kodierungen. Bei UTF-8 haben Sonderzeichen unterschiedliche Längen (ich glaub bis zu 6 Byte maximal).
Length()
unterstützt dies jedoch nicht (es gibt dir hier nur die Anzahl der Bytes zurück). Lazarus bietet allerdings eine
UTF8Length()
Funktion in der
Unit lazutf8
. Für weitere Informationen lies dir bitte
diesen Artikel im Lazarus Wiki durch.
Gruß,
Sven