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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.03.2009, 09:58   #1
subsonic
Пользователь
 
Регистрация: 03.01.2008
Сообщений: 48
По умолчанию Как в Edit вводить только цифры

Дорогие друзья!
Подскажите как сделать, чтоб в Edit можно было вводить только цифры?

Одна тема - один вопрос.
Правила трудно прочитать?

Последний раз редактировалось mihali4; 19.03.2009 в 13:53. Причина: 3 вопроса в одной теме
subsonic вне форума Ответить с цитированием
Старый 19.03.2009, 10:09   #2
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if not (key in['0'..'9',decimalseparator,#8]) then key:=#0;
 end;
если не нужно вводить число сдесятыми то убери decimalseparator
Всв-ве OnKeyPress остальных едитов выбери OnKeyPress первого едита

Последний раз редактировалось SERG1980; 19.03.2009 в 10:12.
SERG1980 вне форума Ответить с цитированием
Старый 29.03.2010, 13:33   #3
mihasuper
 
Регистрация: 26.02.2009
Сообщений: 3
По умолчанию

Цитата:
Сообщение от mihasuper Посмотреть сообщение
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
Var k:integer;
begin
if Edit1.Text='0' then //Если ввелиноль, то после него
                            //должна стоять запятая
                            //либо только удалить его
  if not(key in [',',#8]) then key:=#0;
if key in['0'..'9',',',#8] then //разрешаем вводить только числа
  begin
  if key=',' then //проверка для только одной запятой
    begin
    if Edit1.Text='' then key:=#0;
      For k:=1 to Length(Edit1.Text) do
      begin
      if Edit1.Text[k]=',' then key:=#0;
      end;
    end;
  end else key:=#0;
end;
Идеальное решение
Если не надо запятую, то проверку только для одной запятой можно убрать
mihasuper вне форума Ответить с цитированием
Старый 29.03.2010, 13:40   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

А еще есть TSpinEdit...
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 29.03.2010, 15:41   #5
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

В т.ч. отрицательные с точкой
http://programmersforum.ru/showpost....7&postcount=24

Целые можно через GetWindowLong/SetWindowLong ES_NUMBER или в диспетчере свойств (в делфях старше 7 вроде)
пыщь
JTG вне форума Ответить с цитированием
Старый 29.03.2010, 23:39   #6
Voody
Форумчанин
 
Регистрация: 22.06.2009
Сообщений: 310
По умолчанию

в 2010 у Edit есть свойство NumbersOnly
Voody вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вводить цифры в эдит контрол и они должны по нажатию на кнопку переводится в листбокс molo4nik Общие вопросы C/C++ 12 09.12.2011 22:53
Как сделать в Edit Ввод только чисел Pashin Компоненты Delphi 17 26.07.2011 21:12
вводить свои слова и цифры для регистрации. Nicky21 Microsoft Office Access 2 18.11.2008 11:04
Как в итоге формулы US DOLLARS 2356.67 ONLY выделить только цифры жирным шрифтом? Dorvir Microsoft Office Excel 6 03.03.2008 10:17
Как сделать так, чтобы в компонент edit вводились цифры и аналогично с буквами? Askat Общие вопросы Delphi 6 22.08.2007 21:00