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

Тема в разделе "Borland C++ Builder & Kylix", создана пользователем Glorius, 16 июн 2007.

Статус темы:
Закрыта.
  1. Glorius

    Glorius Гость

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

    Glorius Гость

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

    Greenpeas Гость

    Но при этом не работает клавиша BackSpace (стирание)... Кто поможет?
     
  4. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    <!--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]
    Гугл помогает всем, особенно тем, кому не лень им пользоваться!
    Код (Text):
    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 - глобальная переменная - разделитель целой и дробной части.
     
  5. Greenpeas

    Greenpeas Гость

    ПРИОГРОМНЕЙШЕЕ СПАСИБО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей