Delphi Can

Orjinalini görmek için tıklayınız: Sayıyı paraya çevirme
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Merhaba, 

Kullanıcı edite 150000 sayı girdiğinde editen çıktığında 150.000,00 ₺ olarak para formatına dönüştürüyorum, fatak editen çıktığında değilde ChangeTracking sırasında noktayı otomatik olarak nasıl ekleye bilirim? sürekli hatalar alıyorum.
Örnek: 150.000 olacak sonuna  ₺  işareti de gelmeyecek.



procedure TForm1.xFiyatExit(Sender: TObject);
var
  Money: Currency;
begin
  if xFiyat.Text.length > 3 then
  begin
    Money := StrToFloat(xFiyat.Text);
   xFiyat.Text := FloatToStrF(Money, ffCurrency, 6, 2);
  end;
end;
DevExpress de currency edit var . Textedit yerine onu kullanıyorum. mesela orada formatını yazıyorsunuz ona virgülden sonra kaç hane geleceğini , kullanacağınız simgeyi yazıyorsunuz. Delphi tarafında böyle bir component var mı bilmiyorum.

Mask editi bir inceleyin Telefon numarası formatlı yazdırılıyordu ama edit mask özelliğine currency tarzı birşey ekleniyor mu bilmiyorum.
ESBPCS diye component paketi var (Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol )
Ben para, IP adresi, tarih vb. gibi numerik formatlama gereken her türlü işlerim için yılladır bu firmanın bileşenlerini kullanıyorum ve bundan daha iyisinin olduğunu sanmıyorum Smile
Zaten web sitesini incelerseniz siz de göreceksiniz.

Eğer RAD Studio'yu lisanslı almışsanız, GeTT ile embarcadero sürümünü ücretsiz olarak indirebilirsiniz.
RAD Studio XE 8 den 10.2.2 Tokyo dahil denenmiştir.
Bak-O-Soft firmasının ücretsiz açık kodlu PBEditPack component kullanıyoruz.
Çok başarılı. Noktalı rakamlarla çalışma aynı alanı Text, Integer, Float olarak kullana biliyoruz.
site adresinde demo ve açık kodları var.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol

Arzu ederseniz kendinize göre özelleştirebilirsiniz.
(13-02-2018, Saat: 15:18)dilo Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhaba, 

Kullanıcı edite 150000 sayı girdiğinde editen çıktığında 150.000,00 ₺ olarak para formatına dönüştürüyorum, fatak editen çıktığında değilde ChangeTracking sırasında noktayı otomatik olarak nasıl ekleye bilirim? sürekli hatalar alıyorum.
Örnek: 150.000 olacak sonuna  ₺  işareti de gelmeyecek.



procedure TForm1.xFiyatExit(Sender: TObject);
var
  Money: Currency;
begin
  if xFiyat.Text.length > 3 then
  begin
    Money := StrToFloat(xFiyat.Text);
   xFiyat.Text := FloatToStrF(Money, ffCurrency, 6, 2);
  end;
end;

Ben query nesnelerinin display formatı ile işlem yapıyorum. Telefon için !\0(999\)000-0000;1;_ kullanıyorum
Ama dilersen bulabilirm para formatını
Yapılır Fakat change de formatlamak çok sağlıklı değil
Cevaplar için teşekkür ederim mecburen, "Edit1Exit" ile çözmek durumunda kaldım.