Printer打印问题求解
放置一个button,下面是click代码,我认为应该打印50行,但是只打了一行,只有最后一个50:50
------------------------------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var
n:integer;
begin
Printer.BeginDoc;
for n:=1 to 50 do
Printer.Canvas.TextOut(n,n,inttostr(n)+':'+inttostr(n));
Printer.EndDoc;
end;
---------------------------------------------------------------------------------------
为什么呢?
问题点数:20、回复次数:3Top
1 楼shitianj(仲)回复于 2004-09-01 17:04:04 得分 0
你为什么不用报表控件呢??那样多方便Top
2 楼insert2003(高级打字员)回复于 2004-09-01 17:17:42 得分 20
是打印了50行的,只是距离太短,可能看不出来而已,你换成:
var
n,i:integer;
begin
Printer.BeginDoc;
i := 0;
for n:=1 to 50 do
begin
Printer.Canvas.TextOut(n+i,n+i,inttostr(n)+':'+inttostr(n));
i:= i+80;
end;
Printer.EndDoc;
end;
肯定是50行的!Top
3 楼htjuw(七月)回复于 2004-09-02 14:28:10 得分 0
insert2003(高级打字员) 兄说得很对
昨天发完帖子后我把代码改了一下
Printer.Canvas.TextOut(n*20,n*20,inttostr(n)+':'+inttostr(n));
就很正常了,呵呵,看来这一个单位实在是太短了,不过这样也可以非常精确的控制打印了
一楼的朋友,我只是要写一个套打的程序,而且要很小,用报表会不会太麻烦了
Top




