![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DBGridEh - научить любить и "," и "." [D7, WinXP]
ivanoff © (2008-07-23 20:48:00)DBGridEh в поле с плав. точ. принимает ввод только с "," (запятой) как научить любить и "." (точку) тоже
ПыСы. Пожалуйста не кидайте в форум по базам ибо к базам отношения не имеет (если не счтать что контрол DBAware)
Правильный$Вася (2008-07-24 11:11:00) [1]установка DecimalSeparator не помогает?
jack128_ (2008-07-23 23:59:00) [2]Application.OnMessage ??
ivanoff (2008-07-23 22:20:00) [3]вобщем решил:
как всегда ручками
у меня на форме есть обработчик который следит за Enter и превращает в Tab когда нужно. Там добавил
if (Fields[Col - 1].DataType = ftFloat) and (Key in [',', '.']) then
Key := DecimalSeparator;
всё заработало во всех гридах на форме где есть данная обработка (которую я ставлю на все формы). Хотелось бы поуниверсальней ... без лишних телодвижений ( обязательнойобработки KeyPress формы), но уже лучше
Johnmen (2008-07-23 22:08:00) [4]
> ivanoff (23.07.08 20:48)
Есть такая мысль, что у тебя проблемы с кейпадом, а не с дес.разделителем, который задаётся DecimalSeparator'ом
ivanoff (2008-07-23 21:39:00) [5]Во блин видимо придется ручками :(
...если вдруг у кого идейка пишите
заранее спасибо
tesseract (2008-07-23 21:26:00) [6]
> ам где поле типа Double, ... когда ввожу 1.23 точку игнорирует
> хочет "," вместо "."
Региональные настройки влияют. Если исходников нет наврено не перпишешь. А так сообщение ставишь на KeyDown и просто меняешь знак.
ivanoff (2008-07-23 21:21:00) [7]
> if Key in [',','.'] then Key:=DecimalSeparator;
хоцца ГЛОБАЛЬНО а не обрабативать для каждого грида или формы
там где поле типа Double, ... когда ввожу 1.23 точку игнорирует хочет "," вместо "."
... согласитесь неудобно если вводим быстро с NumPad-a
{RASkov} (2008-07-23 21:07:00) [8]> [0] ivanoff (23.07.08 20:48)
> DBGridEh в поле с плав. точ. принимает ввод только с ","
> (запятой) как научить любить и "." (точку) тоже
Я вот вижу вероятный ответ: Обработать КэйПресс и подменить необходимый на нужный символ.... В чем вопрос?
Причем нечто так:
if Key in [',','.'] then Key:=DecimalSeparator;
....наверное. Впрочем ....вопрос задан не корректно или я чего-то не понимаю :(
{RASkov} (2008-07-23 21:03:00) [9]> [0] ivanoff (23.07.08 20:48)
>ПыСы. Пожалуйста не кидайте в форум по базам ибо к базам отношения
> не имеет (если не счтать что контрол DBAware)
Сюда(В основную) тоже мало отношения имеет... А так как вопрос задан не корректно, то и для начинающих отношения так же нет....