Ввод только цифр в Edit

  • Автор темы Glorius
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Glorius

#1
Не пойму, в чем проблема. Код вроде нормальный, но не работает.
Код:
if ((Key >= '0') && (Key <= '9')) return;
else Key = 0;
Буквы все равно вводятся. Обработчик OnKeyDown.
 
G

Glorius

#2
Спасибо. Разобрался сам. Обработчик нужно писать на OnKeyPress.
 
G

Greenpeas

#3
Но при этом не работает клавиша BackSpace (стирание)... Кто поможет?
 
04.09.2006
2 566
3
#4
<!--QuoteBegin-Greenpeas+13:07:2007, 11:11 -->
<span class="vbquote">(Greenpeas @ 13:07:2007, 11:11 )</span><!--QuoteEBegin-->Кто поможет?
[snapback]72203" rel="nofollow" target="_blank[/snapback]​
[/quote]
Гугл помогает всем, особенно тем, кому не лень им пользоваться!
Код:
if ((Key >= '0') && (Key <= '9')) {} // цифры
else if (Key == 8) {} // <-
else if ((Key == '.') || (Key == ',')) // запятая
{
if (((TEdit*)Sender)->Text.Pos(DecimalSeparator)!=0) // если запятая уже есть
Key = 0;
else // если ещё нет
Key = DecimalSeparator;
}
else Key = 0; // не цифра
P.S. DecimalSeparator - глобальная переменная - разделитель целой и дробной части.
 
G

Greenpeas

#5
ПРИОГРОМНЕЙШЕЕ СПАСИБО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
Статус
Закрыто для дальнейших ответов.