![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
предусмотреть ввод данных в 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