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;
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;
2 个回答