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

Вниз

Отслеживание смены форматов.   Найти похожие ветки 

 
И. Павел   (2009-04-10 09:18) [0]

Отслеживание смены форматов.

Здравствуйте. Глобальные переменные DecimalSeparator, ShortDateFormat и DateSeparator меняются каждый раз при изменении региональных и языковых настроек. Сейчас в программе отслеживаю смену DecimalSeparator, ShortDateFormat и DateSeparator в обработчике OnIdle. Все таки, насколько я понимаю, Idle используется, прежде всего, для отслеживания действий пользователя. Может быть, есть свой собственный способ, позволяющий отследить изменение этих параметров? Конечно, было бы лучше, если имелась возможность запретить менять эти переменные автоматически. Подскажите, пожалуйста, как можно отследить изменение этих переменных или запретить их автоматическую смену?


 
oldman ©   (2009-04-10 09:41) [1]

Постоянно сравнивать прошлый запомненный тобой с нынешним системным...


 
И. Павел   (2009-04-10 10:27) [2]

Спасибо.

Сейчас я так и делаю:
procedure TMainForm.Idle(Sender:TObject; var Done:Boolean);
Begin
 if DecimalSeparator<>"." then DecimalSeparator:=".";
 if DateSeparator<>"." then DateSeparator:=".";
 if ShortDateFormat<>"dd.mm.yyyy" then ShortDateFormat:="dd.mm.yyyy";
end;

Просто искал более рациональный способ, и все-таки нашел:

Application.UpdateFormatSettings := False;


 
NieL ©   (2009-04-10 10:52) [3]


> запретить их автоматическую смену?


Можно так:


var
 FFormatSettings: TFormatSettings;
begin
 GetLocaleFormatSettings(LOCALE_USER_DEFAULT, FFormatSettings);
 with FFormatSettings do
 begin
   DateSeparator := ".";
   TimeSeparator := ":";
   ShortDateFormat := "dd.mm.yyyy";
 end;


Потом при преобразовании строки указываешь формат, вот так:
 dt := StrToDateTime("01.01.2009", FFormatSettings);


 
И. Павел   (2009-04-10 11:25) [4]


> NieL ©

Спасибо.



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
15-1237717805
Юрий
2009-03-22 13:30
2009.05.24
С днем рождения ! 22 марта 2009 воскресенье


15-1236634211
Юрий
2009-03-10 00:30
2009.05.24
С днем рождения ! 10 марта 2009 вторник


15-1237464519
vajo
2009-03-19 15:08
2009.05.24
Помогите выбрать HDD


2-1239003940
dreamse
2009-04-06 11:45
2009.05.24
Отследить подключение устройства в без оконом приложении


15-1233457388
TUser
2009-02-01 06:03
2009.05.24
Асрономия в вопросах и ответах