Rave Reportta runtime edit imkanı varmı?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Rave Reportta runtime edit imkanı varmı?

Mesaj gönderen NewMember »

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.
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Fast Report kullanmanı tafsiye ederim.

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.
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

Sanırım ücretli fast report.Free önerebileceğin bir şey varmı?
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Mesaj gönderen ikra »

makaleler kisminda rave ile ilgili güzel bir yazi yazilmis... okumani tavsiye ederim...
kıdemsiz üye
Kullanıcı avatarı
dynamo
Üye
Mesajlar: 96
Kayıt: 21 Haz 2005 02:05
Konum: istanbul

rave'de runtime'da rapor oluşturma

Mesaj gönderen dynamo »

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

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;
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

dynamo kardeş kastetiğim bu değildi.Şuydu kullanıcı raporun üzerine bir şeyler yazacak ve çıktı alacak.Teşekkürler.
Kullanıcı avatarı
berken
Üye
Mesajlar: 208
Kayıt: 07 Ara 2005 04:27
Konum: Van

Mesaj gönderen berken »

newmember in sorduğu guzel bir soru..sanırım cevap alamadı. ben de aynı soruyu tekrarlayayyım.. qr de mesela

Kod: Tümünü seç

 qrlabel1.caption := 'Merhaba'
gibi bir koddu rave için nasıl yapabiliriz..
kolay gelsin
İnsanca.... Pek insanca....
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Mesaj gönderen NewMember »

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. :D :D :D :D
Teşekkürler.:bravo::bravo::bravo:
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

@berken senin sornun cevabı burda...

http://www.nevrona.com/rave/tips/rvtip15.html
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
danaci
Üye
Mesajlar: 178
Kayıt: 24 May 2005 01:45

Mesaj gönderen danaci »

reportbuilder kullanın çok basit şekilde bunu halledebilrsiniz
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Profesyonel bir çok rapor aracında (ReportBuilder, Rave Raprt, Fast Rapor, QUick Report, vb.) gerekli tasarım bileşenini forma eklerseniz çalışma anında rapor tasarlama imkânı verir.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Cevapla