Ввод значений в 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;
→ Ссылка