粘一点代码,参考一下,我也是个外行,以前做过但掌握的不好:(
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;