Rave Reportta runtime edit imkanı varmı?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Rave Reportta runtime edit imkanı varmı?
Arkadaşlar Rave report kullanıyorum kullanıcıya edit imkanı verebilirmiyiz.Mesela bir tabledeki bilgileri rave reportla önizleyebiliyoruz.Ama bazı yerlerini kullanıcıya değiştirme imkanı verebilirmiyiz.Ayrıca rave reportu bir table yada database bağlamadan bir richedit yada editin içeriğini göstertebilirmiyiz.Herkese kolay gelsin.
Fast Report kullanmanı tafsiye ederim.
Kolay Gelsin...
Kolay Gelsin...
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
rave'de runtime'da rapor oluşturma
rave ile runtime'da çok esnek raporlar oluşturulabilir.customer
tablosunda müşteri raporunu oluşturalım.form1 üzerinde rave'in
rvsystem1 komponenti var.
button2, form2 üzerinde raporda görüntülenecek alanları bir
listboxa atar.kullanıcı burada hangi alanların görünmesini
istiyorsa onları seçer.
spinedit1e girilen değer düşey konumda rapor oluşturur.
spinedit2ye girilen değer başlığın fontunu ayarlar
spinedit3e girilen değer alan bilgisinin fontunu ayarlar
tablosunda müşteri raporunu oluşturalım.form1 üzerinde rave'in
rvsystem1 komponenti var.
button2, form2 üzerinde raporda görüntülenecek alanları bir
listboxa atar.kullanıcı burada hangi alanların görünmesini
istiyorsa onları seçer.
spinedit1e girilen değer düşey konumda rapor oluşturur.
spinedit2ye girilen değer başlığın fontunu ayarlar
spinedit3e girilen değer alan bilgisinin fontunu ayarlar
Kod: Tümünü seç
{rapordaki alanların başlığını oluştur}
procedure TForm1.SayfaBaslik;
var i:integer;
begin
with rvsystem1.BaseReport do begin
//raporu düşey konumunu ayarla y=2
GoToXY(0.25,strtofloat(spinedit1.Text)/5);
//başlık konumunu ayarla
ClearTabs;
SetTab(0.25, pjLeft, 1.1, 0, 0, 0);
SetTab(1.1, pjRight, 2.1, 0, 0, 0);
SetTab(2.1, pjRight, 3.1, 0, 0, 0);
SetTab(3.1, pjRight, 4.1, 0, 0, 0);
//başlıkları spinedite girilen değere göre büyüt yada küçült
SetFont('Arial',strtoint(spinedit2.Text)); //10
Bold := True;
UnderLine:=true;
for i:=0 to dbgrid1.Columns.Count-1 do
PrintTab(dbgrid1.Columns[i].FieldName);
Bold := False;
//iki satır aşağı git
NewLine;
NewLine;
UnderLine:=false;
end;
end;
{rapor ekran çıktısı}
procedure TForm1.RvSystem1Print(Sender: TObject);
var i,n:integer;
begin
n:=dbgrid1.Columns.Count-1;
//raporu tam ekran modunda göster
rvSystem1.SystemPreview.FormState:=wsMaximized;
with Sender as TBaseReport do begin
//başlık prosedürü
SayfaBaslik;
//tablo alanlarını spinedite girilen değere göre büyüt yada küçült
SetFont('Arial',strtoint(spinedit3.Text)); //10
//tablo alan bilgilerini al,son alan PrintLn ile gösterilmek zorunda
tblCustomer.First;
while not tblCustomer.Eof do begin
for i:=0 to n-1 do
Print(#9+dbgrid1.Columns.Grid.Fields[i].AsString);
PrintLn(#9+dbgrid1.Columns.Grid.Fields[n].AsString);
tblCustomer.Next;
//sayfa sonu ise yeni sayfa oluştur
if YPos > SectionBottom then begin
NewPage;
SayfaBaslik;
end;
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
rvsystem1.Execute;
end;
//runtime da alan seç
{
form2 üzerinde 1 listbox ve 2 bitbtn var
form2.ListBox1.MultiSelect:=true;
form2.ListBox1.ExtendedSelect:=false;
form2.BitBtn1.ModalResult:=mrOk;
form2.BitBtn1.Kind:=bkOk;
form2.BitBtn2.ModalResult:=mrCancel;
form2.BitBtn2.Kind:=bkCancel;
}
procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
form2.ListBox1.Clear;
for i:=0 to tblCustomer.FieldCount-1 do begin
form2.ListBox1.Items.Add(tblCustomer.Fields[i].FieldName);
form2.ListBox1.Selected[i]:=tblCustomer.Fields[i].Visible;
end;
if form2.ShowModal=mrOk then
for i:=0 to tblCustomer.FieldCount-1 do
tblCustomer.Fields[i].Visible:=form2.ListBox1.Selected[i];
end;
newmember in sorduğu guzel bir soru..sanırım cevap alamadı. ben de aynı soruyu tekrarlayayyım.. qr de mesela
gibi bir koddu rave için nasıl yapabiliriz..
kolay gelsin
Kod: Tümünü seç
qrlabel1.caption := 'Merhaba'
kolay gelsin
İnsanca.... Pek insanca....
Halen bu sorunu çözemedim.Sanırım çözümüde yok.Yani daha doğrsusu runtime edit imkanı için sanırım bir dll dosyası gerekiyor ve buda Delphi ile gelen standart sürümde yok galiba.
Ama yine de bir çözümü var ise bilen arkadaşlar yazarlarsa güzel olur.Tüm raporlarım Rave de ve aslında güzel de bir raporlama aracı ve vaz geçmek te istemiyorum.
Teşekkürler.
:bravo::bravo:
Ama yine de bir çözümü var ise bilen arkadaşlar yazarlarsa güzel olur.Tüm raporlarım Rave de ve aslında güzel de bir raporlama aracı ve vaz geçmek te istemiyorum.




Teşekkürler.
