Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ввод только цифр в Edit
Форум программистов > Системное программирование > C, С++ и С Builder > Borland C++ Builder & Kylix
Glorius
Не пойму, в чем проблема. Код вроде нормальный, но не работает.
if ((Key >= '0') && (Key <= '9')) return;
else Key = 0;

Буквы все равно вводятся. Обработчик OnKeyDown.
Glorius
Спасибо. Разобрался сам. Обработчик нужно писать на OnKeyPress.
Greenpeas
Но при этом не работает клавиша BackSpace (стирание)... Кто поможет?
European
Цитата(Greenpeas @ 13:07:2007, 11:11 )
Кто поможет?
*

Гугл помогает всем, особенно тем, кому не лень им пользоваться!
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 - глобальная переменная - разделитель целой и дробной части.
Greenpeas
ПРИОГРОМНЕЙШЕЕ СПАСИБО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.