F
fu_qi_ming
Unregistered / Unconfirmed
GUEST, unregistred user!
首先我的打印机支持打印多份。这个打印多份不用程序写吧(也就是程序上处理跟打印一份一样吗)。
可是我这样处理出了问题。每次打印2页2份可以的。而1页2份就错了,老打一份不知为何。
帮我分析分析好吗?(附程序代码)
PrintDlg := TPrintDialog.Create(Self);
PrintDlg.MinPage := 1;
PrintDlg.MaxPage := FPageCount;
PrintDlg.FromPage := 1;
PrintDlg.ToPage := FPageCount;
PrintDlg.Copies := 1;
PrintDlg.Options := [poPageNums];
try
if PrintDlg.Execute then
begin
Printer.begin
Doc;
for I := PrintDlg.FromPage to PrintDlg.ToPagedo
begin
FCurrentPage:=I;
PaintOnePage(Printer.Handle,FCurrentPage-1);
if (I < PrintDlg.ToPage) then
Printer.NewPage;
end;
Printer.EndDoc;
end;
finally
PrintDlg.Free;
end;
可是我这样处理出了问题。每次打印2页2份可以的。而1页2份就错了,老打一份不知为何。
帮我分析分析好吗?(附程序代码)
PrintDlg := TPrintDialog.Create(Self);
PrintDlg.MinPage := 1;
PrintDlg.MaxPage := FPageCount;
PrintDlg.FromPage := 1;
PrintDlg.ToPage := FPageCount;
PrintDlg.Copies := 1;
PrintDlg.Options := [poPageNums];
try
if PrintDlg.Execute then
begin
Printer.begin
Doc;
for I := PrintDlg.FromPage to PrintDlg.ToPagedo
begin
FCurrentPage:=I;
PaintOnePage(Printer.Handle,FCurrentPage-1);
if (I < PrintDlg.ToPage) then
Printer.NewPage;
end;
Printer.EndDoc;
end;
finally
PrintDlg.Free;
end;