BismillahiRahmaniRahim,
HIZLI BİR RAVE EĞİTİMİ
Delphi 7.0 ile gelen rave programında bir takım sorunlar olduğu için öncelikle bu sorunların çözümü ile başlayalım.Bu sorunları en kısa yoldan şu şekilde giderebilirsiniz :
Delphiyi kurduktan sonra denetim masasından program ekle kaldır ile delphi de ki rave kaldıracak ve sonra delphinin sitesinde update rave 5.0.8 kuracaksınız.Bu bir çok proplemi (örneğin master-detail sorununu) halledecektir.
Rave programı ile ilgili hatırlanması gereken bir iki noktayı açıklamak istiyorum.
1- Eğer uygulamalarınızda birden fazla tabloyu bir birine bağlayacaksanız her bir tablo için bir tane
Rvdatasetconnection ve bir tane query koymanız gerekir.
2- Rave programı formda bulunan ve bağlantılarını yaptığınız RvDatasetconnection üzerinden query
den alır.
3- Master – Slave ilişkisini yarattığınız sql cümleciklerinde sağlamak zorunda değilsiniz.Bunu Rave
ortamında da yapabilirsiniz.
4- Bir Rave raporunun içinde istediğiniz kadar farklı raporlar açabilirsiniz.Örneğin Muhasebede cari
işlemleri ile ilgili tüm raporları ‘cariraporları.rav’ isimli dosyasının içinde tutabilirsiniz.Bu sizin
rapor dosyaları arasında kaybolmaktan kurtarır.
5- Queryi çalıştırmadan önce RvProject.Close; RvProject.ClearRaveBlob;komutlarını çalıştırırsanız
yeni bir proje için rave hazır hale gelir.
6- Rave deki nesnelerin özelliklerine Delphi’deki nesnelerin özelliklerini object inspector de
değiştirdiğiniz gibi değiştirebilirsiniz.
Delphi programından rave programına ulaşmak ve rapor alabilmek için formun üzerine RvProject, RvSystem RvDataset -Connection, Query eklenmesi gerekiyorAyrıca rapor sonuçlarını html,pdf,rtf,txt şeklinde almak istiyorsanız aynı forma Rave sekmesinde bulunan RvrenderXXXX kompanentlerini eklemeniz gerekiyor.
Yapacağımız örneklerde kullanılmak üzre formun üzerine birer adet RvProject, RvSystem ,master isimli ve slave isimli iki query, RvSystem,iki adet RvDatasetconnection ekledim. Ayrıca raporlama sonuçlarını html olarak da olmak için bir adet RvrenderHtml komponentini forma ekledim.
Bunların bir birlerine bağlantısı şöyle:
RvProject companentinde Engine'de Rvsystem'i seçiyoruz
RvDatasetconnection1 companentine master querisini bağlıyoruz.
RvDatasetconnection2 companentine slave querisini bağlıyoruz.
Şimdi hayali bir senaryo yaratalım ve bu senaryonun raporunu alalım.İki tablomuzun olduğunu düşünelim
1.Tablo adı müştertablo
ID integer(10) auto increment
Adı varchar(10)
Soyadı varchar(10)
Telefon varchar(11)
2.Tablo adı Harekeler
ID integer(10) auto increment
Müsteri_id integer(10)
Tarih date
Belge no varchar(10)
Tutar float
1.hareket (Tekli Rapor)
Rave programında tasarıma başlamadan önce hangi tablo ile çalışacağımızı ve bu tablonun hangi alanlarını kullanacağımızı query ile bu programa bildirmemiz gerekir.Bunu yapmak için master isimli query içeriğine söyle bir sql cümleciği yazarak
Select * from müsteritablo // * yerine alanları belirtirseniz belirtilen alanlar gider.
Master query sinin active özelliğini true yaptığımızda raveye bu alan bilgisini göndermiş oluruz.
Rave programını açalım ve üzerinde WİEW yazan butonu tıklayalım.Karşımıza Data connections ekranı gelecektir. Bu ekranda Direct Data View seçildiğinde delphide eklediğimiz
RvDatasetconnection companentinin sayısına kadar seçenek gelecektir. Bizim uygulamamızda adları master ve detail olan iki query ve bunların bağlandığı iki tane RvDatasetconnection olduğu için iki seçenek gelir.Ben master queryisini RvDatasetconnection1 e bağladığım için onu seçiyoruz.
Ekranın sağ tarafında RaveProject bölümünde Data View Dictionary bölümünün altında Dataview1 olarak görülür..Yanındaki + yı tıkladığında alanların gelmesi gerekiyor.Bu alanların simgesi önemli çünkü (ABC) =string , (123) =integer, (1.2)=float alan olduğunu gösterir.
Artık rave de veri tabanımız hazır olduğuna göre tasarıma geçebiliriz. Bunun için Tool -->Simple Table seçelim.Karşına veritabanı çıkacak.Burda dikkat edilmesi gereken nokta raporları tek bir isim altında hazırlıyorsak ki rave programını en çok buna izin verdiği için seviyorum gelen database lerden doğrusunu seçmeniz gerekir.bu nedenle her raporun dataview’ine anlaşılır bir isim vermek doğru bir karar olacaktır.Bizde bir tane varsayılan adı dataview1 ismiyle olduğu için bunu seçiyoruz ve devam ediyoruz
Hangi alanların rapora dahil olacağını seçtikten sonra gelen seçenekte bu alanların sırasını belirtir.Raporun başlığını ve sağdan soldan uzaklığını ayarladıktan sonra Generate diyerek buradan çıkıyoruz.
Bu raporu kayıt etmeden önce diğer raporlarıda bu dosyayı kullanarak alacağımız için dataview1’in üzerini tıklayarak adını değiştiriniz.(Örneğimizde müsterilistesiview).Report Library kısmından + yı tıklayarak Report1 sayfasını seçerek bunun adını da değiştiriniz.(Örneğimizde müşterilistesi) Son olarak raporumuzun üst sağ köşesinde tarihi görmek istediğimizden standart sekmesinden bir text companentini üst kısma yerleştiriyoruz.Bu text in adını tarih olarak ayarladıktan sonra projemizi cariraporları ismi ile kayıt ediyoruz.
Raporumuzun tasarım kısmı hazırdır artık .Delphi ye dönüp interface altındaki uses satırına RVClass, RVProj, RVCsStd unitlerini ekleyelim.Forma bir buton koyarak on click olayına
procedure Form1.BitBtn1Click(Sender: TObject);
var
MyPage:tRavePage;//
Mytext,mytext1,mytext2:TraveText;
begin
RvProject.Close;
RvProject.ClearRaveBlob;
RvProject.ProjectFile:='C:\mysql\data\rapor\CariRaporlari.rav';//raporumuz bu dosyanın içinde
RvProject.Open;
With RvProject.ProjMan do
begin
MyPage := FindRaveComponent('müsterilistesi.MainPage',nil) as TRavePage;//dosyanın adını
//buluyoruz
MyText:= findRaveComponent('Tarih',myPage)as Travetext;//Tarih isimli text’i buluyoruz
Mytext.Text:=datetostr(date);//Tarih isimli text’e değeri atıyoruz.
Master.sql.text:='select * from müsteritablo' //yazdırılmasını istediğimiz sorguyu yazıyoruz
master.open;
end;
RvProject.ExecuteReport('müsterilistesi'); //cariraporlari.rav dosyasında ki müsterilistesi isimli
//raporu calıştırıyoruz
if Rvsystem.Aborted then
showmessage('Yazdırma iptal edildi');
Alanlarınız çok ise veya sayfa ayarını doğru yapılmamış ise yatay,dikey gibi raporda alanlar bir birine karışmış gibi gelir.Aşağıda rave’nin ortamı ile ilgili bilgilerden sonra sayfa tipini boyutunu değiştirerek bunları düzeltebilirsiniz.
2. HAREKET( Master-Detail raporlama)
Rave ile çok kompleks raporlar hazırlanabilir. Biz şimdi basit bir şekilde master – slave raporlamayı yapalım.
********** İkinci yazıda inşallah*********
Basit bir rave anlatımı -1
- Bil_Bakalım
- Üye
- Mesajlar: 61
- Kayıt: 31 Ara 2004 01:45
- Konum: İzmir
- İletişim:
başlık açmak istemedim bu update dosyasını bulamadım yardımcı olursanız sevinirim.Delphiyi kurduktan sonra denetim masasından program ekle kaldır ile delphi de ki rave kaldıracak ve sonra delphinin sitesinde update rave 5.0.8 kuracaksınız

بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR