15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту

Borland C++ Builder FAQ
Составлен по материалам форума на Исходниках.Ru
Содержание Последнее обновление: 14.02.2004

Как сделать, чтобы в TEdit можно было вводить только числа?

Автор: OlegGG
Исходная ссылка: - - -

Просто поместите этот код в OnKeyPress любого TEdit'а:

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 - глобальная переменная - разделитель целой и дробной части.