aşağıdaki kodla amaçlanan şey şudur. özel bir indirim yapılmamışsa "ilk toplam" yazısı "genel toplam" olacak, ve özel indirimlerin gösterildiği alanlarda gizlenecek. ancak kod beklediğim işi yapmıypr. bu yapıyı defalarca sorunsuz kullandım. Ama şimdi sonuç alamıyorum. sorun nerede. Program sorunsuz derleniyor ve çalışıyor ama raporda istediğim alanlar değişmiyor ve gizlenmiyor
var
Tmp:TfrxMemoView;
begin
frxReport1.LoadFromFile('aaa.fr3');
frxReport1.PrepareReport(True);
if Dm.TblOfrHdrOfrFinalDiscount.AsFloat<1 then
begin
Tmp := frxreport1.FindObject('Memo5') as TfrxMemoView;
Tmp.Text := 'Genel Toplam ';
Tmp := frxreport1.FindObject('Memo21') as TfrxMemoView;
Tmp.Visible:=False;
Tmp := frxreport1.FindObject('Memo24') as TfrxMemoView;
Tmp.Visible:=False;
Tmp := frxreport1.FindObject('Memo22') as TfrxMemoView;
Tmp.Visible:=False;
Tmp := frxreport1.FindObject('Memo25') as TfrxMemoView;
Tmp.Visible:=False;
end;
frxreport1.ShowPreparedReport;
PrepareReport yaptıktan sonra rapor hazırlanmış ve iş bitmiştir. Önizleme sayfaları haricinde artık bir şeyi değiştiremezsin. Böyle bir görevi FastReport içerisinden yazman daha iyi olmuş. Eğer Delphi içerisinden yapmak istiyorsan raporun OnBeforePrint özelliğini kullanman gerekir.
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/)
Cevabı yazdıktan sonra kurcalarken dediklerini farkettim ustam.
Ayrıca FR içinden kodlama konusunda sana katılıyorum. Raporun içinden kodlamak daha pratik geldi. Üstelikte programı yeniden derlemek gibi bir derdinde olmuyor... Bu fastreport ile cidden güzel işler çıkıyor inceleyince.