programın bölge ve dil ayarları uyum sorunu
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
programın bölge ve dil ayarları uyum sorunu
herkese merhaba arkadaşlar. benim için ciddi siz üstadlar için belki hafif bir soru olabilir ama benim için çok ehemmiyeti var. arkadaşlar yaptığım program da cxdbcurrencyedit kullandım. sorunum şu programı açtığım zaman ki parasal noktalama değerleri sürekli değişiyor. örneğin 10,60 yazıyorum otomatik olarak bu rakam 1.060.00 oluyor denetim masasından bölge ve dil ayarlarını sıfırlayınca tekrar yazdığımda bu sefer gerçek değer olan 10,60 olarak yazabiliyorum bu sorunu nasıl aşabilirim arkadaşlar. yardımlarınız için şimdiden teşekkürler.
Soru Sorarken yazmaya Üşenmeyen Parmaklar Sorunun Çözüldükten Sonra Teşekkür etmeye de Üşenmesin.
-
- Üye
- Mesajlar: 216
- Kayıt: 10 Ara 2013 03:50
Re: programın bölge ve dil ayarları uyum sorunu
Merhaba,
Bir zamanlar benzer bir sorunu Delphi 7'de aşağıdaki gibi çözmüştüm. Fakat yeni sürümlerde nokta virgül tanımlarını FormatSettings içine taşımışlar. Her ikisini de paylaşıyorum. Kullandığın component bu ayarları kullanmıyorsa sorunun çözülecektir.
Delphi 7
XE sürümleri
Kodları uygulamanın başlangıcında veya anafomun oncreate'inde bir kez çalıştırman yeterli olacaktır. Fakat program çalıştıktan sonra bölgesel ayarlar değiştirilirse yine sorun olacağı için WM_SETTINGCHANGE olayına bağlaman daha mantıklı olur ki ben öyle yapmıştım. Windows mesajlarını yakalama konusunda bilgin olmayabilir diye onu da yazayım.
Yukarıdakine ilave olarak Anaform'unun koduna şu kodları da ekle.
Bir zamanlar benzer bir sorunu Delphi 7'de aşağıdaki gibi çözmüştüm. Fakat yeni sürümlerde nokta virgül tanımlarını FormatSettings içine taşımışlar. Her ikisini de paylaşıyorum. Kullandığın component bu ayarları kullanmıyorsa sorunun çözülecektir.
Delphi 7
Kod: Tümünü seç
procedure TForm1.FormCreate(Sender: TObject);
begin
SysUtils.DecimalSeparator := ',';
SysUtils.ThousandSeparator := '.';
end;
Kod: Tümünü seç
procedure TForm1.FormCreate(Sender: TObject);
begin
FormatSettings.DecimalSeparator := ',';
FormatSettings.ThousandSeparator := '.';
end;
Yukarıdakine ilave olarak Anaform'unun koduna şu kodları da ekle.
Kod: Tümünü seç
TForm1 = class(TForm)
...
private
procedure WMSettingChange(var Message: TMessage); message WM_SETTINGCHANGE;
...
procedure TForm1.WMSettingChange(var Message: TMessage);
begin
// yukarıda verdiğim delphi sürümüne uygun olan nokta virgül tanımlarını yaz.
... DecimalSeparator := ',';
... ThousandSeparator := '.';
end;
Re: programın bölge ve dil ayarları uyum sorunu
hocam verdiğin cevap ziyadesiyle işimi görmüştür çok teşekkürederim.
Soru Sorarken yazmaya Üşenmeyen Parmaklar Sorunun Çözüldükten Sonra Teşekkür etmeye de Üşenmesin.
Re: programın bölge ve dil ayarları uyum sorunu
Cevabınızdan yeni faydalandım, yardımlarınız için teşekkür ederim. 

God makes some people horn players - others are not so fortunate....