Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Как в С++ Builder 6 сделать окно для вводв цифор с плавающей (http://forum.oszone.net/showthread.php?t=29883)

ReadeR 666 18-03-2004 00:03 206156

Ребята пожалуйста подскажите. Как мне это сделать? Получилось ограничить ввод только цифор и точки с клавиатуры, а что дальше? Сделал это с помощью событий OnKeyPress и OnKeyDown.

Abell2000 18-03-2004 10:45 206157

Ответный вопрос, а что дальше? Ну в смысле, ты вроде уже и так все сам сделал, в чем проблема то?

ReadeR 666 29-03-2004 00:33 206158

Проблема в том, как ограничить, чтобы пользователь вводил не более одной точки.

Prisoner 29-03-2004 02:36 206159

Заведи переменную булевого типа - признак наличия одной точки, при каждом изменении в компоненте пробегать по содержимому и если более одной точки, то отменять последнее действие (как угодно, причем). Поглядите в сторону компонента TMaskEdit или TEditReal.

bilytur 29-03-2004 03:34 206160

Вообще если делать по уму, то там могут быть много проблем,
не только в точке. Символ порядка *тоже только 1.
Знак минус толи 1 толи 2 если перед порядком. А знак плюс сколько их может быть? и т.д. и.т.п.

Могу предложить следующую идею:
Строку подаешь на функцию преобразования в Си например atof(); Если она проглотила всю сторку и не выдала ошибки, то ок. Иначе отменяешь ввод последнего символа.

[s]Исправлено: bilytur, 2:38 29-03-2004[/s]


Время: 07:36.

Время: 07:36.
© OSzone.net 2001-