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

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

Как заставить базу понимать запятую в качестве разделителя? [D6, DB2]


Olga ©   (2003-04-29 13:13:00) 

Когда в качестве разделителя целой и дробной части числа стоит точка - всё работает нормально. Но нужно чтоб разделителем была запятая. Выставляю запятую в панели управления->язык и стандарты, в настройках BDE. И даже в программе при старте делаю decimal separator=",". На одной машине срабатывает, а на двух начинает выводить только целую часть. Хотя все настройки вроде бы одинаковые.


passm   (2003-05-08 17:31:00) [1]

В DB2 SQL разделитель дробной части числа точка не зависимо от настроек системы. Но непонятно от чего могла возникнуть такая потребность. Не юзерское это дело - писать запросы непосредственно :)


Sheriff   (2003-05-08 13:36:00) [2]

i:=pos(DecimalSeparator,s);
if i>0 then s[i]:=#44;

только совсем не понятно зачем?


Olga   (2003-05-08 12:52:00) [3]

А с выводом как быть?


Sheriff   (2003-05-07 11:59:00) [4]

лучше ловить ввод
if Key in [#44,#46] then Key:=DecimalSeparator;


Olga   (2003-05-07 11:48:00) [5]

2Desdechado
Хочется, чтоб при любых настройках системы программа работала корректно.


Desdechado   (2003-05-06 15:59:00) [6]

что в системе стоит разделителем, то по умолчанию и используется.
если на сервере другой разделитель, то могут быть проблемы.


Olga   (2003-05-06 15:01:00) [7]

Displayformat не помог.
Кстати, обнаружилась интересная вещь - базы других форматов (например, Парадокс) отображают числа корректно с любыми системными настройками. А DB2 корректно работает только если в качестве разделителя указана точка.


stone   (2003-04-29 13:51:00) [8]


> То есть, эта точка хранится в базе?

В базе не хранятся ни точки не запятые (как символы), а есть понятие разделитель дробной части.


> Но ведь они только при модификации базы используются. А
> как быть с выводом на экран?

У TField есть свойство DisplayFormat в котором задается формат представления данных в приложении


Olga   (2003-04-29 13:37:00) [9]

2stone
То есть, эта точка хранится в базе? А там её можно на зяпятую поменять? И почему тогда на одной машине всё перенастраивается как по нотам?

2Anatoly Podgoretsky
Насчёт параметров - очень интересно. Но ведь они только при модификации базы используются. А как быть с выводом на экран?


Anatoly Podgoretsky   (2003-04-29 13:21:00) [10]

Используй параметры, тогда не будешь зависить от настроек базы.


stone   (2003-04-29 13:20:00) [11]

ничего не надо заставлять
есть разница между хранением данных и их отображением в приложениях


Наверх

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