Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.01;
Скачать: CL | DM;

Вниз

установить: разделитель разрядов, дробной части, даты и т.д.   Найти похожие ветки 

 
Алексей Петухов   (2004-06-18 19:26) [0]

Здравствуйте, уважаемые мастера.

Подскажите пожалуйста, как мне вне зависимости от региональных настроек в Windows, установить:
 разделитель разрядов = нет
 разделитель дробной части = ,
 разделитель даты = .
 колличество дробных знаков = 2
И сделать эти изменения фиксированными на время работы программы?
А то если я указываю  
 ThousandSeparator:=#0;
и во время работы программы меняю его в региональных настройках, то он и программе меняется.

Заранее благодарю за помощь.


 
Vit@ly ©   (2004-06-18 20:39) [1]

var ThousandSeparator: Char;
var DecimalSeparator: Char;
var CurrencyDecimals: Byte;
var DateSeparator: Char;
var ShortDateFormat: string;
var LongDateFormat: string;
var TimeSeparator: Char;
и т.д.


 
Алексей Петухов   (2004-06-18 20:52) [2]


> Vit@ly ©   (18.06.04 20:39) [1]
> var ThousandSeparator: Char;

Что-то сомневаюсь я что это может как-то помочь ....


 
Vit@ly ©   (2004-06-18 21:03) [3]

А в чем сомнения?
Читаешь установленные разделители на момент запуска проги, запоминаешь, устанавливаешь нужные, а при завершении программы, восстанавливаешь в эти переменные - те что запомнил.
Возможно с Var я переборщил.
Delphi и без нас распознает распознает их
Могу проверить, чотя и лень


 
Vit@ly ©   (2004-06-18 21:10) [4]

Проверил
Var ssep: Char;//глобально в проекте
procedure TForm1.Button1Click(Sender: TObject);
begin
ssep:= ThousandSeparator;
ThousandSeparator:= ":";
...........
...............

ThousandSeparator:= ssep;
end;


 
evvcom ©   (2004-06-20 19:39) [5]


> Подскажите пожалуйста, как мне вне зависимости от региональных
> настроек в Windows, установить:

А цель сего какова? В зависимости от цели есть разные пути решения.


 
Алексей Петухов   (2004-06-21 16:25) [6]


> А цель сего какова? В зависимости от цели есть разные пути
> решения

Цель такая: например, что-бы в DBGrid-ах числа без разделителей разрядов отображались (и обрабатывались) в не зависимости от региональных настроек и драйверов баз данных.


 
Петров Денис ©   (2004-06-21 17:03) [7]

> Алексей Петухов   (21.06.04 16:25) [6]

Ну и установи формат вывода только для грида, например, так:


(Query1.FieldByName("price") as TNumericField).DisplayFormat := "0.00";


 
Алексей Петухов   (2004-06-22 18:45) [8]

мне нужно сделать это для всех гридов, лабелей, едитов и множества других DB-компонент, в том числе и для самописных.
Для каждого, согласитесь, делать это немного утомительно.
Так-что мне нужно "ВСЕ И СРАЗУ" :-).

Вариант с переопределением значений типа ThousandSeparator - самое оно, но при использовании в ODBC драйвере MS SQL параметра Использовать региональную настройку=yes, при изменениях в региональных настройках, во время работы программы меняются и вид этих гридов, несмотря на мои переопределения, как это побороть?
Вопрос в этом.


 
evvcom ©   (2004-06-22 20:35) [9]

Вот чем больше будет таких программ, меняющих глобальные настройки, тем глючнее будут работать программы на этом компьютере. Выбрасывать такие программы надо! Не раздумывая, а по сему и самому не писать такого.



Страницы: 1 вся ветка

Текущий архив: 2004.08.01;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.027 c
1-1089893368
voe
2004-07-15 16:09
2004.08.01
TDateTimePicker


1-1090411114
BillyJeans
2004-07-21 15:58
2004.08.01
Совместимость 7 и 5 версии Delphi...


9-1080866934
vitas2
2004-04-02 04:48
2004.08.01
и я тогда покажу


4-1087494991
miwa
2004-06-17 21:56
2004.08.01
SHFileOperation - Cannot read from the source file or disk


1-1089847742
_Demik_
2004-07-15 03:29
2004.08.01
-= MainMenu =-