Bölgesel ayarları nasıl değiştirebilirim ?
Bölgesel ayarları nasıl değiştirebilirim ?
Delphi ile windows'un bölgesel ayarlarını değiştirmeyi nasıl yapabilirim ?
mesela ondalık ayıracı virgül (,) yerine nokta (.) yapmak istiyorum
mesela ondalık ayıracı virgül (,) yerine nokta (.) yapmak istiyorum
SysUtils uniti içinde örnek olarakvar CurrencyString: string;
var CurrencyFormat: Byte;
var NegCurrFormat: Byte;
var ThousandSeparator: Char;
var DecimalSeparator: Char;
var CurrencyDecimals: Byte;
var DateSeparator: Char;
var ShortDateFormat: string;
var LongDateFormat: string;
var TimeSeparator: Char;
var TimeAMString: string;
var TimePMString: string;
var ShortTimeFormat: string;
var LongTimeFormat: string;
var ShortMonthNames: array[1..12] of string;
var LongMonthNames: array[1..12] of string;
var ShortDayNames: array[1..7] of string;
var LongDayNames: array[1..7] of string;
var SysLocale: TSysLocale;
var EraNames: array[1..7] of string;
var EraYearOffsets: array[1..7] of Integer;
var TwoDigitYearCenturyWindow: Word = 50;
var ListSeparator: Char;
Kod: Tümünü seç
THOUSANDSEPARATOR:='.';
DecimalSeparator:=',';
İlimle geçen bir gece,
ibadetle geçen bin geceden hayırlıdır. HZ. MUHAMMED (S.A.)
ibadetle geçen bin geceden hayırlıdır. HZ. MUHAMMED (S.A.)
Ben yukarıda yanlış anlamışım galiba
Birde kullandığınız 3.parti bir bileşen ise etkili olmayabilir belki. Bileşen üzerinde ayarları olabilir.
İlk Formunuzun onshow yordamına yazın tüm projenizde geçerli olacaktır.
Kod: Tümünü seç
THOUSANDSEPARATOR:=','; // Binlik ayrıcı
DecimalSeparator:='.'; // Ondalık ayırıcı
Birde kullandığınız 3.parti bir bileşen ise etkili olmayabilir belki. Bileşen üzerinde ayarları olabilir.
İlk Formunuzun onshow yordamına yazın tüm projenizde geçerli olacaktır.
İlimle geçen bir gece,
ibadetle geçen bin geceden hayırlıdır. HZ. MUHAMMED (S.A.)
ibadetle geçen bin geceden hayırlıdır. HZ. MUHAMMED (S.A.)
başka bir forumdan bulduğum cevap ama denemedim
/////////////////////////////////////////////////
WinExec(pchar ('rundll32.exe shell32.dll Control_RunDLL intl.cpl,,1'), 0);
yukaridaki komutla halledersin....
////////////////////////////////////////////////////
/////////////////////////////////////////////////
WinExec(pchar ('rundll32.exe shell32.dll Control_RunDLL intl.cpl,,1'), 0);
yukaridaki komutla halledersin....
////////////////////////////////////////////////////
Siz hayal edin...Biz yapalım TuannaSoft...
Bu konuda aşağıdakilere bakabilirsin.. F1 please
vs.

Kod: Tümünü seç
Application.UpdateFormatSettings := True;
GetUserDefaultLCID();
DateOrder := doDMY;
DateSeparator := '.';
DateFullYear := True;
DateLeadZero := True;
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
trsoft'un çözümünü ve rŞimsek'in çözümünü denedim ama hala aynı duruyor.
Bu arada Rşimsek gönderdiğiniz kodların sadece
Application.UpdateFormatSettings := True;
GetUserDefaultLCID();
DateSeparator := '.';
kısmını kullandım. Diğer kısımlarda 'tanımsız' diye hata veriyor. Acaba uses kısmına herhangi bir şey yazmammı gerekiyor?
tuanna'nın vermiş olduğu sonuç ise bölgesel ayarlar kısmını çalıştırıyor. Benim amacım program çalıştığında direkt olarak ayarları değiştirmesi
Bu arada Rşimsek gönderdiğiniz kodların sadece
Application.UpdateFormatSettings := True;
GetUserDefaultLCID();
DateSeparator := '.';
kısmını kullandım. Diğer kısımlarda 'tanımsız' diye hata veriyor. Acaba uses kısmına herhangi bir şey yazmammı gerekiyor?
tuanna'nın vermiş olduğu sonuç ise bölgesel ayarlar kısmını çalıştırıyor. Benim amacım program çalıştığında direkt olarak ayarları değiştirmesi
Kod: Tümünü seç
DecimalSeperator := '.'
ThousandSeperator := ',';
Kolay gelsin
Hüseyin BAHADIR