rave report

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
cihan
Üye
Mesajlar: 65
Kayıt: 02 Ağu 2005 03:34

rave report

Mesaj gönderen cihan »

arkadaşlar delphi 7 den ravereportda bulunan barkod bileşeninin text özelliğine nasıl değer aktarabilirim.

not: datadan değilde form üzerindeki bir editten değer aktaracam

yardımlarınız için şimdiden teşekkür ederim
danaci
Üye
Mesajlar: 178
Kayıt: 24 May 2005 01:45

Mesaj gönderen danaci »

editin içeriğini, raporda kullandığınız table/query her ne ise ona eklersiniz.
Kullanıcı avatarı
cihan
Üye
Mesajlar: 65
Kayıt: 02 Ağu 2005 03:34

Mesaj gönderen cihan »

danaci yazdı:editin içeriğini, raporda kullandığınız table/query her ne ise ona eklersiniz.
table/query kullanmadan yapmak istiyorum yani edit deki değeri borkodun
text tine aktarmak istiyorum

teşekkürler
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

Olaya tam olarak hakim olmamakla birlikte mevcut rave bileşenleriniz arasında TrvDataSetConnection bileşeninin yanı sıra TrvCustomConnection bileşeni de olması gerekiyor. İşte bu bileşen tam olarak bu işlevi yerine getirmek için çalışmaktadır. Fakat burada onGetCols, onFirst, onEof, onGetRow, onNext olaylarına gerekli kodları yazmanız gerekmektedir. Mesela sizin örneğiniz için :

Kod: Tümünü seç

var i:Integer;

procedure TForm1.RvCustomConnection1GetCols(Connection: TRvCustomConnection);
begin
  with connection do begin
    writefield('AlanAdi1',dtstring,200,'','');{200 karakterlik sanal 1 alan oluşturulur. Bu alan sayısı daha da arttırılabilir. Tabi tipleri de.}
  end;
end;

procedure TForm1.RvCustomConnection1First(Connection: TRvCustomConnection);
begin
  i:=0;
end;

procedure TForm1.RvCustomConnection1EOF(Connection: TRvCustomConnection;
  var Eof: Boolean);
begin
  Eof:=i>=1;//1 satır yazılacak
end;


procedure TForm1.RvCustomConnection1GetRow(Connection: TRvCustomConnection);
begin
  with connection do begin
    DoGetRow;
    writestrdata('',Edit1.Text);
  end;
end;

procedure TForm1.RvCustomConnection1Next(Connection: TRvCustomConnection);
begin
  i:=i+1;
end;
gibi. Bu kodlar çok gibi görünse de mantık basit. Sanal tablo gibi çalışabilmesi için önce alanların adları ve tiplerini Rave'e onGetCols olayından bildirilir, sonra onFirst olayı ile tablo başına konumlanılır (i:=0 yaptık), daha sonra onEof ile dosya sonu olup olmadığı kontrol edilir (i>=1) ve dosya sonu değilse onGetRow ile yaptığımız alan bildirimle aynı sırada ve tipte bilgiler gönderilir. Bu işlemden sonra onNext olayı çalışır (i:=i+1) ve onEof her onNext olayından sonra tekrar çalışır. Tabi i değeri 1 olduğundan onEof olayından True değeri gidince de raporlama duracaktır. Tabi sizin için sadece onGetCols ve onGetRow olaylarına kod yazmak yarayabilir. İyi çalışmalar.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Cevapla