Form'dan FastReporta Veri Göndermek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
EmrahOzgur
Üye
Mesajlar: 19
Kayıt: 11 Tem 2010 01:38

Form'dan FastReporta Veri Göndermek

Mesaj gönderen EmrahOzgur »

Merhabalar. En basit haliyle şunu yapmak istiyorum. Formumdaki edit1 nesnesinin içerisindeki metini frxReport1 raporumdaki memo1 e yazdırmak istiyorum. Dizayn esnasında memo1 de hiçbir metin yok. Formda edit1 nesnesini dolduracak ve yazdır dediği zaman rapordaki boş olan memo1'e yazmasını istiyorum.

Formdaki değeri rapora nasıl gönderebilirim? Bunu nasıl yapabilrim ?
Kullanıcı avatarı
quadr
Üye
Mesajlar: 69
Kayıt: 21 Haz 2003 10:12
İletişim:

Re: Form'dan FastReporta Veri Göndermek

Mesaj gönderen quadr »

form + buton + frxReport1
frxReport1 diye bir rapor nesnemiz olsun.
frxReport1 deki componentleri arayalım.türlerine bakalım.bizim türe uyanın adına bakalım ve atama yapalım.
Bunları bir butona basılınca gerçekleştirelim.

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
begin
  frxReport1.LoadFromFile(raporun yolu);
  for i := 0 to frxReport1.ComponentCount - 1 do
  begin
    if frxReport1.Components[i] is TfrxMemoView then
    if TfrxMemoView(frxReport1.Components[i]).Name = 'memo1' then
    TfrxMemoView(frxReport1.Components[i]).Text := Edit1.text;
  end;
frxReport1.ShowReport(True);
end;

Ayakkabıyı sefaletten
Çok sonraları tanıdım
Öyle ufuklarda mı olurmuş Allah'ım
Giyer giyer koşardım
Toprağın dostluğundan
Oyuncaklar yaptım çamurdan
Tenimin rengini aldım topraktan
Sen bakma esmerliğim sonradan...

http://www.tcct.us
Kullanıcı avatarı
esistem
Üye
Mesajlar: 464
Kayıt: 02 Eki 2007 11:22
İletişim:

Re: Form'dan FastReporta Veri Göndermek

Mesaj gönderen esistem »

Selam;
Yada şöyle yapın,
frxreport1 de report->variables kısmında bir varyant (değişken) tanımlayın, mesela adı "deger" olsun, daha sonra,frxreport1 events kısmında OnGetValue olayına çift tıklayıp şu kodu yazın.

Kod: Tümünü seç

IF VarName='deger' THEN Value:=edit1.text;
EmrahOzgur
Üye
Mesajlar: 19
Kayıt: 11 Tem 2010 01:38

Re: Form'dan FastReporta Veri Göndermek

Mesaj gönderen EmrahOzgur »

Sorunumu bu şekilde kolay bir biçimde çözdüm.. İlginize teşekkür ederim....
esistem yazdı:Selam;
Yada şöyle yapın,
frxreport1 de report->variables kısmında bir varyant (değişken) tanımlayın, mesela adı "deger" olsun, daha sonra,frxreport1 events kısmında OnGetValue olayına çift tıklayıp şu kodu yazın.

Kod: Tümünü seç

IF VarName='deger' THEN Value:=edit1.text;
Kullanıcı avatarı
csunguray
Üye
Mesajlar: 855
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: Form'dan FastReporta Veri Göndermek

Mesaj gönderen csunguray »

Şunu da kullanabilirsiniz:

Kod: Tümünü seç

function TForm1.SetFRMemo(Report1: TfrxReport; MemoName: string; StrValue: string): Boolean;
var
  Memo1: TfrxMemoView;
begin
  Result := False;
  Memo1 := TfrxMemoView(Report1.FindObject(MemoName));
  if Memo1 <> nil then
  begin
    Memo1.Memo.Text := StrValue;
    Result := True;
  end;
end;
Kullanımı:

Kod: Tümünü seç

procedure TForm1.ActionGosterExecute(Sender: TObject);
begin
  SetFRMemo(frxReport1, 'Memo1', Edit1.Text);
  frxReport1.ShowReport;
end;
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri

Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
Cevapla