听说是用fastreport,可我装了,但是不行呀,把页面设置为自定义,但是预览时还是A4,如何定义呢?
如果一页打不完就会换到另一页,能不能连续打印?
如果一页打不完就会换到另一页,能不能连续打印?
解决方案 »
- stringgrid 怎样刷新
- QQ实现传输的原理
- 实在无聊,再散2分
- 什么控件能自动换行打印
- 小妹请教:如何用quickreport设计实现这种格式的报表??
- 谁有SkinEngine的皮肤啊,给我几个,不要自代
- 请问哪儿能找到InstallShieldExpress打包工具?
- 系统日期如何得到?
- 送分11111111
- 用treeview.savetofile和loadfromfile能不能存取各个item的属性值?还有treeview.data在savetofile和loadfromfile中怎样使用?
- Delphi中有没有支持UniCode的数据库连接控件。
- 为什么IdUDPClient.ReceiveString的值总是空的
pos机打印是专用的
用fastReport可以
美容美发的,一般都是用那咱小打印机吧。
我记得以前的一个软件用的是 dx组件,比较古老了
收银机用的打印机如IBM的,一般都有硬件商所提供的操作控件,而像IBM的打印机也可以直接对并口进行操作的.
if checkbox1.Checked then
begin
PrintLineToReceipt('北京金..........连锁店');
PrintLineToReceipt(' ');
printlineToReceipt('加盟店号:'+curshopcode+' 流水号:'+flowno);
printlineToReceipt('销售日期:'+formatdatetime('yyyy-mm-dd',now())+' 销售时间:'+formatdatetime('hh:mm:ss',now()));
printlineToreceipt('收款员编号:'+gBNUser.m_UserCode+' 收款员名称:'+gBNUser.m_UserName);
printlinetoreceipt('---------------------------------------');
printlinetoreceipt(' 产品编号 产品名称 数量 实收金额 ');
printlinetoreceipt('---------------------------------------');
for i:=1 to FrmSaleForm.m_tSaleGrid.RowCount-1 do
begin
printlinetoreceipt(FrmSaleForm.m_tSaleGrid.Cells[0,i]+' '+FrmSaleForm.m_tSaleGrid.Cells[2,i]+' '+FrmSaleForm.m_tSaleGrid.Cells[4,i]+' '+FrmSaleForm.m_tSaleGrid.Cells[7,i]);
if FrmSaleForm.m_tSaleGrid.Cells[0,i]='' then break;
end;
printlinetoreceipt('---------------------------------------');
printlinetoreceipt('应收:'+floattostr(summoney)+' 付款:'+Edit1.Text+' 找零:'+Label5.Caption);
with printer do
begin
BeginDoc;
printer.Canvas.TextOut(200,100,'北京...........店');
printer.Canvas.TextOut(200,100,' ');
printer.Canvas.TextOut(200,100,'加盟店号:'+curshopcode+' 流水号:'+flowno);
printer.Canvas.TextOut(200,100,'销售日期:'+formatdatetime('yyyy-mm-dd',now())+' 销售时间:'+formatdatetime('hh:mm:ss',now()));
printer.Canvas.TextOut(200,100,'收款员编号:'+gBNUser.m_UserCode+' 收款员名称:'+gBNUser.m_UserName);
printer.Canvas.TextOut(200,100,'---------------------------------------');
printer.Canvas.TextOut(200,100,' 产品编号 产品名称 数量 实收金额 ');
printer.Canvas.TextOut(200,100,'---------------------------------------');
for i:=1 to FrmSaleForm.m_tSaleGrid.RowCount-1 do
begin
printer.Canvas.TextOut(200,100,FrmSaleForm.m_tSaleGrid.Cells[0,i]+' '+FrmSaleForm.m_tSaleGrid.Cells[2,i]+' '+FrmSaleForm.m_tSaleGrid.Cells[4,i]+' '+FrmSaleForm.m_tSaleGrid.Cells[7,i]);
if FrmSaleForm.m_tSaleGrid.Cells[0,i]='' then break;
end;
printer.Canvas.TextOut(200,100,'---------------------------------------');
printer.Canvas.TextOut(200,100,'应收:'+floattostr(summoney)+' 付款:'+Edit1.Text+' 找零:'+Label5.Caption);
printer.EndDoc;
end;
end;这里的PrintLineToReceipt内容如下,是用来保存小票的:
procedure TFrmPay.PrintLineToReceipt(in_sPrintStr:string);
var
iResult:integer;
t:TStringlist;
begin
t:=TStringlist.Create;
t.LoadFromFile('print.txt');
t.add(in_sPrintstr);
t.SaveToFile('print.txt');
t.Free;
end;