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

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

Glorius

Не пойму, в чем проблема. Код вроде нормальный, но не работает.
Код:
if ((Key >= '0') && (Key <= '9')) return;
else Key = 0;
Буквы все равно вводятся. Обработчик OnKeyDown.
 
Спасибо. Разобрался сам. Обработчик нужно писать на OnKeyPress.
 
Но при этом не работает клавиша BackSpace (стирание)... Кто поможет?
 
<!--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 - глобальная переменная - разделитель целой и дробной части.
 
ПРИОГРОМНЕЙШЕЕ СПАСИБО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab