Вот есть такой код:
- Код: Выделить всё
procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
var
s, s1:String;
begin
s:=SysToUTF8(Edit1.Text);
if UTF8Length(s)>2 then s1:=UTF8Copy(s,2,1) else s1:='!';
Label1.Caption:=UTF8ToSys(s1);
end;
То есть при наборе текста в Label1 должен отображаться 2-ой символ строки, либо '!'. Но у меня не работает, текст лейбла пустой. Код правильный?
если заменить Label1.Caption:=UTF8ToSys(s1) на Label1.Caption:=s1; то отображается кракозябля.
Куда смотреть?
UPD
Laz 1.2.0
fpc 2.6.2
win32/win64