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, то они не будут в итоговом результате, а видны на дисплее при редактировании. Любой иной символ разрешает такое включение. Третье поле отвечает за вывод незаполненных (пустых) символов в поле ввода (по умолчанию это символ подчеркивания) . При не заданных значениях второго и третьего полей, действуют значения по умолчанию.
читай ссылка
по маске LLLLLL и т. п.
if (not (Key in ['A'..'Z'])) or (not (Key in ['A'..'F'])) then Key:=#0;
Лучше использовать простой Edit и обрабатывать ввод символов в OnKeyPress