![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проверка на ввод нечисловых символов и запятой. [D7, XP]
Neket © (2008-09-24 09:33:00)Доброе утро. Подскажите как сделать проверку введенного текста в Edit на наличие буков и если вводится дробное число то чтобы разделитель был "," а не точка.
т.е. доллжны вводится цифры, в том числе и вещественные а если будут буквы или разделитель не запятая а точка то либо самому менять или шоб ошибку выдавало. Заранее благодарен.
Сергей М. (2008-09-24 10:10:00) [41]
> Neket (24.09.08 10:05) [6]
> Вариант предложенный Vlad Oshin © (24.09.08 09:35) [1]
> подошел очень даже не плохо
В нем нет "защиты от дурака" - ничто мешает натыкать, к примеру, кучу запятых, да еще и в "неположенных местах")
К тому же ты ничего не сказал про знак вводимого числа
Neket (2008-09-24 10:10:00) [42]Нее Delit работает.
Поросенок Винни-Пух ©- харош глумиться.
Поросенок Винни-Пух (2008-09-24 10:08:00) [43]A Delete запретить?
Neket (2008-09-24 10:05:00) [44]Всем спасибо. Вариант предложенный
Vlad Oshin © (24.09.08 09:35) [1]подошел очень даже не плохо. Остался только один вопрос. Как плюс ковсему разрешить еще и использование BackSpase. Какой у него код?
Sergey13 (2008-09-24 09:54:00) [45]> [0] Neket (24.09.08 09:33)
Можно заменить TEdit на компонент, заточенный под ввод именно числовых данных.
Dennis I. Komarov (2008-09-24 09:40:00) [46]
> и FloatToStr
наоборот...
Dennis I. Komarov (2008-09-24 09:39:00) [47]
> Neket (24.09.08 09:33)
На каком основании ты навязываешь пользователю свой дробный разделитель? Такой софт должен быть уничтожен до инсталяции...
Использую DecimalSeporator (кажися так пишется) и FloatToStr
Так же в OnChange можно проверять что ввели, а лучше это делать по окончанию ввода
Сергей М. (2008-09-24 09:38:00) [48]
> чтобы разделитель был "," а не точка
С пом. StringReplace замени точки на запятые, если таковые имеются.
А что за дискриминация, почему юзерунедозволено использовать в кач-ве разделителя то что ему удобней при вводе ?
> как сделать проверку
Например, с пом. TryStrToFloat
Vlad Oshin (2008-09-24 09:35:00) [49]onKeyPress(...Key:char);
if Key not in ['0'..'9',','] then Key:=#0;