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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.10.2011, 21:01
Lenovo Lenovo вне форума
Прохожий
 
Регистрация: 16.12.2010
Сообщения: 39
Репутация: -2254
Восклицание Компонент Edit

Здравствуйте, в общем проблема такая!
Надо чтобы в Edit-е вводилась только числовая информация! Т.е чтобы запрет был на ввод буквенной!
Думаю код внесет вам ясность
Код:
DataModule3.ADOTable1.Last;
if Edit1.Text='' then Label1.Caption:='' else
Label1.Caption:= FloatToStr(DataModule3.ADOTable1.FieldByName('Koordinata_konca_sekcii').AsFloat + StrToFloat(edit1.Text));
end;

Заранее спасибо!
Ответить с цитированием
  #2  
Старый 24.10.2011, 21:14
t116 t116 вне форума
Новичок
 
Регистрация: 29.06.2011
Адрес: Луганск
Сообщения: 92
Версия Delphi: Delphi7
Репутация: выкл
По умолчанию

Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if not (key in['0'..'9',decimalseparator,#8]) then key:=#0;
 end;
Может как то так

Последний раз редактировалось t116, 24.10.2011 в 21:30.
Ответить с цитированием
  #3  
Старый 24.10.2011, 21:18
Lenovo Lenovo вне форума
Прохожий
 
Регистрация: 16.12.2010
Сообщения: 39
Репутация: -2254
По умолчанию

Цитата:
Сообщение от t116
----------------
Спасибо! Только теперь при помощи Backspace нельзя удалить написанное)) не хорошо
Вопрос не решен, жду ответов! Спасибо

Последний раз редактировалось Lenovo, 24.10.2011 в 21:22.
Ответить с цитированием
  #4  
Старый 24.10.2011, 21:26
Asmoday74 Asmoday74 вне форума
Прохожий
 
Регистрация: 12.10.2010
Адрес: Челябинск
Сообщения: 22
Версия Delphi: XE2
Репутация: 893
По умолчанию

Варинта у тебя 2:
1) Используем компонент TEdit и в обработчике событий OnKeyPress проверяем что ввел нам пользователь, если нас не устраивает то собственно страсываем значение Key.
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
const Digit: Set of Char=['0' .. '9'];
begin
  if ((not (Key in Digit)) and (Ord(Key)<>8) and (Key<>DecimalSeparator)) then
  begin
    Key:=#0; //сбрасываем значение символа
    Beep; //"пиликаем" указывая польщователю на неверный ввод
  end;
end;
//DecimalSeparator тут нужен для того чтоб можно было вводить дробные 
//значения, если не нужно то убери проверку на него.
2) Используем компнент TSpinEdit он предназначен именно для ввода числовых значений и ничего дополнтельного писать не потребуется.

Последний раз редактировалось Asmoday74, 24.10.2011 в 21:34.
Ответить с цитированием
  #5  
Старый 24.10.2011, 21:32
Lenovo Lenovo вне форума
Прохожий
 
Регистрация: 16.12.2010
Сообщения: 39
Репутация: -2254
По умолчанию

Спасибо! Ответ получен! Воспользовался вариантом t116!
Ответить с цитированием
  #6  
Старый 25.10.2011, 16:09
kriv0y kriv0y вне форума
Новичок
 
Регистрация: 20.02.2011
Адрес: Луганжелес
Сообщения: 60
Версия Delphi: 7.
Репутация: 10
По умолчанию

там в компоненте есть опция edit1.NumbersOnly:=true; или галку поставь в свойстве компонента NumbersOnly
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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