放置一个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;
---------------------------------------------------------------------------------------
为什么呢?

解决方案 »

  1.   

    是打印了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行的!
      

  2.   

    insert2003(高级打字员) 兄说得很对昨天发完帖子后我把代码改了一下Printer.Canvas.TextOut(n*20,n*20,inttostr(n)+':'+inttostr(n));就很正常了,呵呵,看来这一个单位实在是太短了,不过这样也可以非常精确的控制打印了一楼的朋友,我只是要写一个套打的程序,而且要很小,用报表会不会太麻烦了