Показать полную графическую версию : Как в С++ Builder 6 сделать окно для вводв цифор с плавающей
ReadeR 666
18-03-2004, 00:03
Ребята пожалуйста подскажите. Как мне это сделать? Получилось ограничить ввод только цифор и точки с клавиатуры, а что дальше? Сделал это с помощью событий OnKeyPress и OnKeyDown.
Abell2000
18-03-2004, 10:45
Ответный вопрос, а что дальше? Ну в смысле, ты вроде уже и так все сам сделал, в чем проблема то?
ReadeR 666
29-03-2004, 00:33
Проблема в том, как ограничить, чтобы пользователь вводил не более одной точки.
Prisoner
29-03-2004, 02:36
Заведи переменную булевого типа - признак наличия одной точки, при каждом изменении в компоненте пробегать по содержимому и если более одной точки, то отменять последнее действие (как угодно, причем). Поглядите в сторону компонента TMaskEdit или TEditReal.
Вообще если делать по уму, то там могут быть много проблем,
не только в точке. Символ порядка *тоже только 1.
Знак минус толи 1 толи 2 если перед порядком. А знак плюс сколько их может быть? и т.д. и.т.п.
Могу предложить следующую идею:
Строку подаешь на функцию преобразования в Си например atof(); Если она проглотила всю сторку и не выдала ошибки, то ок. Иначе отменяешь ввод последнего символа.
Исправлено: bilytur, 2:38 29-03-2004
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.