QuickRpt產生的報表要轉存成jpg,JPG檔內容為空白? |
尚未結案
|
crystal
一般會員 發表:2 回覆:5 積分:1 註冊:2003-07-02 發送簡訊給我 |
小妹用QuickRpt產生的報表要轉存成jpg檔的格式,但之前寫好了,使用都正常,但最近因電腦重灌後,delphi當然也就重灌,程式重新編譯後,執行都正常,但出來圖案是沒有內容的,一片空白,想請問,為什麼會這樣呢? 麻煩大家幫我,謝謝!! 我要如何處理,是不是那一個環境或元件沒有安裝… 程式的寫法如下:
procedure TForm5.Button4Click(Sender: TObject);
var BMP: TBitMap;
StoredUnits: TQRUnit;
i: integer;
StoreDir: string;
begin
StoreDir:=''; {!!! Assign folder to store here (with ending '\'), leave
blank to store in the .exe's folder}
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;
< >< >< >< >< >< >
|
kgt
高階會員 發表:17 回覆:308 積分:165 註冊:2002-03-13 發送簡訊給我 |
|
kgt
高階會員 發表:17 回覆:308 積分:165 註冊:2002-03-13 發送簡訊給我 |
|
crystal
一般會員 發表:2 回覆:5 積分:1 註冊:2003-07-02 發送簡訊給我 |
|
kgt
高階會員 發表:17 回覆:308 積分:165 註冊:2002-03-13 發送簡訊給我 |
|
kgt
高階會員 發表:17 回覆:308 積分:165 註冊:2002-03-13 發送簡訊給我 |
我已實作一個,測試無問題,請參考。
----------------------------------
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, DBTables, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, QuickRpt, QRCtrls, Mask; type TForm1 = class(TForm) DBNavigator1: TDBNavigator; DataSource1: TDataSource; Table1: TTable; DBGrid1: TDBGrid; DBImage1: TDBImage; QuickRep1: TQuickRep; Button1: TButton; TitleBand1: TQRBand; ColumnHeaderBand1: TQRBand; DetailBand1: TQRBand; Table1NAME: TStringField; Table1SIZE: TSmallintField; Table1WEIGHT: TSmallintField; Table1AREA: TStringField; Table1BMP: TBlobField; Label3: TLabel; DBEdit3: TDBEdit; Label4: TLabel; DBEdit4: TDBEdit; QRDBText1: TQRDBText; QRDBText2: TQRDBText; QRDBText3: TQRDBText; QRDBText4: TQRDBText; QRDBImage1: TQRDBImage; QRLabel2: TQRLabel; QRLabel3: TQRLabel; QRLabel4: TQRLabel; QRLabel5: TQRLabel; QRLabel6: TQRLabel; QRLabel1: TQRLabel; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var BMP: TBitMap; StoredUnits: TQRUnit; i: integer; StoreDir: string; begin // StoreDir:='C:\Program Files\Borland\Delphi6\Projects\QuickReport\'; {!!! Assign folder to store here (with ending '\'), leave blank to store in the .exe's folder} QuickRep1.Prepare; StoredUnits := QuickRep1.Units; QuickRep1.Units := Pixels; showmessage(inttostr(QuickRep1.QRPrinter.PageCount)); try for i:=1 to QuickRep1.QRPrinter.PageCount do begin BMP:=TBitMap.Create; try BMP.Width := Round(QuickRep1.Page.Width); showmessage(inttostr(BMP.Width)); BMP.Height:= Round(QuickRep1.Page.Length); showmessage(inttostr(BMP.Height)); 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; end. |
crystal
一般會員 發表:2 回覆:5 積分:1 註冊:2003-07-02 發送簡訊給我 |
|
crystal
一般會員 發表:2 回覆:5 積分:1 註冊:2003-07-02 發送簡訊給我 |
|
kgt
高階會員 發表:17 回覆:308 積分:165 註冊:2002-03-13 發送簡訊給我 |
|
crystal
一般會員 發表:2 回覆:5 積分:1 註冊:2003-07-02 發送簡訊給我 |
sorry~~現在才回覆…
有,有重新寫一個測試了,也將你寫的
var BMP: TBitMap;
StoredUnits: TQRUnit;
i: integer;
StoreDir: string;
begin
//
StoreDir:='C:\Program Files\Borland\Delphi6\Projects\QuickReport\'; {!!! Assign folder to store here (with ending '\'), leave
blank to store in the .exe's folder}
QuickRep1.Prepare;
StoredUnits := QuickRep1.Units;
QuickRep1.Units := Pixels;
showmessage(inttostr(QuickRep1.QRPrinter.PageCount));
try
for i:=1 to QuickRep1.QRPrinter.PageCount do
begin
BMP:=TBitMap.Create;
try
BMP.Width := Round(QuickRep1.Page.Width);
showmessage(inttostr(BMP.Width));
BMP.Height:= Round(QuickRep1.Page.Length);
showmessage(inttostr(BMP.Height));
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;
這段copy在我這試,還是這樣…而且QuickRep1.QRPrinter.Page也是nil,所以才會想是不是我的delphi沒灌好或是元件沒安裝好呢!!
|
kgt
高階會員 發表:17 回覆:308 積分:165 註冊:2002-03-13 發送簡訊給我 |
我這裡成功的檔案上傳給您,試試看囉
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=82276
|
crystal
一般會員 發表:2 回覆:5 積分:1 註冊:2003-07-02 發送簡訊給我 |
|
kgt
高階會員 發表:17 回覆:308 積分:165 註冊:2002-03-13 發送簡訊給我 |
hi crystal日安:
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=82535
|
ranylin
一般會員 發表:3 回覆:1 積分:0 註冊:2006-08-22 發送簡訊給我 |
|
alar2006
一般會員 發表:0 回覆:2 積分:0 註冊:2006-12-26 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |