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

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

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

    Glorius Гость

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

    Glorius Гость

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

    Greenpeas Гость

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

    Репутация:
    0
    Регистрация:
    4 сен 2006
    Сообщения:
    2.566
    Симпатии:
    2
    <!--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 - глобальная переменная - разделитель целой и дробной части.
     
  5. Greenpeas

    Greenpeas Гость

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

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