Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Ограничение ввода в текстовое поле

Delphi , Компоненты и Классы , TEdit

Ограничение ввода в текстовое поле

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

{ 
  In this exemple, the only keys allowed are the 
  same allowed in e-mail adresses. 
}

 procedure TForm1.Edit1KeyPress(Sender: TObject;
   var Key: Char);
 const
   AllowedChars: string = 'abcdefghijklmnopq' +
     'rstuvwxyz01234567_.@';
 var
   i: Integer;
   Ok: Boolean;
 begin
   i  := 0;
   Ok := False;
   { If you erase next line, user won't be able to type backspace }
   if Key = #8 then Ok := True;
   repeat
     i := i + 1;
     if Key = AllowedChars[i] then Ok := True;
   until (Ok) or (i = Length(AllowedChars));
   if not Ok then Key := #0;
 end;

Это фрагмент кода на языке Delphi, который ограничивает ввод в текстовом поле только разрешенными символами. Разрешенные символы - это те, которые обычно используются в адресах электронной почты.

Обзор того, что код делает:

  1. Определяется константа AllowedChars как строка, содержащая все разрешенные символы.
  2. В обработчике события TForm1.Edit1KeyPress проверяется, является ли нажатая клавиша клавишей обратной стрелки (#8). Если это так, то устанавливается флаг Ok в значение True, позволяя пользователю вводить символы назад.
  3. Код затем вступает в цикл, который проходит по строке AllowedChars, проверяя, совпадает ли текущий символ с нажатой клавишей. Если это так, то устанавливается флаг Ok в значение True.
  4. Цикл продолжается до тех пор, пока флаг Ok не будет установлен в значение True (т.е., символ разрешен) или все символы в строке AllowedChars не будут проверены.
  5. Если флаг Ok по-прежнему имеет значение False после проверки всех символов, то это означает, что нажатая клавиша - это не разрешенный символ. В этом случае код устанавливает переменную Key в значение #0, эффективно игнорируя ввод.

Цель этого фрагмента кода, вероятно, заключается в предотвращении пользователей от ввода недопустимых или вредоносных данных в текстовое поле. Ограничивая ввод только разрешенными символами, код обеспечивает, что введенная информация соответствует определенной форме или стандарту (в этом случае - адресам электронной почты).

Альтернативные решения могли бы быть:

  1. Использование встроенных свойств контрола TEdit, таких как MaxLength, LimitText и FilteredChars.
  2. Реализация валидации с помощью регулярных выражений с помощью компонента TRegExpr.
  3. Использование болееadvanced библиотеки или компонента для текстовой фильтрации, которая предоставляет больше функций и гибкости.

В целом, это код - простой, но эффективный способ ограничить ввод в текстовом поле.

Ограничение ввода в текстовое поле позволяет вводить только те символы, которые разрешены в адресах электронной почты.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: TEdit ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-01-29 01:23:02/0.0033080577850342/0