Ввод значений в Edit
Как сделать вывод спец символов в Edit? что бы можно было указывать в Edit1.Text символы которые удалить ?
if s[i] in ['!', '+'] then
Delete(s, i, 1)
Если делаю вот так
if s[i] in CharinSet(edit1.Text) // то получаю ошибку
Delete(s, i, 1)
Как быть в этой ситуации ?
Ответы (2 шт):
Автор решения: Anton Shchyrov
→ Ссылка
var
testSet: TSysCharSet;
i: Integer;
begin
// Преобразуем строку, введенную в Edit1 в множество
testSet := [];
for i := 1 to Length(Edit1.Text) do
Include(testSet, Edit1.Text[i]);
// Проверяем символы строки на принадлежность множеству
for i := Length(s) downto 1 do begin // Принципиально, что цикл в обратном порядке
if CharinSet(s[i], testSet) then
Delete(s, i, 1);
end;
end;
Автор решения: NMD
→ Ссылка
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
//if Key in ['0'..'9'] then key :=#0; //ввод букв и символов
//if not(key in['0'..'9',#8])then key:=#0; //ввод только цифр
//if not(key in['А'..'Я','0'..'9','а'..'я',#8])then key:=#0; //ввод всего кроме символов
end;