我想要实现票据的套打功能.使用FASTREPORT 
首先关于打印方面的问题, 我使用如下代码
frReport1.LoadFromFile('mny.frf');  
       Report.Preview  :=  nil    
       if  Report.PrepareReport  then  
                 Report.PrintPreparedReportDlg; 
 mny.frf是我做的票据的样式,可是每次都要先出一空白的纸张后,第二章才能打印出来,不知是何原因,另外票据的收费项目这一栏根据纸张大小设定只能录入五条记录.,那么如果记录数超过五条,则一张票据就会记录不下,那么如何根据记录数来确定要打印多少个票据?另外,每一张票据都会有一个合计栏.如果数据超过五条,合计如何进行合计计算不会出错.希望各位高手能给出答复为盼.希望有源码.如果分数少了还可以再加100分为一个起点向上加.我的QQ号码是57953775.希望各位高手能给予帮助.小弟在这里先谢谢各位了.

解决方案 »

  1.   

    if not ChargeWaterfee(AID, True, APayment, APaydate, FopCollector, AInvoice) then
          begin
            ShowMessage('保存打印信息失败,请稍后再试 。');
            Result := False;
            Exit;
          end;
          RMDataSet.DataSet := mtabPrint;
          RMReport.Title    := ReportTitle + Format(',发票号:%s', [{$IFDEF DJSR}edtInvoiceNO.Text{$ELSE}edtInvoice.Text{$ENDIF DJSR}]);
          RMReport.PrepareReport;
          // 只在第一次打印时允许用户进行格式设置
          if APrintCount > 1 then
            RMReport.PrintPreparedReportDlg
          else
            if FopPreview then  // 预览
              RMReport.ShowReport
            else
              if FopShowDialog then // 显示打印对话框
                RMReport.PrintReport
              else
                RMReport.PrintPreparedReportDlg; // 直接打印
    以前写的一个小程序,或许对你有帮助。更详细的信息你可以参考我传上去我这个程序!
    http://www.delphibox.com/article.asp?articleid=478
      

  2.   

    先出白纸,可能是你在FR中的BAND拉的太大,出了纸张的灰色框拉!
      

  3.   

    借用:
    先出白纸,可能是你在FR中的BAND拉的太大,出了纸张的灰色框拉!