void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if((Key<='0'||Key>='9')&&Key!=8)Key=0;
}
//-----------------------------------------------
Edit1->Text...
Как разрешить в Edit-e набирать только цифры от 0-9? Помогите новичку! Заранее спасибо!
Цитата:
Originally posted by lamer-666
Как разрешить в Edit-e набирать только цифры от 0-9? Помогите новичку! Заранее спасибо!
Как разрешить в Edit-e набирать только цифры от 0-9? Помогите новичку! Заранее спасибо!
Код:
Цитата:
Originally posted by lord Kelvin
Код:
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if((Key<='0'||Key>='9')&&Key!=8)Key=0;
}
//-----------------------------------------------
{
if((Key<='0'||Key>='9')&&Key!=8)Key=0;
}
//-----------------------------------------------
Спасибо! Но есть вопрос. Почему мне надо писать "Key != 8"?
И ещё попутный вопрос: где можно посмотреть таблицу обозначений каждой клавиши? Искал, но не нашёл. :(
а что, MaskEdit не катит??? :P
Цитата:
Originally posted by lamer-666
Спасибо! Но есть вопрос. Почему мне надо писать "Key != 8"?
И ещё попутный вопрос: где можно посмотреть таблицу обозначений каждой клавиши? Искал, но не нашёл. :(
Спасибо! Но есть вопрос. Почему мне надо писать "Key != 8"?
И ещё попутный вопрос: где можно посмотреть таблицу обозначений каждой клавиши? Искал, но не нашёл. :(
8 - бекспейс. Поищи "таблица ASCII".
Цитата:
Originally posted by Sergun
а что, MaskEdit не катит??? :P
а что, MaskEdit не катит??? :P
Не катит. Или я не разобрался до конца.
Беру, к примеру, маску "!000\ 000\ 00;1;_", ввожу менее восьми цифр - выдаёт системную ошибку типа. Некрасиво как-то получается...
Цитата:
Originally posted by lord Kelvin
8 - бекспейс. Поищи "таблица ASCII".
8 - бекспейс. Поищи "таблица ASCII".
Можно тогде ещё вопросик? Правильно ли я понял эту таблицу, если я вот так запишу:
Код:
if((Key<30 || Key>39) && Key!=8 )Key=0;
Цитата:
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;
либо
if((Key<48 || Key>57) && Key!=8 )Key=0;
Большое спасибо!
Цитата:
Originally posted by lamer-666
Как разрешить в Edit-e набирать только цифры от 0-9? Помогите новичку! Заранее спасибо!
Как разрешить в Edit-e набирать только цифры от 0-9? Помогите новичку! Заранее спасибо!
Установить стиль ES_NUMBER:
SetWindowLong(Edit1->Handle, GWL_STYLE, GetWindowLong(Edit1->Handle, GWL_STYLE) | ES_NUMBER);