Kamen Kamen schrieb:
I have string with ° and I want to delete all symbols to °. When I
delete symbol ° returns #176. How can I delete this symbol?
Exampe: s := '49°45 ';
After: delete (s, 1, 2); --> '°45 '
After: delete (s, 1, 1); or delete (s, pos ('°', s), 1); --> #176'45 '
I want to reseive only '45 '.
Most probably '°' is a multi-byte UTF-8 symbol. You can declare it as a
const Deg: UTF8string = '°';
and obtain the part past it using
NextPos := Pos(Deg,s)+ Length(Deg);
Tail := Copy(s, NextPos, Length(s));
When working with strings containing non-ASCII characters you should
forget about Char and character (byte) based functions. Use strings
instead, even for single letters, and the string based functions (Pos,
StringReplace...).
DoDi
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus