FastReport dataya göre resim gösterme.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
KoPilot
Üye
Mesajlar: 185
Kayıt: 05 Eki 2007 08:02

FastReport dataya göre resim gösterme.

Mesaj gönderen KoPilot »

Merhaba;
Firebird veritabanında ki bir alana göre (ki alan string değerli) FastReport'ta bulunan bir alanda resim göstermek istiyorum.
Mesela alan değeri 'Türkiye' ise Türk bayrağı, 'ABD' ise amerikan bayrağı çıksın istiyorum.
FastReport'ta if kullanmak mümkün mü? Nasıl?
Dosyalarınızı kendi bulutunuza yedekleyin. Yandex Disk
Eyvallah..
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7586
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Re: FastReport dataya göre resim gösterme.

Mesaj gönderen mussimsek »

Eğer bayrak sayısı çok fazla ise, ilgili dataset ile direk resmi dönün ve image nesnesi ile gösterin.

Eğer sadece 2-3 bayrak varsa, hepsini ayrı ayrı image ile ekleyin. onBeforePrint olayında değeri kontrol ederek resmin görünürlüklerini ayarlayın.

Kod: Tümünü seç

  if (<ULKE> = 'TR') then                                   
    RESIM_TURKIYE.Visible := True           
  else
    RESIM_TURKIYE.Visible := False;
gibi .

Kolay gelsin.
Kullanıcı avatarı
KoPilot
Üye
Mesajlar: 185
Kayıt: 05 Eki 2007 08:02

Re: FastReport dataya göre resim gösterme.

Mesaj gönderen KoPilot »

mussimsek yazdı: 07 Oca 2019 10:35 Eğer bayrak sayısı çok fazla ise, ilgili dataset ile direk resmi dönün ve image nesnesi ile gösterin.

Eğer sadece 2-3 bayrak varsa, hepsini ayrı ayrı image ile ekleyin. onBeforePrint olayında değeri kontrol ederek resmin görünürlüklerini ayarlayın.

Kod: Tümünü seç

  if (<ULKE> = 'TR') then                                   
    RESIM_TURKIYE.Visible := True           
  else
    RESIM_TURKIYE.Visible := False;
gibi .

Kolay gelsin.

Hocam, bu onBeforePrint olayı fastreport'taki mi delphi tarafındaki mi?
fastreportta yaptım hiçbir değişiklik olmadı. İşin ilginç yanı picture nesnesinin visiblesini false yaptığım halde bütün kayıtlarda görünür olması.
picture nesnesi "Türkiye", "Almanya", "abd" farketmeden hepsinde görünür.
Dosyalarınızı kendi bulutunuza yedekleyin. Yandex Disk
Eyvallah..
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7586
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Re: FastReport dataya göre resim gösterme.

Mesaj gönderen mussimsek »

Fastreport içinde OnBeforePrint olayı. Defalarca yaptığım bir olay.

Yazdığınız kodu buraya atın, bir bakalım. Ayrıca değeri ekrana yazdırıp, bir bakın. Doğru değer mi geliyor?

Kolay gelsin.
Kullanıcı avatarı
KoPilot
Üye
Mesajlar: 185
Kayıt: 05 Eki 2007 08:02

Re: FastReport dataya göre resim gösterme.

Mesaj gönderen KoPilot »

mussimsek yazdı: 08 Oca 2019 09:22 Fastreport içinde OnBeforePrint olayı. Defalarca yaptığım bir olay.

Yazdığınız kodu buraya atın, bir bakalım. Ayrıca değeri ekrana yazdırıp, bir bakın. Doğru değer mi geliyor?

Kolay gelsin.
Hocam, yazdığım kod aşağıdaki gibi...

Kod: Tümünü seç

procedure Page1OnBeforePrint(Sender: TfrxComponent);
begin
      if (<frxStok."MENSEI"> = 'Türkiye') then
    begin
       picture1.Visible := True;     //Picture1: TfrxPictureView                                                       
       mensei.Visible := False;     //mensei: TfrxMemoView                                             
    end
  else
    begin
       picture1.Visible := False;
       mensei.Visible := True;
    end  
end;

begin          

end.
Dosyalarınızı kendi bulutunuza yedekleyin. Yandex Disk
Eyvallah..
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7586
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Re: FastReport dataya göre resim gösterme.

Mesaj gönderen mussimsek »

Kodu Page1'in değil de, picture1'in OnBeforePrint olayına alın.

Kolay gelsin.
Kullanıcı avatarı
KoPilot
Üye
Mesajlar: 185
Kayıt: 05 Eki 2007 08:02

Re: FastReport dataya göre resim gösterme.

Mesaj gönderen KoPilot »

mussimsek yazdı: 10 Oca 2019 09:01 Kodu Page1'in değil de, picture1'in OnBeforePrint olayına alın.

Kolay gelsin.
Teşekkür ederim Hocam. Çözüm sağlandı...
Dosyalarınızı kendi bulutunuza yedekleyin. Yandex Disk
Eyvallah..
Cevapla