Para Türlerine Göre Raporlama (TL, DOLAR, EURO vs)

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
akuyumcu63
Üye
Mesajlar: 386
Kayıt: 02 Tem 2007 09:43

Para Türlerine Göre Raporlama (TL, DOLAR, EURO vs)

Mesaj gönderen akuyumcu63 »

merhaba;

raporlama aracı olarak FAST REPORT kullanıyorum.
programda çoklu para birimine göre rapor almak istiyorum. parasal alanlarda döviz sütununda belirtilen para birimine göre parasal alanda belirtilen para biriminin simgesinin oluşmasını istiyorum. aşağıdaki kod kullanmaya çalıştım. bir sonuç alamadım. programda bu işlemi yaptım. rapor bölümünde biraz fikre ihtiyacım var.
yapmak istediğim DÖVİZ alanındaki döviz türüne göre belirttiğim display formata göre (aşağıdaki kodda olduğu gibi) parasal alanın rapor ekranında görüntülenmesi,

Kod: Tümünü seç

procedure Page1OnBeforePrint(Sender: TfrxComponent);
begin
  if  <rpVWCariBakiyeList."DOVIZ">='TL' then
    rpVWCariBakiyeListTOPLAMBORC.DisplayFormat.FormatStr:='#,##0.00 ₺';
      
  if <rpVWCariBakiyeList."DOVIZ">='DOLAR' then
    rpVWCariBakiyeListTOPLAMBORC.DisplayFormat.FormatStr:='#,##0.00 $';
      
  if <rpVWCariBakiyeList."DOVIZ">='EURO' then
    rpVWCariBakiyeListTOPLAMBORC.DisplayFormat.FormatStr:='#,##0.00 €';    
end;
değer fikirleriniz için şimdiden teşekkür ederim.
İsteyen, yapabildiğinden daha fazlasını yapar.
Kullanıcı avatarı
m_ekici
Kıdemli Üye
Mesajlar: 563
Kayıt: 11 Haz 2003 06:49
Konum: Adana
İletişim:

Re: Para Türlerine Göre Raporlama (TL, DOLAR, EURO vs)

Mesaj gönderen m_ekici »

Problem her para birimi işaretinin ayrı ayrı çıkmaması ise;
Para birimini yazdırdığın Alanı TOPLAMBORC alanından bağımsız bir değişken olarak tanımla ve TOPLAMBORC un yanına ayrıca ekle.
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: Para Türlerine Göre Raporlama (TL, DOLAR, EURO vs)

Mesaj gönderen Lord_Ares »

Ek bir fikir olarak bu tür işlemlerde ben genelde para türü adında integer bir alan tanımlarım. Eğer para türü 1 ise dolar 2 ise eruyo şeklinde. Böylece kayıt okurken toplam borç kısmındaki rakamı direk alır ve para türü kısmına bakarım 1 ise sonuna dolar işareti eklerim.Karışıklıkları çözme açısından çok kolay oluyor. Filtreleme, sorgulama gibi işlemlerde de yararı çok var. Para türü 1 olanları ver dersem tüm dolar alış veya satışları göstermiş oluyorum. kolay gelsin..
akuyumcu63
Üye
Mesajlar: 386
Kayıt: 02 Tem 2007 09:43

Re: Para Türlerine Göre Raporlama (TL, DOLAR, EURO vs)

Mesaj gönderen akuyumcu63 »

merhaba;

değerli fikirlerinizi paylaştığınız için çok teşekkür ederim.
İsteyen, yapabildiğinden daha fazlasını yapar.
Kullanıcı avatarı
csunguray
Üye
Mesajlar: 855
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: Para Türlerine Göre Raporlama (TL, DOLAR, EURO vs)

Mesaj gönderen csunguray »

akuyumcu63 yazdı:

Kod: Tümünü seç

procedure Page1OnBeforePrint(Sender: TfrxComponent);
begin
  if  <rpVWCariBakiyeList."DOVIZ">='TL' then
    rpVWCariBakiyeListTOPLAMBORC.DisplayFormat.FormatStr:='#,##0.00 ₺';
     
  if <rpVWCariBakiyeList."DOVIZ">='DOLAR' then
    rpVWCariBakiyeListTOPLAMBORC.DisplayFormat.FormatStr:='#,##0.00 $';
     
  if <rpVWCariBakiyeList."DOVIZ">='EURO' then
    rpVWCariBakiyeListTOPLAMBORC.DisplayFormat.FormatStr:='#,##0.00 €';   
end;
yerine

Kod: Tümünü seç

var
  TutarStr: String;

procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin 
  if  <rpVWCariBakiyeList."DOVIZ"> = 'TL' 
    then TutarStr := FormatFloat(',0.00', <rpVWCariBakiyeList."TOPLAMBORC">)  + '₺';
  if  <rpVWCariBakiyeList."DOVIZ"> = 'DOLAR' 
    then TutarStr := FormatFloat(',0.00', <rpVWCariBakiyeList."TOPLAMBORC">)  + '$';
  if  <rpVWCariBakiyeList."DOVIZ"> = 'EURO' 
    then TutarStr := FormatFloat(',0.00', <rpVWCariBakiyeList."TOPLAMBORC">)  + '€';
end;  
şeklinde bir kod yazın. rpVWCariBakiyeListTOPLAMBORC içerisine de [TutarStr] yazın. Kodun sayfanın BeforPrint ine değil MasterData1 in BeforePrint ine yazıldığına dikkat edin.
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri

Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
Cevapla