我想问一下,我在DELPHI中调用printer打印报表,如何使它换页啊?就是我有很多数据,一页打不下,我用了printer.NewPage;程序运行时打印机虽然会换页,但后面的内容打不出来。
if (J <> 0) and ((J mod 43) = 0) then
begin
Printer.EndDoc;
Printer.BeginDoc;
printer.NewPage;
end;
我要让它打完43行后自动换一张纸接着上面的内容继续往下打。
请问要怎么写?或是用其它方法,不用控件,
if (J <> 0) and ((J mod 43) = 0) then
begin
Printer.EndDoc;
Printer.BeginDoc;
printer.NewPage;
end;
我要让它打完43行后自动换一张纸接着上面的内容继续往下打。
请问要怎么写?或是用其它方法,不用控件,
解决方案 »
- 怎么把连续的数字插入到delphi的dbgrid中
- 求助:Delphi 7 编译器 乱码问题
- 谁给我段传文件的代码,要在delphi7里的,谢谢
- 用qiuckreport做的报表的顶部20mm的内容怎样也不能显示出来的
- 一些界面编程的问题,恳请各位前辈帮帮忙
- 讨论,delphi+win98和delphi+win2000的不同
- delphi7.0报表问题,请高手指点!
- 多文档中子文档显示问题:如何使字窗体一打开就出现在主窗体中间紧挨工具栏,几积极机
- 急!请教delphi中二进制数据的问题
- 关于Express SideBar添加item的问题
- 一个简单问题,各位都进来看看
- 用两个TTable同时对一个表操作会不会有问题?
Printer.BeginDoc;
....打印
... newpage 换页
....打印
Printer.EndDoc;
Printer.Title := FPrintParam.PrintFileName;
Printer.BeginDoc;
for PageNo := StartPage to StopPage do
begin
if FAborted or Printer.Aborted then
begin
Printer.Abort;
Break;
end;
Printer.Canvas.StretchDraw(PageRect, TMetaFile(FPages[PageNo - 1]));
if PageNo <> StopPage then
Printer.NewPage;
end;
Printer.EndDoc;
我试过了,我原来写的是
if (J <> 0) and ((J mod 43) = 0) then
printer.NewPage;
但这样还是不行,打完第一张正确后虽然打印机有走纸,但出来就是空白的,
你看我后面法的那段代码,这是我以前的一个预览组件里写的,正确可用的。
First;
while not Eof do
begin
.......{打印出内容}
Next;
if (J <> 0) and ((J mod 43) = 0) then
printer.NewPage;
J:=J+1;
end;
这样就是不行。晕死了