POS printerWord文档下载推荐.docx

上传人:b****6 文档编号:20463527 上传时间:2023-01-23 格式:DOCX 页数:23 大小:31.07KB
下载 相关 举报
POS printerWord文档下载推荐.docx_第1页
第1页 / 共23页
POS printerWord文档下载推荐.docx_第2页
第2页 / 共23页
POS printerWord文档下载推荐.docx_第3页
第3页 / 共23页
POS printerWord文档下载推荐.docx_第4页
第4页 / 共23页
POS printerWord文档下载推荐.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

POS printerWord文档下载推荐.docx

《POS printerWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《POS printerWord文档下载推荐.docx(23页珍藏版)》请在冰豆网上搜索。

POS printerWord文档下载推荐.docx

Printer.Canvas.TextOut(480,130,DianFrm.Combobox2.text+'

(电费交纳单)'

);

Printer.Canvas.TextOut(100,190,'

----------------------------------------------------------------------------------------------'

Printer.Canvas.polyline([Point(100,200),Point(100,530)]);

//第一条线

Printer.Canvas.Polyline([point(210,200),point(210,530)]);

//第二条线

Printer.Canvas.Polyline([point(380,200),point(380,460)]);

//第三条线

Printer.Canvas.Polyline([point(580,200),point(580,460)]);

//第四条线

Printer.Canvas.Polyline([point(780,200),point(780,460)]);

//第五条线

Printer.Canvas.Polyline([point(980,200),point(980,460)]);

//第六条线

Printer.Canvas.Polyline([point(1180,200),point(1180,530)]);

//第七条线

Printer.Canvas.Polyline([point(1330,200),point(1330,530)]);

//最后一条线

Printer.Canvas.TextOut(100,220,'

名称 

'

Printer.Canvas.TextOut(220,220,DianFrm.Edit1.Text);

Printer.Canvas.TextOut(400,220,'

上期用电(度)'

Printer.Canvas.TextOut(600,220,'

本期用电(度)'

Printer.Canvas.TextOut(800,220,'

实际用电(度)'

Printer.Canvas.TextOut(1000,220,'

单价(度/元)'

Printer.Canvas.TextOut(1200,220,'

金额(元)'

Printer.Canvas.TextOut(100,250,'

Printer.Canvas.TextOut(100,290,'

门市'

Printer.Canvas.TextOut(220,290,DianFrm.Edit2.Text+DianFrm.Label1.caption+DianFrm.Edit3.text+DianFrm.Label2.caption+DianFrm.Edit4.text+DianFrm.Label3.Caption);

Printer.Canvas.TextOut(440,290,DianFrm.Edit5.Text);

Printer.Canvas.TextOut(640,290,DianFrm.Edit6.Text);

Printer.Canvas.TextOut(860,290,DianFrm.Edit7.Text);

Printer.Canvas.TextOut(1050,290,DianFrm.Edit8.Text);

Printer.Canvas.TextOut(1230,290,DianFrm.Edit9.Text);

Printer.Canvas.TextOut(100,320,'

Printer.Canvas.TextOut(100,360,'

住房'

Printer.Canvas.TextOut(220,360,DianFrm.Edit10.Text+DianFrm.Label4.Caption+DianFrm.Edit11.Text+DianFrm.Label5.Caption+DianFrm.Edit12.Text+DianFrm.Label6.Caption);

Printer.Canvas.TextOut(440,360,DianFrm.Edit13.Text);

Printer.Canvas.TextOut(640,360,DianFrm.Edit14.Text);

Printer.Canvas.TextOut(860,360,DianFrm.Edit15.Text);

Printer.Canvas.TextOut(1050,360,DianFrm.Edit16.Text);

Printer.Canvas.TextOut(1220,360,DianFrm.Edit17.Text);

Printer.Canvas.TextOut(100,390,'

Printer.Canvas.TextOut(100,430,'

Printer.Canvas.TextOut(220,430,DianFrm.Edit18.Text+DianFrm.Label7.Caption+DianFrm.Edit19.Text+DianFrm.Label8.Caption+DianFrm.Edit20.Text+DianFrm.Label10.Caption);

Printer.Canvas.TextOut(440,430,DianFrm.Edit21.Text);

Printer.Canvas.TextOut(640,430,DianFrm.Edit22.Text);

Printer.Canvas.TextOut(860,430,DianFrm.Edit23.Text);

Printer.Canvas.TextOut(1050,430,DianFrm.Edit24.Text);

Printer.Canvas.TextOut(1220,430,DianFrm.Edit25.Text);

Printer.Canvas.TextOut(100,460,'

Printer.Canvas.TextOut(100,500,'

合计大写'

Printer.Canvas.TextOut(220,500,DianFrm.Edit26.Text);

Printer.Canvas.TextOut(1230,500,DianFrm.Edit27.Text);

Printer.Canvas.TextOut(100,530,'

Printer.Canvas.TextOut(100,580,'

收费单位:

+DianFrm.ComboBox2.Text);

Printer.canvas.textout(580,580,'

收费员:

+DianFrm.ComboBox1.Text);

Printer.Canvas.TextOut(980,580,'

时间:

+DateTime);

Printer.EndDoc;

end;

引用

#procedure 

TForm1.ButtonPrintClick(Sender:

PText:

TextFile;

i:

integer;

Printer.Canvas.Font.Charset:

=GB2312_CHARSET;

AssignPRN(PText);

Rewrite(PText);

黑体'

writeln(Ptext,'

POS 

票据'

品名 

单价 

数量 

小计'

For 

=1 

to 

ADODataSetPJ.RecordCount 

do

writeln(Ptext,ADODataSetPJ.FieldByName('

pm'

).asString+

ADODataSetPJ.FieldByName('

dj'

sl'

hj'

).asString);

CloseFile(Ptext);

改进一下就可以了

/////////////////////////////

////////////////////////////

delphi快速打印小票的程序源码

原理:

直接对“LPT1”端口进行输出,使用此种方式打印速度是最快的。

对文本文件进行写操作,当文本文件的文件名为“LPT”或“COM”等保留字里,即是对指定端口写。

源代码截自“吉胜超市POS”

my:

='

lpt1'

filehandle:

=fileopen(my,fmopenwrite);

fileclose(filehandle);

iffilehandle<

0then

begin

messagebox(handle,'

lpt1错误'

'

错误'

mb_iconerror);

exit;

end

else

assignfile(tf,my);

rewrite(tf);

writeln(tf,chr(27)+chr(112)+chr(0)+chr(18)+chr(22));

withquery1do

SQL.Clear;

SQL.Add('

select企业名称from企业档案'

close;

open;

writeln(tf,'

+query1.fieldbyname('

企业名称'

).AsString);

ifstrtofloat(label6.Caption)<

+'

退货单'

销售单'

流水号:

'

+form1.StatusBar1.Panels[1].Text);

销售日期:

+datetimetostr(now));

收款员:

+form1.StatusBar1.Panels[3].Text);

--------------------------------'

商品编码'

数量'

单价'

金额'

fora:

=1toform1.StringGrid1.RowCount-2do

writeln(tf,form1.StringGrid1.Cells[2,a]);

writeln(tf,form1.StringGrid1.Cells[1,a]+'

+form1.StringGrid1.Cells[5,a]+'

+form1.StringGrid1.Cells[4,a]+'

+form1.StringGrid1.Cells[6,a]);

合计金额:

+Label8.Caption);

找零金额:

+label9.Caption);

谢谢惠顾,欢迎下次光临'

请妥善保管您的电脑小票'

closefile(tf);

//////////////////////////////////

/////////////////////////////////

票据打印的最快驱动

sql.Clear;

sql.Add('

/////////////////////////////////////

提供一个函数,它可以直接发送数据到打印机

uses 

SysUtils, 

Printers, 

WinSpool;

function 

SendDataToPrinter(sDeviceName, 

sDocName, 

sData:

String):

Boolean;

bResult 

:

hPrinter 

Cardinal;

tDocInfo 

_DOC_INFO_1A;

iWrited 

OpenPrinter(PChar(sDeviceName), 

hPrinter, 

nil);

if 

then

begin

tDocInfo.pDocName 

PChar(sDocName);

tDocInfo.pOutputFile 

nil;

tDocInfo.pDatatype 

StartDocPrinter(hPrinter, 

1, 

@tDocInfo) 

<

>

0;

StartPagePrinter(hPrinter);

and 

WritePrinter(hPrinter, 

@sData[1], 

Length(sData), 

iWrited);

EndPagePrinter(hPrinter);

EndDocPrinter(hPrinter);

end;

ClosePrinter(hPrinter);

Result 

bResult;

......

SendDataToPrinter('

打印机名称'

 

Test'

#28'

&

#28#38'

测试'

#28#46);

......

///////////////////////

//////////////////////////

Delphi中票据凭证的精确打印

一、概述 

  在银行,税务,邮政等行业的实际工作中,经常涉及到在印刷好具有固定格式的汇款单,储蓄凭证,税票等单据上的确定位置打印输出相关的信息。

在此类需求中,精确地定位单据并打印相关信息,是解决问题]的

XX推广

一、概述

在此类需求中,精确地定位单据并打印相关信息,是解决问题]的关键。

一般情况下,开发者都是通过在打印机上通过重复的测试来达到实际需求。

那么,有没有简单有效而又灵活的方法实现上述功能呢?

  二、基本思路

  分析上述单据的特征,可以发现:

此类打印输出的信息一般比较简短,不涉及到文字过长的折行处理,另外,其打印输出的位置相对固定。

因此,我们可以通过用尺子以毫米为单位,测量好每个输出信息位置的横向和纵向坐标,作为信息输出的位置。

但由于不同打印机在实际输出效果上,总是存在理论和实际位置的偏差,因此,要求程序具有一定的灵活性,供最终用户根据需要,进行必要的位置调整。

因此,可设置一打印配置文件,用于存储横坐标和纵坐标的偏移量,用于用户进行位置校正,从而提供了一定的灵活性。

  三、精确打印输出的程序实现

  1.在Delphi中新建一个名为mprint.pas的单元文件并编写如下程序,单元引用中加入Printers略:

//取得字符的高度

functionCharHeight:

Word;

 Metrics:

TTextM

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1