![]() |
|
|
Регистрация | << Правила форума >> | 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
|
||||
|
||||
![]() Пасиба большое)
|