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

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

предусмотреть ввод данных в Edit [D6, WinXP]


Cijgan ©   (2005-06-05 18:34:00) 

Как в программе предусмотреть ввод данных в Edit, чтобы данные были в числом формате и если дробь, то через запятую?


ssk   (2005-06-06 09:23:00) [1]

делал я как-то такое... даже наследника писал. для простоты работы.
вот он http://www.ucad.pisem.net/delphi_components/sskeditflint.zip

не дает ставить знак минуса где попало - только первым.
не дает ставить два DecimalSeparator'а.


NeoVariant   (2005-06-05 22:17:00) [2]

А не легче использовать MaskEdit. Там можно выбирать и устанавливать тип маски ввода.


begin...end   (2005-06-05 20:53:00) [3]

Во-первых, не OnKeyPress, а OnChange, потому что есть ещё буфер обмена.
Во-вторых, корректность ввода можно проверять с помощью TryStrToFloat.
В-третьих, ИМХО, не надо мешать пользователю вводить. Пусть введёт, а поругаться можно будет в дальнейшем, когда понадобится преобразование.


SergP   (2005-06-05 20:40:00) [4]


> Обрабатывать OnKeyPress. Если not (key in ['0'..'9',','])
> тогда key:=chr(0)


Только вот тогда оно будет позволять вводить и такую фигню как 454,544,45,
что не есть хорошо...


Хинт   (2005-06-05 19:02:00) [5]

Обрабатывать OnKeyPress. Если not (key in ['0'..'9',',']) тогда key:=chr(0)


Reindeer Moss Eater   (2005-06-05 18:55:00) [6]

Данные будут через запятую, если попросить пользователя вводить их через запятую в этот самый Edit


Наверх

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