Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.12.2008, 20:46
Аватар для Тупой
Тупой Тупой вне форума
Прохожий
 
Регистрация: 03.11.2008
Сообщения: 22
Репутация: 10
По умолчанию Маленький вопросик срочно плиз=)

У мя вот вопрос: Мне нада чтобы в компонент 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  
Старый 21.12.2008, 20:51
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,097
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Разрешить ввод знака - только если он вводиться на первом месте и если его еще нет.

Код:
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  
Старый 21.12.2008, 21:32
Аватар для Тупой
Тупой Тупой вне форума
Прохожий
 
Регистрация: 03.11.2008
Сообщения: 22
Репутация: 10
По умолчанию

А можешь прокоментировать плиз эту строчку, а то не понимаю, а училе это рассказывать придется:
If (Edit1.SelStart <> 1) Or (Pos('-',Edit1.text) > 0) Then
Ответить с цитированием
  #4  
Старый 21.12.2008, 21:37
Аватар для Тупой
Тупой Тупой вне форума
Прохожий
 
Регистрация: 03.11.2008
Сообщения: 22
Репутация: 10
По умолчанию

Айайай оно се равно не работает=(

И плюс к тому же тада можно будет писать все отрицательные числа, а мне нада ток -1 и -2

Последний раз редактировалось Тупой, 21.12.2008 в 21:39.
Ответить с цитированием
  #5  
Старый 21.12.2008, 21:55
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,097
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Строчка проверяет условие попадания - в нужное место. То, что символа - еще нет и то, что ты пытаешься вставить именно на 1е место.

Ну подумай что там не работает. Идея понятна?
Ну и нужные проверки допиши.


ЗЫ. А слабо использовать TSpinEdit?
Ответить с цитированием
  #6  
Старый 21.12.2008, 21:59
Аватар для Тупой
Тупой Тупой вне форума
Прохожий
 
Регистрация: 03.11.2008
Сообщения: 22
Репутация: 10
По умолчанию

Пасиба большое)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:05.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025