![]() |
Ребята пожалуйста подскажите. Как мне это сделать? Получилось ограничить ввод только цифор и точки с клавиатуры, а что дальше? Сделал это с помощью событий OnKeyPress и OnKeyDown.
|
Ответный вопрос, а что дальше? Ну в смысле, ты вроде уже и так все сам сделал, в чем проблема то?
|
Проблема в том, как ограничить, чтобы пользователь вводил не более одной точки.
|
Заведи переменную булевого типа - признак наличия одной точки, при каждом изменении в компоненте пробегать по содержимому и если более одной точки, то отменять последнее действие (как угодно, причем). Поглядите в сторону компонента TMaskEdit или TEditReal.
|
Вообще если делать по уму, то там могут быть много проблем,
не только в точке. Символ порядка *тоже только 1. Знак минус толи 1 толи 2 если перед порядком. А знак плюс сколько их может быть? и т.д. и.т.п. Могу предложить следующую идею: Строку подаешь на функцию преобразования в Си например atof(); Если она проглотила всю сторку и не выдала ошибки, то ок. Иначе отменяешь ввод последнего символа. [s]Исправлено: bilytur, 2:38 29-03-2004[/s] |
Время: 07:36. |
Время: 07:36.
© OSzone.net 2001-