如何进行发票连打?有人给个实例或思路吗?分不够再加

guestroad 2003-11-18 06:33:28
如何进行发票连打?有人给个实例或思路吗?分不够再加
单独发票打印已经实现,,可是如何进行整本的发票打印哪。要连续输出。
输出要有两种形式,1,输出到普通a4纸。2,要输出到纸卷。
那位高人给个例子!!!!
急!!急!!!!
...全文
121 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
guestroad 2004-01-20
  • 打赏
  • 举报
回复
谢谢!
liboyang_bj 2004-01-19
  • 打赏
  • 举报
回复
我用代码实现,你参考一下,希望有帮助...

Function TSysPrinter_1.PrintMe: Boolean;
Var
PrnDevice, PrnDriver, PrnPort: Array[0..255] Of Char;
PrnHandle: THandle;
PrnMode: PDeviceMode;
Begin
Result:= False;

{ 设定打印参数 }
Try
Printer.GetPrinter(PrnDevice, PrnDriver, PrnPort, PrnHandle);
Except
MessageBox(Application.Handle, '无法获取系统打印机信息!', '系统信息',
MB_OK + MB_ICONERROR);
Exit;
End;

If PrnHandle = 0 Then
Begin
MessageBox(Application.Handle, '无法获取系统打印机信息!', '系统信息',
MB_OK + MB_ICONERROR);
Exit;
End
Else
Begin
PrnMode:= GlobalLock(PrnHandle);
With PrnMode^ Do
Begin
//打印份数
dmFields:= dmFields Or dmCopies;
dmCopies:= 1;

//打印方向
dmFields:= dmFields Or dmOrientation;
dmOrientation:= DMORIENT_PORTRAIT;

//纸张类型为用户自定义
dmFields:= dmFields Or dmPaperSize;
dmPaperSize:= DMPAPER_USER;

//纸宽,单位为0.1mm
dmFields:= dmFields Or dmPaperWidth;
dmPaperWidth:= PaperWid;

//纸长,单位为0.1mm
dmFields:= dmFields Or dmPaperLength;
dmPaperLength:= PaperLen;

dmFields:= dmFields Or PrnMode^.dmLogPixels;
dmLogPixels:= 300;

ResetDC(Printer.Handle, PrnMode^);
End;
End;

{ 开始打印 }
Try
Printer.Canvas.Font.Name:= SysInfo.PrnFont;
Printer.Canvas.Font.Size:= SysInfo.PrnSize;

Printer.BeginDoc;

{ 税务登记号 }
Printer.Canvas.TextOut(pstX_RegNO, pstY_RegNO, str_RegNO);

{ 收款单位 }
Printer.Canvas.TextOut(pstX_Payee, pstY_Payee, str_Payee);

{ 付款单位 }
Printer.Canvas.TextOut(pstX_Payer, pstY_Payer, str_Payer);
Printer.Canvas.TextOut(pstX_PayerID, pstY_PayerID, str_PayerID);

{ 经营项目 }
Printer.Canvas.TextOut(pstX_Item1, pstY_Item1, str_Item1);
Printer.Canvas.TextOut(pstX_Charge1, pstY_Charge1, str_Charge1);

Printer.Canvas.TextOut(pstX_Item2, pstY_Item2, str_Item2);
Printer.Canvas.TextOut(pstX_Charge2, pstY_Charge2, str_Charge2);

Printer.Canvas.TextOut(pstX_Item3, pstY_Item3, str_Item3);
Printer.Canvas.TextOut(pstX_Charge3, pstY_Charge3, str_Charge3);

Printer.Canvas.TextOut(pstX_Item4, pstY_Item4, str_Item4);
Printer.Canvas.TextOut(pstX_Charge4, pstY_Charge4, str_Charge4);

Printer.Canvas.TextOut(pstX_Item5, pstY_Item5, str_Item5);
Printer.Canvas.TextOut(pstX_Charge5, pstY_Charge5, str_Charge5);

{ 金额合计 }
Printer.Canvas.TextOut(pstX_Total, pstY_Total, str_Total);

Printer.EndDoc;
Result:= True;
Except
MessageBox(Application.Handle,
'无法处理打印信息,请确定打印机驱动程序安装正确!', '系统信息', MB_OK +
MB_ICONERROR);
Exit;
End;
End;
ekin 2003-11-18
  • 打赏
  • 举报
回复
gz
irobin 2003-11-18
  • 打赏
  • 举报
回复
程序员11期有一个类似的案例
内容概要:本文深入研究了电力系统状态估计问题,重点围绕无迹卡尔曼滤波(UKF)、自适应无迹卡尔曼滤波(AUKF)以及扩展无迹卡尔曼滤波(EUKF)三种先进非线性滤波方法展开理论析与仿真验证。通过Matlab平台实现了完整的算法架构与系统建模,系统地比较了各方法在处理电力系统非线性动态特性及噪声干扰方面的性能差异,旨在提升电压幅值、相角等关键状态变量的估计精度与鲁棒性。研究突出了算法在智能电网实时监控、故障诊断与动态调度中的应用潜力,并提供了可复现的代码支持。; 适合人群:具备电力系统析基础和Matlab编程能力的研究生、科研人员,以及从事电力自动化、智能电网状态监测与控制相关的工程技术人员。; 使用场景及目标:①掌握UKF、AUKF与EUKF在非线性状态估计中的建模流程与实现细节;②应用于电力系统实时数据融合、动态安全评估与运行优化,提升估计系统的抗噪能力与适应性;③为学术论文撰写、课题申报或工程原型开发提供算法参考与仿真基础。; 阅读建议:建议结合Matlab环境逐模块调试代码,深入理解滤波器在不同噪声水平和系统非线性程度下的响应特性,重点关注协方差自适应机制与数值稳定性处理策略,并可根据具体应用场景调整系统模型与参数配置以优化性能。
【重要提示】本资源设置为0积下载,若非0积请勿轻易下载 亲爱的CSDN用户: 首先感谢你点进这个资源页面。我需要提前说明一个重要情况: 本资源原本已设置为“0积下载”,即作者希望完全免费共享。但CSDN平台有时会根据文件的下载热度、文件大小、用户权限等因素,自动将部资源的积调整为非0数值(如1积、2积、5积等)。这是平台系统的自动行为,而非作者本人的设定。 因此,如果你当前看到该资源的下载所需积不是0(例如显示为1、2、3……),请谨慎决定是否下载。 如果你按照非0积支付并下载后发现资源内容不符合预期、链接失效,或者实际上该资源本应是免费的,作者无法为此承担积损失或退还操作。强烈建议:仅在页面显示为0积进行下载。 另外,本资源描述中并未直接提供具体的下载地址或外部链接,因为它本身是一个通过CSDN官方上传通道提交的文件/内容包。如果你看到描述中没有外部网盘地址,这是正常的——资源文件应通过CSDN内置的“下载”按钮获取。若因平台积显示异常导致你支付了积,请优先联系CSDN客服咨询积退还政策,作者没有权限修改平台自动设定的积值。 感谢你的理解与支持。技术享本应开放,但受限于平台规则,特此提醒如上。祝学习进步!
【重要提示】本资源设置为0积下载,若非0积请勿轻易下载 亲爱的CSDN用户: 首先感谢你点进这个资源页面。我需要提前说明一个重要情况: 本资源原本已设置为“0积下载”,即作者希望完全免费共享。但CSDN平台有时会根据文件的下载热度、文件大小、用户权限等因素,自动将部资源的积调整为非0数值(如1积、2积、5积等)。这是平台系统的自动行为,而非作者本人的设定。 因此,如果你当前看到该资源的下载所需积不是0(例如显示为1、2、3……),请谨慎决定是否下载。 如果你按照非0积支付并下载后发现资源内容不符合预期、链接失效,或者实际上该资源本应是免费的,作者无法为此承担积损失或退还操作。强烈建议:仅在页面显示为0积进行下载。 另外,本资源描述中并未直接提供具体的下载地址或外部链接,因为它本身是一个通过CSDN官方上传通道提交的文件/内容包。如果你看到描述中没有外部网盘地址,这是正常的——资源文件应通过CSDN内置的“下载”按钮获取。若因平台积显示异常导致你支付了积,请优先联系CSDN客服咨询积退还政策,作者没有权限修改平台自动设定的积值。 感谢你的理解与支持。技术享本应开放,但受限于平台规则,特此提醒如上。祝学习进步!

5,943

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧