Sayfa: [1]   Aşağı git
  Yazdır  
Gönderen Konu: QReport Bileşenleri ile Rapor Hazırlama  (Okunma Sayısı 1537 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
JoKeR
Rock On Roal
Administrator
*


Karma: 112
Offline Offline

Cinsiyet: Bay
Mesaj Sayısı: 1264


Üyelik Bilgileri


« : 02 Nisan 2008, 12:23:59 »




Bölüm ( Band ) yapısına dayanan rapor üretici

QReport bileşenleri ile görsel rapor tasarımı

Rapor çıktısı verme

Anında önizleme imkanı

Limitsiz Memo alanları

Limitsiz Grup sayısı

Karmaşık rapor tasarımı

İsteğe uyarlanabilir rapor tasarımı

Yazdırılabilir grafik formatları

Geliştirilmiş hesap ifadeleri

Tam yazıcı kontrolü vb.diğer özellikler...

Şimdi adım adım Rapor oluşturmaya başlayalım.Bir rapor formu en basit aşağıdaki bileşenlerden meydana gelir.

DataSet ( TTable ) elemanı

QuickReport ( TTable ile bağlantılı )

QuickReport üzerine alınan QRBand bileşeni

TQuickRep elemanının Bands özelliği altındaki HasDetail özelliğinin True yapılması

Detail bölümü üzerine yazılabilir TQRDBText elemanı

Bunları öğrendikten sonra raporumuzu hazırlamaya devam edelim.İlk önce Formumuza Data Access kısmından TTable kontrolünü yerleştirelim.Table1'in Object Inspector'ündeki DatabaseName özelliğini oluşturduğumuz aliası ( Ben liste.dbf oluşturdum.Sizde oluşturduğunuz veri tabanını seçin.) seçelim.TableName 'de veritabanının ismini seçelim.Table1'in Active özelliğini True yapalım.Sonra QReport kısmından QuickRep1 elemanın yerleştirelim ve DataSet özelliğini Table1 yapalım.Daha sonra Bands özelliğine tıklayıp HasDetail özelliğini True yapalım.Bu işlem ile form üzerine veri alanlarının yer alacağı bölümü eklemiş olduk.Şimdi bir örnek yapalım.

Örnek :Yukarıdaki işlemleri gerçekleştirdikten sonra QReport kısmından 5 adet QRDBText kontrolü alıp Details kısmına yerleştirelim ve herbir QRDBText'in Dataset özelliğini Table1 ve DataField özelliğinide liste.dbf'de bulunan sütun alanlarından birini seçelim ( Mesela ADI , SOYADI , ADRESI ).Basit bir rapor yapmış olduk.Şimdi tasarım zamanındaki raporu görebilmek için QuickRep1'in üzerindeyken Mouse'ın sağ tuşuna tıklayalım.Karşımıza bir menü çıkar.Şimdi bu menüdeki özellikleri inceleyelim.

Report Setting :Tasarım zamanı rapor ile ilgili ayarların yer aldığı pencereye ulaşılır.

Zoom in :Tasarım zamanında rapor üzerindeki bileşenler daha büyük gösterilir.

Zoom Out :Tasarım zamanında rapor üzerindeki bileşenler daha küçük gösterilir.

Rotate Band View :Rapor üzerinde yer alan bileşenlerin yerleri değiştirilir.

Hide Bands :Bu özellikle bileşenler gizlenir.

Reset :Gizlenen bölümleri tekrar gösterir.

Preview :Bu özellik ; Raporumuzun ekran görüntüsünü çıkarır.

Raporla İlgili Ayarlar

Tasarım zamanında raporla ilgili ayarların yapılabilmesi için QuickRep1 ' e sağ tıklanır.Açılan menüde Report Setting seçeneği seçilir.Açılan menüde ;

Paper Size :Kağıdın tipi belirlenir.

Length :Sayfa uzunluğu belirlenir.

Width :Sayfa genişliği belirlenir.

Margins :Kenarlarda bırakılacak boşluk miktarı belirlenir.

Column Space :Sütun genişliği belirlenir.

Number of Columns :Sütun sayısı belirlenir.

Other :Bu kısımda raporda kullanılacak font adı , büyüklüğü ve ölçü birimi ayarlanır.

Page Frame :Bu bölümde ise rapor önizleme modunda iken gözükecek çerçeveler ,çerçevenin rengi , kalınlığı ayarlanır.

Bands :Rapora eklenecek bölümler ( Band ) seçilir.

Page Header :Rapora Sayfa Başlığı verilir.

Title :Başlık girilir.

Column Header :Sütun başlıkları girilir.

Detail Band :Veri alanlarının yer aldığı bölümdür.

Page Footer :Sayfanın altında yer alan sayfa alt bilgilerini ekler.

Summary :Raporla ilgili ek açıklamaları ekler.

Çalışma Anında Rapor Önizleme

Bunun için şu işlemleri yapınız.İlk önce Formumuza bir Button ekleyin ve bu button1'in Caption özelliğine Raporla yazınız.Daha sonra butonun OnClick kısmına aşağıdaki kodu yazınız.

Procedure TForm1.RaporlaClick ( Sender : TObject ) ;

begin

QuickRep1.Preview ;

end;

Programı çalıştırıp Raporla butonuna bastığımız zaman raporumuzun ekran görüntüsü karşımıza gelir.

Not :Kayıtları direk yazıcıya göndermek istiyorsak Butonun OnClick olayına şu kodu yazacağız.

QuickRep1.Print ;

Wizard Kullanarak Rapor Hazırlama


File / New Aplication 'u seçin.

File / New menüsünden Business kısmına geçiniz.Buradan QuickReport Wizard seçeneğini seçiniz.Sonra Ok düğmesine basınız.

Çıkan pencerede Start Wizard düğmesiyle bir sonraki adıma geçelim.

Alias or Directory kutusunda bağlantı kuracağımız veritabanının bulunduğu dizini seçiyoruz.Table Name kısmınada veri tabanımızın ismini seçiyoruz.

Tablo seçildikten sonra ; tablomuzda yer alan sütunlar görülecektir.Raporda bulunmasını istediğimiz alanları belirleyip > veya hepsini seçersek >> tuşuyla sağ taraftaki listeye alalım ve bu işlemi bitirdikten sonra Finish düğmesine basalım.Böylece Wizard kullanarak otomatik olarak raporumuzu oluşturmuş bulunuyoruz.

Veri Süzmek ve Sıralamak


QuickReport ; verileri sıralayacak herhangi bir özelliğe sahip değildir.Veriler girildikleri sırada basılırlar.Veri tabanı içindeki veri alanlarının index olarak tanımlanması gerekir.Bu işlemden sonra TTable elemanının IndexName özelliği ile belirtilmesi gerekir.TQuery elemanıylada istenilen şekilde verileri süzmek mümkündür.Veri süzme birkaç şekilde yapılır.TTable.Filter özelliği bir süzme koşulu ekler.Bu sırada TTable.Filtered özelliği True olması gerekir.Diğer yol SQL kullanılarak istenilen kayıtları elde etmektir.Bir diğer seçenek ise Detail bandının PrintEvent olayını kullanmaktır.


Sayfa Büyüklüğü ve Kenar Boşluklarını Ayarlama

Bunun için QuickRep1 elemanının Page özelliğine tıklanarak açılan alt özellikler aracılığıyla rapor tasarımında kullanılacak olan sayfanın büyüklüğü ve kenar boşlukları kolay bir şekilde ayarlanır.

Not :QuickRep1'in içinde varsayılan yazı tipleri seçilebilir.bunun için Font özelliğine tıklanması gerekir.Burada font adı , tipi ,rengi fontun altı veya üstü çizili olma durumu ayarlanabilir.

Rapor Başlığı

Rapor tanımlama QuickReport'un Description özelliği ile yapılır.Bu seçeneği tıklayalım ve açılan pencereye raporla ilgili bilgileri girelim.Bir rapor başlığı TQRSysData elemanı aracılığıyla yazdırılabilir.Başlık aşağıdaki kodla oluşturulabilir.

Örnek :procedure TForm1.Button1Click(Sender :TObject ) ;

begin

with QuickRep1 do

begin

Report Title := ' Personel Bilgisi Raporu ' ;

Bands.HasTitle := True ;

with TQRSysData ( Bands.TitleBand.AddPrintable ( TQRSysData ) ) do

begin

Data := qrsReportTitle ;

AlignToBand := true ;

Aligment := taCenter ;

end ;

Preview ;

end ;

end ;

Bir Rapora Bölüm Eklemek

Bir rapora bölüm eklemek için Object Inspector penceresinden TQuickRep elemanına ait Bands özelliğine tıklamak ve çıkan alt bölümdeki özelliklerin değerini true yapmaktır.

Quick Report'ta Kullanılan Operatörler


Operatör
Açıklama

+
Toplama

-
Çıkarma

*
Çarpma

/
Bölme

( )
Parantez

And
Mantıksal And

Or
Mantıksal Or

Not
Mantıksal Not

=
Eşit

<
Küçük

>
Büyük

<=
Küçük eşit

>=
Büyük eşit

< >
Eşit değil



QuickReport Fonksiyonları

Date :Mevcut tarihi string olarak geri gönderir.Rapor üzerine QRExpr elemanı alınarak Expression özelliğine Date verilerek kullanılır.

Time :Mevcut saati stringe çevirir.Rapor üzerine QRExpr elemanı alınarak Expression özelliğine Time verilerek kullanılır.

Str ( sayı ) :Sayısal bir ifadeyi stringe çevirir.

Copy(str,s,l):Bir ifadenin içinde bulunan belli bir bölümü geri gönderir.

Rapora Sayfa Numarası ve Tarih Eklemek

Raporumuza sayfa numarası ve tarih eklemek için ; rapor üzerine QRB elemanı alarak BandType özelliğini rbPageFooter yapalım.Daha sonra QRSYSData kontrolünden iki tane alıp birincisinin Data özelliğini qrsDate ve Text özelliğine "Basım Tarihi ", ikincisinin Data özelliğini qrsPageNumber ve Text özelliğini de " Sayfa : " yapalım.Raporu Preview'e tıklayarak önizlemeye alırsak sayfanın sonunda Basım Tarihi ve Sayfa Numarasının yazılmış olduğunu görürüz.
Logged

10 Konusu Olmayan Soru Sormasın Soruları Cevaplanmayacak...

Linklerin Görülmesine Izin Verilmiyor
Linki Görebilmek Için Üye Ol veya Giris Yap
mspro
Yeni Üye
*

Karma: 0
Offline Offline

Cinsiyet: Bay
Mesaj Sayısı: 1


Üyelik Bilgileri


« Yanıtla #1 : 08 Ağustos 2008, 17:03:54 »

table kullanmadan sql kullanarak dbgridde listelediğin bilgileri nasıl print edebilirin
Logged
Sayfa: [1]   Yukarı git
  Yazdır  

 
Gitmek istediğiniz yer: