Dobrý den, pro zajištění, že mi uživatel nestrčí do řetězce jiný znak, než písmeno, používám funkci viz níže. Problém je, že mi ta funkce odmítá ponechat v edit.text písmena s háčky a čárkami a maže je jako by to byla třeba číslice, přestože je má vyjmenované v Chars. Nevíte někdo proč? Ta výjimka je tam pro backspace, aby ten text šlo i mazat při zadávání. Díky moc!
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: char);
const
Chars: string = 'abcdefghchijklmnopqrstuvwxyzABCDEFGHCHIJKLMNOPQRSTUVWXYZěščřžýáíéúůóĚŠČŘŽÝÁÁÍÉÚŮÓ';
var
i: Integer;
OK: Boolean;
begin
i := 0;
OK := False;
if Key = #8 then OK := True;
repeat
i := i + 1;
if Key = Chars[i] then OK := True;
until (OK) or (i = Length(Chars));
if not OK then Key := #0;
end;