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

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

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)

Сюда(В основную) тоже мало отношения имеет... А так как вопрос задан не корректно, то и для начинающих отношения так же нет....


Наверх

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