Как в С++ Builder 6 сделать окно для вводв цифор с плавающей

Ответить
Аватара пользователя
Abell2000

Как в С++ Builder 6 сделать окно для вводв цифор с плавающей

Сообщение Abell2000 »

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

Re: Как в С++ Builder 6 сделать окно для вводв цифор с плавающей

Сообщение Abell2000 »

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

Re: Как в С++ Builder 6 сделать окно для вводв цифор с плавающей

Сообщение Abell2000 »

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

Re: Как в С++ Builder 6 сделать окно для вводв цифор с плавающей

Сообщение Prisoner »

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

Re: Как в С++ Builder 6 сделать окно для вводв цифор с плавающей

Сообщение Prisoner »

Вообще если делать по уму, то там могут быть много проблем,

не только в точке. Символ порядка *тоже только 1.

Знак минус толи 1 толи 2 если перед порядком. А знак плюс сколько их может быть? и т.д. и.т.п.



Могу предложить следующую идею:

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



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

Вернуться в «Программирование и базы данных»