動態create Tprinter的問題 |
尚未結案
|
spencerkuo
一般會員 發表:21 回覆:34 積分:11 註冊:2003-08-15 發送簡訊給我 |
各位大大求救
請問
我動態create Tprinter 結果在給 canvas.textout 的時候發生error
我的程式碼如下
myprinter := Tprinter.create;
if astring.Count > 9 then
for j := 1 to myPrinter.Printers.Count do
if uppercase(myPrinter.printers[j-1])= uppercase(cdsTemp2.fieldbyname('name').asstring) then
begin
myPrinter.PrinterIndex:=j-1;
with myprinter do
begin
BeginDoc;
Canvas.Font.Name:='細明體';
Canvas.Font.size:=10;
for i := 0 to astring.Count-1 do
Canvas.TextOut(0,0 (i * Canvas.TextHeight(astring[i])),astring[i]);
EndDoc;
end;
end;
myprinter.free;
謝謝 發表人 - spencerkuo 於 2004/04/22 19:50:15
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
Printer 不用自己 create
只要 uses Printers
然後就可以用了
參考 TPrinter 的 help 中的一段: Use TPrinter to manage any printing performed by an application. Obtain an instance of TPrinter by calling the Printer function in the Printers unit.
if astring.Count > 9 then for j := 1 to Printer.Printers.Count do ...發表人 - hagar 於 2004/04/22 19:59:21 |
Chance36
版主 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
|
spencerkuo
一般會員 發表:21 回覆:34 積分:11 註冊:2003-08-15 發送簡訊給我 |
|
spencerkuo
一般會員 發表:21 回覆:34 積分:11 註冊:2003-08-15 發送簡訊給我 |
|
Chance36
版主 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
|
spencerkuo
一般會員 發表:21 回覆:34 積分:11 註冊:2003-08-15 發送簡訊給我 |
引言: spencerkuo 你好謝謝chance36 可以過了, 但是現再又有一個問題 可以看我的source, 我是用動態的資料列印到各不同的印表機 但是如果切換列印太快的話, 列印出來的字會破碎 還有如果列印太長後面列印出來的行距會越來越大 聽說這是delphi的tprinter 的bug 可否介紹幾個比較好的printer 元件用用, 因為這樣列印出來真的是到了不能接受的程度了 謝謝不好意思,改錯了 Var Str:String; y : Integer ; Begin ...... Str :=astring[i] ; // 主要是這行 y := 0 (i * Canvas.TextHeight(str));// Canvas.TextOut(0,y,Str); ..... end;發表人 - chance36 於 2004/04/22 20:21:33 |
Chance36
版主 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |