![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
Доброго времени суток, уважаемые!
Подскажите пожалуйста, как можно запретить вводить в поле определенные символы, а при попытки ввести таковые делать, к примеру Label1.Visible:=true? Спасибо! |
|
#2
|
||||
|
||||
|
обрабатывать нужное событие OnChange или OnKeyPress.
|
|
#3
|
||||
|
||||
|
Цитата:
Я так понимаю OnChange применяется, когда изменяется параметр Text, а OnKeyPress - когда нажимается клавиша соответствующаяя определенному ASCI-символу, ну и новерно она не будет срабатывать если текст в поле скопировать из буфера, я прав? Значит, наверно, больше подойдет OnChange? Все сделал! Спасибо!!! Последний раз редактировалось vladimirse, 16.01.2013 в 13:58. |
|
#4
|
||||
|
||||
|
можно "заблокировать" операцию Paste:
Код:
type
TEdit = class(StdCtrls.TEdit)
public
procedure WMPASTE(var Msg: TMessage); message WM_PASTE;
end;
...
{ TEdit }
procedure TEdit.WMPASTE(var Msg: TMessage);
begin
//
end; |
|
#5
|
||||
|
||||
|
Цитата:
Это пока еще рановато для меня ![]() Я сделал так: Код:
procedure TForm1.Edit3Change(Sender: TObject);
var
i: integer;
begin
for i := 1 to length(Edit3.Text) do
begin
if not (Edit3.Text[i] in ['0'..'9']) then
Label5.Visible:=True;
end;
end; |
|
#6
|
||||
|
||||
|
лучше так:
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if Not (Key in ['0'..'9', #8])then Key:=#0; end; будут только цифры вводится..)) |