Fastreport ile kolay yonetilebilir/guncellenebilir raporlar

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Mesaj gönderen Lost Soul »

Parametre olayı :

Vereceğim Örnekte fastreportu açtım ve Sayfanın içeriğine bir frxMEmoView yerleştirdim ve text kısmına köşeli parantez içinde Deneme yazdım

Kod: Tümünü seç

[Deneme]
köşeli parantezin içerisindeki kelime özel anlam ifade eder eğer data ya da fonksiyon değilse parametre olarak algılar ve rapor çalıştığı zaman bu paramtreye karşılık gelen bir değer ister.

raporu aaa.fr3 diye kaydettim


sonra bir form oluşturdum ve formda bir frxreport ve bir button yerleştirdim.

butonun onclik olayın aşağıdaki kodu yazdım

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
begin
aa.LoadFromFile(extractfilepath(paramstr(0))+'aaa.fr3');
aa.ShowReport();
end;

burada 'aa' frxreport nesnesine verdiğim ad. Hızlı hazırladığım için rastgele isimler verdim :D


böylece aaa.fr3 dosyasını yüklemesini sağladım.

rapor yüklenirken parametre için değer isteyecektir.
bunun için rapor nesenesiinin onGetValue olayına aşağıdaki kodu yazdım

Kod: Tümünü seç


procedure TForm1.aaGetValue(const VarName: String; var Value: Variant);
begin
if varname='Deneme' then value :='Deneme yazısı'; 
end;
burada dikkat edersen eğer VarName = 'Deneme' deyimi var .
bu [Deneme] isimli parametre için değer atamamızı sağlar.
Value:='Deneme yazısı diyerek' buraya dinamik olarak 'Deneme Yazısı' yazdırdım.
işte parametreli çalışma dediğim bu.
yukarıda verdiğim örneği Buradan indirebiirsin


Ayrıca MemoView de bir sorun yok. çünkü ben sadece bu nesneyle .ok güzel ve sükse formalr tasarladım. Sadece alışılagelmişten biraz farklı bir çalışma şekli var ;)
Aşağıdaki %80 nini frxMEmoView ile yaptığım örnek bir rapor var.
Resim

yukarıdaki resimde kalın yazılar ve ingilizce yazılar hariç geri kalan tüm yazılar ve sol üst köşedeki logo, ya veritabanından ya da parametre ile alınmıştır.

Kolay gelsin

Not : Fastreport 2 sürümünde dosya uzantısı frp iken fastreport 3 versiyonunda dosya uzantısı .fr3 tür.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Bende kalıtım diyecektim ama acaba kullanmaya gerek var mı iyi düşünmek lazım. Belki dosyayı bir kere hazırladıktan sonra kopyalayıp, ortasını değiştirmekte olabilir. Neticede sadece copy-paste ve ufak birkaç düzenleme yapacaksın.

Ben de bir süre önce Firebird ile benzer bir yapı düşündüm. Sistem henüz pratikte devreye alınmadı ama :

- Fastreport 4 kullanılacak (data tabı şart)
- Veritabanı ve SQL bağlantıları rapor içinde yapılacak. Rapor SQL ile veya sp'yi çalıştırarak raporu DB'den çekecek.
- Eğer herhangi bir kriter seçilmesi gerekiyorsa (tarih vs.) fast reportun formu ile sorulacak.

Yani herşeyi komple tek bir dosyaya kaydedip bunu göstereceksin. Bir kaç deneme yapmıştım, bence yeterince başarılı idi.

Daha sonra kullanıcı istediği gibi değiştirsin... Kullanıcı acemi ise sen değiştir gönder, adam üstüne kopyalasın : )

Kolay gelsin.
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Mesaj gönderen pro_imaj »

Merhaba;
mussimsek yazdı: Yani herşeyi komple tek bir dosyaya kaydedip bunu göstereceksin. Bir kaç deneme yapmıştım, bence yeterince başarılı idi.
Mustafa hocam eğer mümkünse şu fastreport içinden form oluşturmayla ilgili bir örnek verebilrmisiniz acaba.

Teşekkürler.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

pro_imaj yazdı:...
Mustafa hocam eğer mümkünse şu fastreport içinden form oluşturmayla ilgili bir örnek verebilrmisiniz acaba.
...
FR4 için : File -> New Dialog komutu verirsen boş bir form ekliyor ve sol tarafta EditBox, Combobox gibi bileşenler çıkıyor. Bunları formun üzerine koyup tasarımını yapıyorsun. Rapor ilk çalıştığında bu form ekrana geliyor ve kullanıcının girdiği verilere göre rapor alabiliyorsun. Gerekirse ilave kodda yazabiliyorsun, mesela ben Query'deki SQL'i kullanıcının seçimlerine göre oluşturuyorum.

Fast reportun demosunda da örnek kullanımlar var.

Kolay gelsin.
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

fastreportta dbGrid , TDataset gibi bilesenleri otomatik yazdirma gibi bir ozellik mevcut mu ?

internetten arastirdim TfrPrintGrid adli bir bilesenden bahsediyorlar ama bendeki fr4 te boyle bir bilesen goremedim...
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Mesaj gönderen pro_imaj »

mussimsek yazdı: FR4 için : File -> New Dialog komutu verirsen boş bir form ekliyor ve sol tarafta EditBox, Combobox gibi bileşenler çıkıyor. Bunları formun üzerine koyup tasarımını yapıyorsun. Rapor ilk çalıştığında bu form ekrana geliyor ve kullanıcının girdiği verilere göre rapor alabiliyorsun. Gerekirse ilave kodda yazabiliyorsun, mesela ben Query'deki SQL'i kullanıcının seçimlerine göre oluşturuyorum.

Fast reportun demosunda da örnek kullanımlar var.

Kolay gelsin.
Teşekkür Ederim Mustafa Hocam.
Almış başını gitmiş fastreport. :P
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Tamamen programınızdan bağımsız tasarım yapılabilen Fast Report Studio diye Türkçe arayüz desteği de olan bir ürün var.

http://fast-report.com/en/download/
http://fast-report.com/en/download/fast ... nload.html
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

sadettinpolat yazdı:fastreportta dbGrid , TDataset gibi bilesenleri otomatik yazdirma gibi bir ozellik mevcut mu ?

internetten arastirdim TfrPrintGrid adli bir bilesenden bahsediyorlar ama bendeki fr4 te boyle bir bilesen goremedim...
Bildiğim kadarıyla yok. Ama kendin TDataset'ten rapor üretip yazan birşeyler yazabilirsin.

DevExpress'in Printing System diye bir componenti var. Belki ilgini çekebilir :

* Bu cxGrid, RichEdit, hatta form gibi pek çok bileşeni aynen bastırabiliyor. Yani kolon ekledin çıkardın, rengini, fontunu vs. kısaca ekranda o an grid nasılsa o şekilde yazdırıyor.
* İstersen sen kendi bileşenlerini de yazdıracak şekilde link yazabiliyorsun, genişletebiliyorsun.
* Ara yüzü de M$'unkine çok benzediğinden kullanıcılar açısındn da kullanması kolay.
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

fastreportun bu tür kolayliklari saglamamasi kotu olmus. birde devexpressin raporlama aracina goz atayim.

cevaplar icin saolun..
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
iqprog

Mesaj gönderen iqprog »

benim gördüğüm fastreportta en büyük eksiklik F5 butonuna basıp da bir refresh yapamamaktı. onu da ben kaynak kodlarına kendim ekledim, üste de bir refresh butonu ekledim. böylece diyalog formu olan raporları terkar açıp diyalogtaki seçenekler değiştirerek raporu tekrar izlemek mümkün oldu.
Cevapla