![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
У мя вот вопрос: Мне нада чтобы в компонент Edit пользователь не смог вводить ничего кроме чисел и естественно Бэкспейса - это то понятно:
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
If not (Key In['0'..'9',#8]) then
begin
MessageDlg('Ошибка ввода!Введите число!',mtError,[mbOk],0);
key:=#0;
end;
end;А вот мне нада еще чтоб можно было ввести -1 и -2 - как это сделать? |
|
#2
|
|||
|
|||
|
Разрешить ввод знака - только если он вводиться на первом месте и если его еще нет.
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
If not (Key In['0'..'9',#8,'-']) then
begin
MessageDlg('Bla-bla-bla!',mtError,[mbOk],0);
key:=#0;
end;
If Key = '-' Then
Begin
If (Edit1.SelStart <> 1) Or (Pos('-',Edit1.text) > 0) Then
Begin
Key := #0;
End;
End;
end; |
|
#3
|
||||
|
||||
|
А можешь прокоментировать плиз эту строчку, а то не понимаю, а училе это рассказывать придется:
If (Edit1.SelStart <> 1) Or (Pos('-',Edit1.text) > 0) Then |
|
#4
|
||||
|
||||
|
Айайай оно се равно не работает=(
И плюс к тому же тада можно будет писать все отрицательные числа, а мне нада ток -1 и -2 Последний раз редактировалось Тупой, 21.12.2008 в 21:39. |
|
#5
|
|||
|
|||
|
Строчка проверяет условие попадания - в нужное место. То, что символа - еще нет и то, что ты пытаешься вставить именно на 1е место.
Ну подумай что там не работает. Идея понятна? Ну и нужные проверки допиши. ЗЫ. А слабо использовать TSpinEdit? |
|
#6
|
||||
|
||||
|
Пасиба большое)
|