Встала задача работы со строками в UTF8 с выдергиванием отдельных символов. Программа будет работать под Windows.
Приведу такой тестовый код.
- Код: Выделить всё
uses LazUTF8;
...
procedure TForm1.FormShow(Sender: TObject);
const
SRC1 = 'РАБОТА';
var s: String;
begin
s:=UTF8Copy(SRC1, 3, 1);
if s='Б'
then ShowMessage ('Равно')
else ShowMessage ('Не равно');
end;
На старом Lazarus 2.0.12 все работает четко, а на версиях 3.2.х код выдает "Не равно", причем отладчик показывает одни и те же символы. Может быть, кто-нибудь знает, что может быть?