Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

edit [D7, XP]


Бэтман ©   (2008-02-02 23:45:00) 

Как в компоненте edit разрешить ввод только цифр ? То есть значение должно быть целочисленое ?


Бэтман   (2008-02-03 00:08:00) [1]

Понятно всем спасибо за помощь )


{RASkov}   (2008-02-03 00:07:00) [2]

> [7] Бэтман   (03.02.08 00:04)

Это код клавиши BackSpace..
А вот для чего - догадался? :)


{RASkov}   (2008-02-03 00:04:00) [3]

> [5] Бэтман   (03.02.08 00:01)

Скобки поставь :(
См [4]


Бэтман   (2008-02-03 00:04:00) [4]

#8 а это зачем ?


Бэтман   (2008-02-03 00:01:00) [5]

if not Key in ['0'..'9', #8] then Key:=#0; в KeyPress вот на эту строчку компилятор ругаеться (
ufMain.pas(1930): Operator not applicable to this operand type


Alral   (2008-02-02 23:58:00) [6]

Как вариант можно проверять при использовании компонента
try
a:=StrToInt(Edit1);
...
except
ShowMessage('Only numbers allowed');


Семеныч   (2008-02-02 23:58:00) [7]

Вариант 1 - установить стиль окна.
SetWindowLong(Edit1.Handle, GWL_STYLE,
 GetWindowLong(Edit1.Handle, GWL_STYLE) or ES_NUMBER);


Вариант 2 - обработать OnKeyPress:
if not (Key in [ #8, '0'..'9']) then
 Key := #0;


Дополнительно придется обрабатывать вставку из буфера обмена.


KilkennyCat   (2008-02-02 23:54:00) [8]

> #8

это же только один вариант удаления?


{RASkov}   (2008-02-02 23:53:00) [9]

if not Key in ['0'..'9', #8] then Key:=#0; в KeyPress
PS: В Edit.Text всегда только строковое значение...


Наверх

Титульная страница Поиск, карта сайта Написать письмо