Delphide dile özgü bölgesel ayarları (regional settings) gösteren değişkenler var. ThousandSeparator, DecimalSeparator, DateSeparator... gibi. İsterseniz programınızda bunları değiştirebiliyorsunuz. Ancak bu değerleri değiştirdiğiniz zaman, Windowsta bu değişkenlerin değeri nedir lazım olabilir. GetLocaleInfo ile Windowstaki bölgesel ayarlar alınabilir. Örnek 2 fonksiyon aşağıda :
Kod: Tümünü seç
function GetLocaleThousandSeparator: string;
var
L: Integer;
Buffer: array[0..255] of Char;
DefaultLCID: LCID;
begin
DefaultLCID := GetThreadLocale;
L := GetLocaleInfo(DefaultLCID, LOCALE_STHOUSAND, Buffer, SizeOf(Buffer));
if L > 0 then
SetString(Result, Buffer, L - 1)
else
Result := ',';
end;
function GetLocaleDecimalSeparator: string;
var
L: Integer;
Buffer: array[0..255] of Char;
DefaultLCID: LCID;
begin
DefaultLCID := GetThreadLocale;
L := GetLocaleInfo(DefaultLCID, LOCALE_SDECIMAL, Buffer, SizeOf(Buffer));
if L > 0 then
SetString(Result, Buffer, L - 1)
else
Result := '.';
end;
LOCALE_SCURRENCY, LOCALE_ICURRENCY, LOCALE_INEGCURR, LOCALE_SDECIMAL, LOCALE_ICURRDIGITS, LOCALE_STHOUSAND, LOCALE_SDATE, LOCALE_STIME ... (Devamı windows.pas'ta)
Kolay gelsin.