Delphi Can
Fastreport nesne kontrolu ve veri yazma - Baskı Önizleme

+- Delphi Can (http://www.delphican.com)
+-- Forum: Delphi (http://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Genel Programlama (http://www.delphican.com/forumdisplay.php?fid=6)
+--- Konu Başlığı: Fastreport nesne kontrolu ve veri yazma (/showthread.php?tid=3559)



Fastreport nesne kontrolu ve veri yazma - cinarbil - 17-04-2019

İyi akşamlar.

Programda Fastreport ile çıktı alıyorum.
Dizayn işlemini müşteri de yapabiliyor.
Yanlışlıkla Dizayn da bir nesne siler veya name  değiştirirse program Access Violation hatası veriyor.
Çözümüm aşağıda bunun daha pratik çözümü olabilirmi yöntem doğrumu

 
if data_form.fast_rapor.FindObject('f_logo')<>nil then  (data_form.fast_rapor.FindObject('f_logo') as Tfrxpictureview).Picture.LoadFromFile(cal_yol + 'logonuz.bmp');

if data_form.fast_rapor.FindObject('f_logo2')<>nil then (data_form.fast_rapor.FindObject('f_logo2') as Tfrxpictureview).Picture.LoadFromFile(cal_yol + 'logonuz.bmp');

if data_form.fast_rapor.FindObject('f_dboy2')<>nil then (data_form.fast_rapor.FindObject('f_dboy2')    as Tfrxmemoview).Memo.Text := kf_disboy.Text;

şeklinde dizaynda nesneleri  kontrol ederek gönderiyorum.


Fastreport nesne kontrolu ve veri yazma - adelphiforumz - 17-04-2019

@cinarbil selamlar
Benim farklı bir önerim olacak. tabiki sizin sisteminize ne kadar uygun olur o sizin kararınız.
Benim yaptığım yöntem aşağıdaki şekilde.
1 Report Dizayn açıldığında açılmış hali Stream olarak hafızaya alınır (Fast Report sonuç olarak XML formatında bir dosyadır).
2 Form kaydet dendiğinde açılıştaki İlk Stream veri veritabanında yeni bir kayıt olarak tutulur. (Design ekranı kapana kadar sadece ilk kaydetmede sırasında uygulanır.)
3. Eğer formda bir hata varsa yada kişi isterse böylece formun ilk açılıştaki haline yada daha öncesine dönecek şekilde bir arayüz yapılabilir.


Fastreport nesne kontrolu ve veri yazma - m_ekici - 17-04-2019

Report menusunde Variables (değişken) tanıttığın bir alan var. Orada raporda dışarıdan gönderdiğin değişkeni tanımla, rapordan önce

Rapor.Report.Variables.Variables['ACIKLAMA1'] := QuotedStr(ACK1);

Olarak kullanabilirsin. (Değişken olmadığında veya unuttuğunda hata vermiyor.)

Resimleri (rapor başlığındaki logo lar olarak anladım) neden her defasında çağırıyorsun. Rapora resim olarak ekle ve kayıtlı kalsın.


Cvp: Fastreport nesne kontrolu ve veri yazma - cinarbil - 18-04-2019

(17-04-2019, Saat: 23:24)m_ekici Adlı Kullanıcıdan Alıntı: Report menusunde Variables (değişken) tanıttığın bir alan var. Orada raporda dışarıdan gönderdiğin değişkeni tanımla, rapordan önce

Rapor.Report.Variables.Variables['ACIKLAMA1'] := QuotedStr(ACK1);

Olarak kullanabilirsin. (Değişken olmadığında veya unuttuğunda hata vermiyor.)

Resimleri (rapor başlığındaki logo lar olarak anladım) neden her defasında çağırıyorsun. Rapora resim olarak ekle ve kayıtlı kalsın.

@adelphiforumz, @m_ekici bilgilendirme için teşekkür ederim.

Rapor.Report.Variables.Variables['ACIKLAMA1'] := QuotedStr(ACK1);
Bunu deneyeceğim.

" Resimleri (rapor başlığındaki logo lar olarak anladım) neden her defasında çağırıyorsun. Rapora resim olarak ekle ve kayıtlı kalsın. "
Programı farklı müşteriler kullanıyor. Logoları farklı logosu programın çalıştığı klasörde tutuluyor ihtiyaç halinde kullanılıyor