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
rave report
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
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 :
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.
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;
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .