• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Как включить клавишу BackSpace?

  • Автор темы Автор темы Pavel
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
P

Pavel

Как включить в список допустимых символов для ввода BackSpace.
Процедура работает, но если введён не тот символ, то удалять приходиться всю введённую строку кнопкой DELETE.
По одному символу удалять не получается.

procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin

If not (Key in ['А'..'Я', '0'..'9', '.', ' ']) then
Key:=#0;

end;
 
Код:
procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
If not (Key in ['А'..'Я', '0'..'9', '.', ' ']) then
begin
If Ord(Key)<>8 then
Key:=#0;
end;
end;
 
А так еще лучше (зачем begin тревожить?)

Код:
procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin

If (not (Key in ['А'..'Я', '0'..'9', '.', ' ']))and(Ord(Key)<>8) then 
Key:=#0;    

end;
 
Ord(Key) <> 8, можно просто в множестве указать #8 ;)
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab