Qreport, compositeReport add?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
hakkus
Üye
Mesajlar: 160
Kayıt: 18 Haz 2003 12:02
Konum: Konya

Qreport, compositeReport add?

Mesaj gönderen hakkus »

Merhabalar,
QuickReportta;
Composite Reportun --> OnAddReports
özelliğine eklenen aşağıdaki kod çalışırken;
//

Kod: Tümünü seç

procedure Tanafrm.QRCompositeReport2AddReports(Sender: TObject);
begin
with QRCompositeReport2.Reports do
   begin
   add(QRListForm.QuickRep1);
   add(cinsOzetFr.QuickRep1);
   add(qrOdeRap.QuickRep1);
    end;
end;
//
Bir butonun-->OnClik'ine yazılan aşağıdaki benzer kod çalışmamaktadır?
//

Kod: Tümünü seç

procedure Tanafrm.Button2Click(Sender: TObject);
begin
QRCompositeReport2.Reports.Add(QRListForm.QuickRep1);
QRCompositeReport2.Reports.Add(cinsOzetFr.QuickRep1);
QRCompositeReport2.Reports.Add(qrOdeRap.QuickRep1);
end;
//
bunun sebebi ne olabilir? Veya composite reporta dışardan add yapabilmek için nasıl bir yol izlemeliyiz?
saygılar
Kullanıcı avatarı
MicroChip
Kıdemli Üye
Mesajlar: 1119
Kayıt: 02 Ağu 2003 01:02
Konum: İstanbul
İletişim:

Mesaj gönderen MicroChip »

bende denedim olmadı bunu nasıl yapıcaz çok merak ettim bilen varmı dostlar?
Kafkas Kartalı Kabarday
Sitesi!= http://www.ahmetceylan.com
Resim
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

qr ni bu konuda demosunu inceleyin. demo programında compozite ile ilgili kullanım var.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- Selamlar.

- ComposteReport'u hiç denemedim. Sadece kendimce mantıklı gördüğüm bir metod sunmak istedim.

- QuickReport'un BeforePrint olayında bu atamayı yaptığınızda sonuç alabiliyor musunuz? (Aksi olacağını düşünmüyorum)

- Butona bastığınızda Global bir değişkene değer ataması yaparak BeforePrint olayında bu değişken değerine göre tetiklenen bir fonksiyonla, buton basınca değil de yazıcı çıktısı öncesinde bu aktarımı yaparsanız, bu işin üstesinden gelinebilir diye değerlendiriyorum.
Resim
Resim ....Resim
Kullanıcı avatarı
MicroChip
Kıdemli Üye
Mesajlar: 1119
Kayıt: 02 Ağu 2003 01:02
Konum: İstanbul
İletişim:

Mesaj gönderen MicroChip »

Vallaha ramazan abi ben arkadaşın dediği compositereportu soruyu görünce bir deneyeyim dedim. Çalışma prensibi şöyle farklı olarak hazırlanan raporları tek bir çatı altında birleştirip print dediğinizde tüm raporları yazdırıyor. Raporları da sadece
QRCompositeReport2AddReports(Sender: TObject) proceduresinde ekleyebiliyorsunuz.

Fakat böyle bir şeyi kendi uygulamamda da denedim orda da bir tablodaki kayıtları bazı değerlere göre istatistik yaptırıp sonuçlarını yazıcıdan almam gerekiyordu.
bende bunu kullanabilirmiyim dedim ama olmadı.
yani kendi hazırladığım bir raporu ki bu rapor her kayıt için tekrar yazdırılıyor işte bunu çatı altında toplayamadım. toplayamadığım içinde preview de tüm sayfları göremiyorum. istatistik için bir veritabanı da tutamıyorum çünkü alan sayısı aşırı fazla :))

mesela tek kayıt raporu aldığımda
hesapla;
raporyaz;
rapor1.preview; dediğimde tek sayfa

hepsini görmek istediğimde
while not table.eof
hesapla;
raporyaz;
qrcomposite.report.add(rapor1);
table.next;
end; diyorum ama sayfalar hayatta eklenmiyor :)


ne önerebilirsiniz. Saygılar hörmetler
Kafkas Kartalı Kabarday
Sitesi!= http://www.ahmetceylan.com
Resim
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Belki bu yazacaklarim biraz haricten gazel okumak olacak belki mevcut soruna bir care de olamayabilir ama belki de olur....

Hani hepimizin basina gelir bazi zor durumları asmak icin olmadık taklalar atmak zorunda kalırız :D Nitekim Microchip'in kurdugu ama sonuc alamadigi dongu gibi vs... Bazen oyle taklalar cikar ki karsimiza ya atamayiz. Ya da atsak bile cok zorlar....

benim soyle bir prensibim var... Eger takla atma isini daha erken baslatabilirsem mesela isin veritabanı tarafinda. Belki bir Stored Proıcedure yazarak belki veritabanı tasarımını daha uygun tasarlayarak... Erken kalkan yol alir misali bakmisim ki Delphi tarafinda takla atmaya gerek bile kalmamıs... Ya da kolay bir cozum bulunmus. En kompleks raporları veritabanı tarafinda bir SP ile cozmek genelde delphi tarafinda cozmeye calismadan hem daha az kod ile olur hem de daha performanslı calisir....

Boyle bir bakis acisini da degerlendirelim istedim.

Kolay gelsin.....
Kullanıcı avatarı
MicroChip
Kıdemli Üye
Mesajlar: 1119
Kayıt: 02 Ağu 2003 01:02
Konum: İstanbul
İletişim:

Mesaj gönderen MicroChip »

:)
valla Fahrettin abi takla atmak zorunda kaldım bende ama yazıcıya göndereceğim istatistik labellar (alan sayısı ) o kadar fazlaki bunu tabloda tutmaya kalksam sanırım 5-6 ya bölmem lazım o tabloyu :)
Kafkas Kartalı Kabarday
Sitesi!= http://www.ahmetceylan.com
Resim
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

:)
Allah kolaylik versin o zaman.... Eger konuyu detayli izah etmek isterseniz belki tablo konusunda farkli bir fikir cikabilir. Ya da farkli bir bakis acisi...
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

MicroChip kardeş sanırım olayı hatalı kurgulamışsın:) çünkü qr compozite rapor demek her bir raporu ayrı ayrı düzenleyip QRCompositeReport bileşenine eklemek ve ondan sonra QRCompositeReport.Preview demek.

qr nin kendi örneğinden

Kod: Tümünü seç

  with QRCompositeReport1.Reports do
  begin
    Add(frmMasterDetail.QuickRep1);
    Add(frmBasicMD.QuickRep1);
    Add(frmImageRpt.QuickRep1);
    Preview;
  end;
Not: Bütün raporlar tek olarak da çalışıyor olmalı.
kolay gelsin.
Kullanıcı avatarı
MicroChip
Kıdemli Üye
Mesajlar: 1119
Kayıt: 02 Ağu 2003 01:02
Konum: İstanbul
İletişim:

Mesaj gönderen MicroChip »

Tamam işte Ramazan abi senin dediğin olay yanlış bir kurgulama yok :)
ama anlatış tarzım kötü oldu sanırım :)

bakın ne demişim:
"Vallaha ramazan abi ben arkadaşın dediği compositereportu soruyu görünce bir deneyeyim dedim. Çalışma prensibi şöyle farklı olarak hazırlanan raporları tek bir çatı altında birleştirip print dediğinizde tüm raporları yazdırıyor. Raporları da sadece
QRCompositeReport2AddReports(Sender: TObject) proceduresinde ekleyebiliyorsunuz. "

yani dış bir butondan veya kontrolden compositeye ekleme yapılamıyor.
Eğer yapılabilse :) kurduğum döngü içerisinde raporları runtime anında create ederek compositeye öyle ekleyecektim :)
neyse
Kafkas Kartalı Kabarday
Sitesi!= http://www.ahmetceylan.com
Resim
Cevapla