maskedit



Maskedit delphi

Автор Zero Megaman задал вопрос в разделе Другие языки и технологии

Delphi: Как разрешить вводить все цифры и только первые 6 букв лат. алфавита в поле MaskEdit? и получил лучший ответ

Ответ от Ў В[гуру]
Мне кажется, смысл задачи в том, что нужно вводить шестнадцатиричные числа, то есть символы от 0 до 9 и от A до F
Компонент Edit может реагировать на нажатие клавиши на клавиатуре, при этом будет распознаваться, какая именно клавиша нажата.
Значение этой клавиши можно проанализировать и если оно не подходит, то отбросить.
Значит, ищем у компонента Edit событие OnKeyPress, создаем процедуру и пишем там проверку.
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in [#8,'0'..'9','A'..'F','a'..'f']) then Key := #0;
end;
То есть, если нажата клавиша не число от 0 до 9, не латинская буква от A до F, большая или маленькая, то она нам не нужна, мы ее превращаем в пустышку. Еще нам может понадобиться клавиша BackSpace, чтобы можно было стереть неправильно введенный символ, она обозначается #8.
Вот и все.
Если непонятно, спрашивай.
Ю В
Мыслитель
(9301)
Ну мне же совершенно неизвестен ваш уровень. Я не люблю, когда люди тупо переписывают код, мне нравится, когда они понимают, что делают. Поэтому с комментариями.

Ответ от Дмитрий Алексеевич[гуру]
Шаблон (маска) задается с помощью свойства EditMask и состоит из трех полей разделенных между собой символами точка с запятой. В первом поле находиться сам шаблон (маска) . Второе поле определяет, войдут ли вспомогательные символы в итоговый текст (по умолчанию 1). Если стоит 0, то они не будут в итоговом результате, а видны на дисплее при редактировании. Любой иной символ разрешает такое включение. Третье поле отвечает за вывод незаполненных (пустых) символов в поле ввода (по умолчанию это символ подчеркивания) . При не заданных значениях второго и третьего полей, действуют значения по умолчанию.
читай ссылка

Ответ от ?????? ????r?????u[гуру]
по маске LLLLLL и т. п.

Ответ от Владимир Кравцов[активный]
if (not (Key in ['A'..'Z'])) or (not (Key in ['A'..'F'])) then Key:=#0;

Ответ от IT-специалист[гуру]
Лучше использовать простой Edit и обрабатывать ввод символов в OnKeyPress

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Delphi: Как разрешить вводить все цифры и только первые 6 букв лат. алфавита в поле MaskEdit?
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*