| fahrettin | 03.08.2005 - 09:49:04 |
| 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.... Grid_Rapor(TwwDBGrid1, 'Musteri Listesi');
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; | |