Program açıldığında aşağıdaki gibi bir yapı ile sistem format ayarlarını güncelliyorum
Fakat başka bir program açıldığında eğer sistem ayarlarındaki parasal yada tarih saat ayarlarını değiştirir ise
benim çağırdığım rutin bir işe yaramıyor.
her formun create kısmına koysamda birşey değişmedi bunun için farklı bir yol bilen varmıdır.
Teşekkürler
İyi Çalışmalar
Kod: Tümünü seç
procedure TGlobalSettings.prc_SistemAyarlariniDuzenle;
var
Locale : LongInt;
PResult : Pointer;
dwData : Dword;
begin
Try
FormatSettings.CurrencyFormat := 3;
FormatSettings.NegCurrFormat := 8;
FormatSettings.ThousandSeparator := '.';
FormatSettings.DecimalSeparator := ',';
FormatSettings.CurrencyDecimals := 2;
FormatSettings.DateSeparator := '/';
FormatSettings.ShortDateFormat := 'dd/MM/yyyy';
FormatSettings.TimeSeparator:= ':';
FormatSettings.ShortTimeFormat := 'hh:mm';
Locale := 1055;
SetLocaleInfo(Locale, LOCALE_SSHORTDATE, PChar(FormatSettings.ShortDateFormat));
SetLocaleInfo(Locale, LOCALE_SDECIMAL, PChar(','+chr(0)));
SetLocaleInfo(Locale, LOCALE_STHOUSAND, PChar('.'+chr(0)));
SetLocaleInfo(Locale, LOCALE_SMONDECIMALSEP, PChar(','+chr(0)));
SetLocaleInfo(Locale, LOCALE_SMONTHOUSANDSEP, PChar('.'+chr(0)));
SetLocaleInfo(Locale, LOCALE_ICURRENCY, PChar('3'+chr(0)));
SendMessageCallback(HWND_BROADCAST,WM_WININICHANGE,0,0,@PResult,dwData);
except on e : exception do
;
End;
end;