Q&A

  • quick report 에서 BMP로 저장하는 법.
이틀동안 고민했는데... 소스는 쉽군요.

QuSoft사에서 메뉴얼만 제대로 나왔어도 이렇게 헤메지는 않았을 텐데...

QuickRep1.QRPrinter.Page 속성만 알면... 코딩은 끝납니다...



{ TIP 465

Hoe bewaar ik een Quickreport als .BMP (om bv. te aan iemand te mailen die geen Delphi programma heeft om het rapport te bekijken)?



Met behulp van onderstaande code kunt u een Quickreport

opslaan als .BMP bestand. Per pagina wordt een .BMP-bestand

aangemaakt. Eventueel kunt u de .BMP bestanden nog converteren

naar .JPG bestanden om diskruimte te besparen.

http://www.assu-assist.nl/pgg/465.shtml

}



procedure TForm5.Button4Click(Sender: TObject);

var BMP: TBitMap;

StoredUnits: TQRUnit;

i: integer;

StoreDir: string;

begin

StoreDir:=''; //!!!

// EN: Assign folder to store here

//(with ending ''), leave

//blank to store in the .exe's folder

//NL: wijs hier map/directory waarin

//opgeslagen moet worden toe. Laat

//leeg om op te slaan in de directory

//waarin zich de .EXE bevindt.

QuickRep1.Prepare;

StoredUnits:=QuickRep1.Units;

QuickRep1.Units:=Pixels;

try

for i:=1 to QuickRep1.QRPrinter.PageCount do begin

BMP:=TBitMap.Create;

try

BMP.Width:=Round(QuickRep1.Page.Width);

BMP.Height:=Round(QuickRep1.Page.Length);

QuickRep1.QRPrinter.PageNumber:=i;

BMP.Canvas.Draw(0, 0, QuickRep1.QRPrinter.Page);

BMP.SaveToFile(StoreDir+'Page'+IntToStr(i)+'.bmp');

finally

BMP.Free;

end;

end;

finally

QuickRep1.Units:=StoredUnits;

end;

end;



0  COMMENTS