![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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 всегда только строковое значение...