Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Edit1->Text...

8.7K
29 января 2005 года
lamer-666
13 / / 29.01.2005
Как разрешить в Edit-e набирать только цифры от 0-9? Помогите новичку! Заранее спасибо!
301
29 января 2005 года
lord Kelvin
897 / / 08.11.2004
Цитата:
Originally posted by lamer-666
Как разрешить в Edit-e набирать только цифры от 0-9? Помогите новичку! Заранее спасибо!


 
Код:
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
 if((Key<='0'||Key>='9')&&Key!=8)Key=0;
}
//-----------------------------------------------
8.7K
29 января 2005 года
lamer-666
13 / / 29.01.2005
Цитата:
Originally posted by lord Kelvin

 
Код:
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
 if((Key<='0'||Key>='9')&&Key!=8)Key=0;
}
//-----------------------------------------------



Спасибо! Но есть вопрос. Почему мне надо писать "Key != 8"?

И ещё попутный вопрос: где можно посмотреть таблицу обозначений каждой клавиши? Искал, но не нашёл. :(

323
29 января 2005 года
Sergun
228 / / 20.09.2000
а что, MaskEdit не катит??? :P
301
29 января 2005 года
lord Kelvin
897 / / 08.11.2004
Цитата:
Originally posted by lamer-666


Спасибо! Но есть вопрос. Почему мне надо писать "Key != 8"?

И ещё попутный вопрос: где можно посмотреть таблицу обозначений каждой клавиши? Искал, но не нашёл. :(


8 - бекспейс. Поищи "таблица ASCII".

8.7K
30 января 2005 года
lamer-666
13 / / 29.01.2005
Цитата:
Originally posted by Sergun
а что, MaskEdit не катит??? :P



Не катит. Или я не разобрался до конца.
Беру, к примеру, маску "!000\ 000\ 00;1;_", ввожу менее восьми цифр - выдаёт системную ошибку типа. Некрасиво как-то получается...

8.7K
30 января 2005 года
lamer-666
13 / / 29.01.2005
Цитата:
Originally posted by lord Kelvin

8 - бекспейс. Поищи "таблица ASCII".



Можно тогде ещё вопросик? Правильно ли я понял эту таблицу, если я вот так запишу:

 
Код:
if((Key<30 || Key>39) && Key!=8 )Key=0;
301
30 января 2005 года
lord Kelvin
897 / / 08.11.2004
Цитата:
Originally posted by lamer-666


Можно тогде ещё вопросик? Правильно ли я понял эту таблицу, если я вот так запишу:

 
Код:
if((Key<30 || Key>39) && Key!=8 )Key=0;


Не совсем - 30 и 39 это действительно значения '0' и '9', но шестнадцатиричные.
Надо

 
Код:
if((Key<0x30 || Key>0x39) && Key!=8 )Key=0;
либо
if((Key<48 || Key>57) && Key!=8 )Key=0;
8.7K
30 января 2005 года
lamer-666
13 / / 29.01.2005
Большое спасибо!
246
31 января 2005 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by lamer-666
Как разрешить в Edit-e набирать только цифры от 0-9? Помогите новичку! Заранее спасибо!


Установить стиль ES_NUMBER:
SetWindowLong(Edit1->Handle, GWL_STYLE, GetWindowLong(Edit1->Handle, GWL_STYLE) | ES_NUMBER);

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог