Infopower Gridini (Twwdbgrid) Yaziciya Gondermek

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Infopower Gridini (Twwdbgrid) Yaziciya Gondermek

Mesaj gönderen fahrettin »

Fi tarihinde yazdigim bir kod... Bir Infopower gridini komple yaziciya gonderme işine yariyor....

Tahmin ediyorum ki bunun standart DBGrid i yaziciya gonderebileni daha çok derde deva olacaktir. Kodu uzun zamandir kullanmadigim icin bu konuda destek vermem zor ama ben buraya atayım dedim... Belki kendi işine de yarayacak ve vakti olan bir arkadaş da bunu DBGrid i print eder şekilde dönüştürerek umumun paylaşımına atar.

Kolay gelsin.....


Kullanımı basit yazdirmak istediginiz gridin adi ve bir de gorunmesini istediginiz bir baslik ile cagiriyorsunuz....

Kod: Tümünü seç

Grid_Rapor(TwwDBGrid1, 'Musteri Listesi');

Kod: Tümünü seç

procedure Grid_Rapor(VAR_GRID:TwwDBGrid;VAR_BASLIK:string);
var
  FRM_GRID_RAPOR:TForm;
  QRP_MASTER:TQuickRep;
  QRB_TITLE,QRB_DETAIL, QRB_SUMMARY,QRB_FOOTER:TQRBand;
  VAR_SAYAC,VAR_SOL_HIZA:Smallint;
  VAR_STRING, VAR_ALAN_ADI:string;
  VAR_ALINGMENT:TAlignment;
begin
  Application.CreateForm(TForm,FRM_GRID_RAPOR);
  FRM_GRID_RAPOR.Width:=700;
  FRM_GRID_RAPOR.Height:=800;
  QRP_MASTER:=TQuickRep.Createnew(FRM_GRID_RAPOR);
  QRP_MASTER.DataSet:=VAR_GRID.DataSource.DataSet;
  QRB_TITLE:=QRP_MASTER.CreateBand(rbTitle);
  QRB_DETAIL:=QRP_MASTER.CreateBand(rbDetail);
  QRB_SUMMARY:=QRP_MASTER.CreateBand(rbSummary);
  QRB_FOOTER:=QRP_MASTER.CreateBand(rbPageFooter);
  QRB_TITLE.Height:=100;
  QRB_DETAIL.Height:=22;
  QRB_SUMMARY.Height:=50;
  QRB_FOOTER.Height:=30;
  VAR_SOL_HIZA:=10;
  with TQRLabel.Create(QRB_TITLE) do
  begin
    Parent:=QRB_TITLE;
    Top:=20;
    Font.Name:='Times New Roman';
    Font.Size:=16;
    Font.Style:=[fsBold];
    Height:=18;
    Visible:=True;
    Caption:=VAR_BASLIK;
    Alignment:=taCenter;
    Left:=Round((QRP_MASTER.Width-Width)/2);
  end;
  for VAR_SAYAC:=0 to VAR_GRID.Selected.Count-1  do
  begin
    VAR_ALAN_ADI:=Copy(VAR_GRID.Selected[VAR_SAYAC],1,Pos(#9,VAR_GRID.Selected[VAR_SAYAC])-1);
    if VAR_GRID.DataSource.DataSet.FieldByName(VAR_ALAN_ADI).DataType in [ftSmallint, ftInteger, ftFloat,ftCurrency,ftLargeInt] then
      VAR_ALINGMENT:=taRightJustify
    else
      VAR_ALINGMENT:=taLeftJustify;
    with TQRLabel.Create(QRB_TITLE) do
    begin
      Parent:=QRB_TITLE;
      Top:=75;
      Font.Name:='Times New Roman';
      Font.Size:=8;
      Font.Style:=[fsBold];
      AutoSize:=False;
      Left:=VAR_SOL_HIZA;
      Width:=Round(VAR_GRID.ColWidths[VAR_SAYAC+1]);
      Height:=18;
      Visible:=True;
      Caption:=VAR_GRID.DataSource.DataSet.FieldByName(VAR_ALAN_ADI).DisplayLabel;
      Alignment:=VAR_ALINGMENT;
    end;
    with TQRDBText.Create(QRB_DETAIL) do
    begin
      Parent:=QRB_DETAIL;
      Top:=1;
      Font.Name:='Times New Roman';
      Font.Size:=8;
      AutoSize:=False;
      Left:=VAR_SOL_HIZA;
      Width:=Round(VAR_GRID.ColWidths[VAR_SAYAC+1]);
      Height:=18;
      Visible:=True;
      DataSet:=VAR_GRID.DataSource.DataSet;
      DataField:=VAR_ALAN_ADI;
      Alignment:=VAR_ALINGMENT;
    end;
    VAR_SOL_HIZA:=VAR_SOL_HIZA+5+Round(VAR_GRID.ColWidths[VAR_SAYAC+1]);
  end;
  QRP_MASTER.Preview;
end;
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Cevapla