Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Decimal Ayraç problemi
#1
Delphi 13.1 ile ESBPCS ve Devexpress kütüphanelerinde Kayan Nokta sayılı bileşenler kullandığımda aşağıdaki sorunla karşılaşıyorum.
Decimal Ayraç nokta ya da virgül fark etmiyor, bileşenler nokta ayracını algılamıyor. 1.12 yazdığında 112 olarak yazıp geçiyor.
Bu şekilde başka problem yaşayan oldu mu?
Çözüm nedir bilgisi olan var mı?
Sorun bilgisayarda değil, başka bir PC de denendi.

Animation.gif

Sorunu şu şekilde çözdüm


procedure ConfigFormatSettings;
var
FormatSet: TFormatSettings;
begin
FormatSet                      := TFormatSettings.Create('tr-TR');
FormatSet.DecimalSeparator     := '.';
FormatSet.ThousandSeparator    := ' ';
//  FormatSet.CurrencyDecimals     := 2;
//  FormatSet.DateSeparator        := '.';
//  FormatSet.ShortDateFormat      := 'dd.mm.yyyy';
//  FormatSet.LongDateFormat       := 'dd.mm.yyyy';
//  FormatSet.TimeSeparator        := ':';
//  FormatSet.TimeAMString         := 'AM';
//  FormatSet.TimePMString         := 'PM';
//  FormatSet.ShortTimeFormat      := 'hh:nn';
//  FormatSet.LongTimeFormat       := 'hh:nn:ss';

System.SysUtils.FormatSettings   := FormatSet;
end;
SRHT
Cevapla
#2
procedure ConfigFormatSettings;
var
FormatSet: TFormatSettings;
begin
FormatSet := TFormatSettings.Create('tr-TR');
FormatSet.DecimalSeparator := '.';
System.SysUtils.FormatSettings := FormatSet;
end;

Bu kodlar uygulama çalıştığı anda sorunsuz çalışıyor ancak Delphi IDE tarafında designtime çalışırken aynı sorun burda da yaşanıyor.
INTL.CPL (Win11) ile ayarları kontrol ettim ancak bir sorun göremedim..

IDE'nin formatsetting ayarları yapılabiliyor mu?
Regeditten falan..
SRHT
Cevapla
#3
xx xx DPR file
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;

// Uygulamanın genel yapılandırmasını kalıcı olarak değiştirir.
// System SysUtils definition
FormatSettings.DecimalSeparator := ',';
FormatSettings.ThousandSeparator := '.';


//Kullanıcı Windows Denetim Masası'nda değişiklik yaparsa Delphi'nin ayarları sıfırlamasını engeller.
// vcl in specific
Application.UpdateFormatSettings := False;

Application.CreateForm(TForm1, Form1);
Application.Run;
end.
MSWindows, AndroidRAD Studio 13 Florence ve kafamda bir fikir  Tongue  
WWW
Cevapla
#4
Yaklaşık bütün uygulamalarım da Projenin DPR sinde Bölgesel ayarları standart a kavuşturmak için bunu kullanırım..


 Application.Initialize;
 Application.UpdateFormatSettings := False;
 TStyleManager.TrySetStyle('Amethyst Kamri');
 Application.Title := 'BargoX';
 FormatSettings := TFormatSettings.Create('tr-TR');
 Application.DefaultFont.Name := 'Arial';
 Application.MainFormOnTaskbar := True;
 FormatSettings.ThousandSeparator := '.';
 FormatSettings.DecimalSeparator := ',';
 FormatSettings.DateSeparator := '.';
 FormatSettings.TimeSeparator := ':';
 FormatSettings.ShortDateFormat := 'dd.mm.yyyy';
 FormatSettings.ShortTimeFormat := 'hh:mm';
 FormatSettings.LongTimeFormat := 'hh:mm';
 FormatSettings.CurrencyString := '₺';
 FormatSettings.CurrencyFormat := 1;
 FormatSettings.NegCurrFormat := 5;
 Application.UpdateFormatSettings := True;
 cxFormatController.BeginUpdate;
 cxFormatController.UseDelphiDateTimeFormats := True;
 cxFormatController.EndUpdate;
 cxFormatController.GetFormats;
 cxFormatController.NotifyListeners;
 Application.ShowMainForm := True;
 Application.CreateForm(Tdm1, dm1);
 Application.CreateForm(TForm3, Form3);
 Application.Run;

Burada kritik olan CX Componentlerinin de proje ile aynı Regional Settings e sahip olmasını sağlamak.
// Bilgi paylaştıkça çoğalır.. 

Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  ComPort komponenti problemi. enigma 3 302 17-03-2026, Saat: 18:38
Son Yorum: enigma
  Nesnelerde değişiklik yapıldığında erişim problemi nehirnnn 2 633 14-08-2024, Saat: 11:19
Son Yorum: shooterman
  DLL içerisinde FireDac Problemi tecnomaster 1 812 16-03-2024, Saat: 18:05
Son Yorum: delphi.developer
  türkçe karakter problemi delphiX14 4 1.473 27-12-2023, Saat: 10:03
Son Yorum: delphiX14
  Indy Problemi m_ekici 5 2.115 24-10-2023, Saat: 23:15
Son Yorum: m_ekici



Konuyu Okuyanlar: 1 Ziyaretçi