![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Разрешить ввод в Edit только числовые значения с плавающей точкой
upc © (2012-01-28 15:06:00)Такое решение будет правильным?
Добавить в OnKeyPress:
if not(Key in ['0'..'9', #13, #8, DecimalSeparator]) then
Key := #0;
Просто везде пишут вместо DecimalSeparator
',', '.'
но ведь десятичный разделитель в системе только один и зависит от страны, как я понял. Так почему не использовать DecimalSeparator из SysUtils? Есть ли тут какой-то подводный камень, или я сделал всё правильно?
sniknik (2012-01-28 15:19:00) [21]> Просто везде пишут вместо DecimalSeparator
тоже так пишу, точку, запятую, + DecimalSeparator ... (один раз "нарвался". была настройка # как разделителя... и х.з, почему "не работает" по телефону...)
а перед преобразованием считанного к числу делаю замену их обоих на DecimalSeparator.
> Есть ли тут какой-то подводный камень
только не удобство ввода. пойди пойми почему нажатие клавиши игнорируется... не все же работают с мыслью "сегодня у нас запятая разделителем..."
> в OnKeyPress:
а копи паст?
upc (2012-01-28 15:14:00) [22]Точно! Правда в моем случае отрицательных быть не может, и слишком больших и слишком маленьких тоже.
Значит писать DecimalSeparator можно вместо точки и запятой?
Германн (2012-01-28 15:11:00) [23]
> или я сделал всё правильно?
Забыл "-" и "E"