Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2010, 09:07   #1
XerSon
Форумчанин
 
Аватар для XerSon
 
Регистрация: 21.01.2008
Сообщений: 211
По умолчанию Как в TEdit ограничить ввод чисел?

Edit - разрешить ввод только чисел от 1 до 35?
XerSon вне форума Ответить с цитированием
Старый 08.06.2010, 09:15   #2
MaxNik2009
Форумчанин
 
Аватар для MaxNik2009
 
Регистрация: 17.09.2009
Сообщений: 294
По умолчанию

1. Поставь у компонента свойство NamberOnly:= true. Это разрешит ввод только чисел в Edit.
2. Проверяй по нажатие клавиш текст введенный в Edit.
принимаю благодарности в письменном виде( весы слева)...
MaxNik2009 вне форума Ответить с цитированием
Старый 08.06.2010, 09:16   #3
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Для таких целей есть компонент SpinEdit в котором указывается диапазон вводимых чисел
SERG1980 вне форума Ответить с цитированием
Старый 08.06.2010, 10:02   #4
alexprey
Форумчанин
 
Регистрация: 25.05.2010
Сообщений: 169
По умолчанию

TSpinEdit - это тот же TEdit, только немного улучшенный.
MaxNik2009, это идея самая лучшая, сам её пользуюсь. Так прога будет меньше весить
alexprey вне форума Ответить с цитированием
Старый 08.06.2010, 10:22   #5
Ayubkhon
Пользователь
 
Регистрация: 06.05.2010
Сообщений: 28
По умолчанию

В собитии KeyPress поставь нижеследующий код это позволяет вводить только цифры.
Код:
  case key of
    '0'..'9':;
    #8:; //Backspace
  else Key:=Chr(0);
  end;
Ayubkhon вне форума Ответить с цитированием
Старый 08.06.2010, 10:25   #6
MaxNik2009
Форумчанин
 
Аватар для MaxNik2009
 
Регистрация: 17.09.2009
Сообщений: 294
По умолчанию

Цитата:
Сообщение от Ayubkhon Посмотреть сообщение
В собитии KeyPress поставь нижеследующий код это позволяет вводить только цифры.
Код:
  case key of
    '0'..'9':;
    #8:; //Backspace
  else Key:=Chr(0);
  end;
К чему такие ложности?
По моему это проще:
Цитата:
1. Поставь у компонента свойство NamberOnly:= true. Это разрешит ввод только чисел в Edit.
принимаю благодарности в письменном виде( весы слева)...
MaxNik2009 вне форума Ответить с цитированием
Старый 08.06.2010, 10:33   #7
XerSon
Форумчанин
 
Аватар для XerSon
 
Регистрация: 21.01.2008
Сообщений: 211
По умолчанию

Цитата:
Сообщение от SERG1980 Посмотреть сообщение
Для таких целей есть компонент SpinEdit в котором указывается диапазон вводимых чисел
Спасибо всем!
XerSon вне форума Ответить с цитированием
Старый 08.06.2010, 10:35   #8
MaxNik2009
Форумчанин
 
Аватар для MaxNik2009
 
Регистрация: 17.09.2009
Сообщений: 294
По умолчанию

Код:
procedure TForm3.Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  if StrToInt(Edit1.Text)>35 then
    Edit1.Text:= '35';
end;
принимаю благодарности в письменном виде( весы слева)...
MaxNik2009 вне форума Ответить с цитированием
Старый 08.06.2010, 11:50   #9
BrYan91
 
Регистрация: 24.05.2010
Сообщений: 8
По умолчанию

ну у меня есть еше такой код, вводятся только цифры, одна точка, и один минус, и тот токо сначала, вместо цифр можна буквы подогнать любого алфавита
Код:
if not (key in ['0'..'9','.','-',#8])
then key:=#0
else begin
if (key='.')and(pos('.',tsedit(sender).Text)<>0)
then key:=#0;
if (key='-')and((tsedit(sender).SelStart<>0)or(pos('-',tsedit(sender).Text)<>0))
then key:=#0;
end;
BrYan91 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как установить в TEdit фразу "инкрементный поиск" с последующим его очищением на ввод символов? SkAndrew Общие вопросы Delphi 3 10.11.2008 02:38
Как ограничить ввод? alsq Общие вопросы Delphi 8 24.03.2007 14:30