Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Разрешить ввод в Edit только числовые значения с плавающей точкой


Страницы:   1 2

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"


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо