| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3262 人关注过本帖
标题:如何实现超市打印票据的逐行打印?
只看楼主 加入收藏
tvrc200379
Rank: 1
等 级:新手上路
帖 子:351
专家分:0
注 册:2004-3-30
收藏
 问题点数:0 回复次数:1 
如何实现超市打印票据的逐行打印?
如何实现超市打印票据的逐行打印? 如题,我想要源程序 你的可以发上来 也可以发到我的信箱tvrc200379@eyou.com 谢啊!
搜索更多相关主题的帖子: 票据 超市 打印 
2004-11-15 10:46
jeacy1
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-7-5
收藏
得分:0 
关于逐行打印 这里有详细案例

Jl4BpsMi.rar (324.48 KB) 如何实现超市打印票据的逐行打印?


金锐逐行打印接口套件V3.0P
--(图形模式)--

本接口套件适用于要求精确走纸、准确定位、不定长打印(如商品小票)等打印场合,
适用针式打印机,它以逐行方式打印,不但字体大小可以任意调整,还可以打印多种条码,
它不依赖于匹配的驱动程序,普通系统自带的如:LQ1600驱动,就可直接打印。

软件选择说明:
1.金锐逐行打印接口套件H (硬字库版) 打印速度快,适用自带汉字库的打印机。
2.金锐逐行打印接口套件P (图形模式) 字体大小可任意调整,适用无汉字库的打印机。
3.多能打印打印接口套件 要求精确走纸的场合,适用打印各种格式小票,如车票发票等。
以上3种套件,都支持条码打印,而且做到,既使9针打印机打印的条码也100%识别。

版权说明:本软件如作为Windows窗口使用,是完全免费的;当作为程序接口调用时,是收费的。

使用方法如下:
1.先在你的程序中,生成*.txt数据文件。
2.调用本打印接口套件“C:\King\Printer.exe C:\King\Prn.TXT *****”。这里有两个参数。
参数说明:
参数1: "C:\King\Prn.TXT" 为你在程序中生成的要打印的数据文件。
参数2: "*****"这是本套件的序列号,区分大小写。调用时一定要加上它,购买后另行通知。
你可以在windows的开始->运行 输入完整调用格式如:“C:\Printer.exe C:\Prn.TXT 1234”试试。

**详细说明**:

调用前,须预先生成要打印的文本文件,它的行标准格式为:“参数x|打印内容y|”

当参数x为当为Z时,表示走纸,此时y为走纸量;(如:Z|30|) (如:Z|-30|)反向走纸。
当参数x为BAR时,y为条码值;(如:BAR|12345678),将按所选的条码类型进行打印。
当参数x为数字时,y为要打印的行内容;(如:5|大标题)范围:0-16,15为标准字,0号最大,范围外为特大。
当忽略X,Y格式时,则按你所设定的字体大小及字样进行打印。(如:没有行格式的打印)

*关于字号和字样*
字号,指字的大小,范围:0-16,9针15号为标准字,24针13号为标准字,0号最大,16号最小,
>16都一样为特大字。24针和9针打印机,所设相同字号,但打印出的字体大小不尽相同。
字样,指字的样式,如粗体、斜体、下划线及其组合,范围:0-7,具体为:
0 Font.Style =[]; //标准
1 Font.Style =[fsBold]; //粗体
2 Font.Style =[fsItalic]; //斜体
3 Font.Style =[fsBold,fsItalic];
4 Font.Style =[fsUnderline]; //下划线
5 Font.Style =[fsBold,fsUnderline];
6 Font.Style =[fsItalic,fsUnderline];
>=7 Font.Style=[fsBold,fsItalic,fsUnderline];

*关于内定走纸量*
内定走纸量,比如一行字需要打印头走两行(两次)才能完成打印,那么就是指这两行间的
走纸间距。如果一行字出现打印间隙,说明本参数没有设置正确,应调小它;
如有重叠,说明本参数太小了,应调大它,一般24针打印机为24,9针为16,请自行调整。

*关于行间距*
这个参数对24针和9针打印机不同,如果打印重叠,说明参数值太小了,一般应为18--36之间。
一般9针可设为20 ,24针设为 36。也可以按你的需求,任意调整。

*关于9针增强*
当为9针的打印机时,钩选此项,可增强打印的精度,特别是打印小汉字和条码时效果明显。

*关于条码*
当打印内容为“BAR|12345678”样式时,可以打印条形码,本套件有20种条码样式可供选择:
Code39 长度任意,可为:数字、字母、+ - . % $ /
I25 双数长度,只能为数字。如为奇数长度则自动在前面补'0'
128c 双数长度,只能为数字。如为奇数长度则自动在前面补'0'
Codabar 长度任意,只可为:数字 和 + - . % $ /
ENA13 定长,13位,末位为检查码,不足位则自动在后面面补'0',检查码可自动成生。
ENA8 定长, 8位,末位为检查码,不足位则自动在后面面补'0',检查码可自动成生。
UPC-A 定长,12位,首位自动加'0',末位为检查码,检查码可自动成生。
--以上7种为本我们自已画的条码,经测试针式打印机打印条码效果好,识别率高。100%可识别。
而且“9针增强”和“条码高度(如1.3倍)”选项,也只对这7种条码有效。

--以下为打印机自带条码,无条码字体的打印机无效。而且条码高度不可调整,不建议使用。
Code39 A
Code39 B
Int 2of5 A
Int 2of5 B
EAN-8 A
EAN-8 B //这几种条码,经测试只能为数字,请按
ENA-13 A //有关规则使用。A型 B型都为相同条码,
ENA-13 B //A型打印条码数据,B不打印条码数据
UPC-A A
UPC-A B
UPC-E A
UPC-E B
POSTNET A
--以上共13种条码,均为打印机自带条码字体方式,如果前7种可用,则不建议使用这13种。

特别提示:单向打印方式,可以提高打印精确度,对打印出的条码效果较好。

*关于切纸*
本套件提供了13种 切纸控制 ,分为A-M型可选,请自行选择,打印完成后可自动执行切纸。
当然,你可以自己控制控制切纸,命令为CUT|1 或CUT|2 或CUT|3 ... 对应A--M型指令。

*关于开钱箱*
本套件提供了10种 开钱箱指令 ,为“Ⅰ型、Ⅱ型、Ⅲ型....”可选,请自行选择合适指令,
逐个试吧!)^^ 本套件打印完成后可自动执行开钱箱指令。

*另外说明,关于颜色切换*
有些打印机可以打印黑色和红色,如Epson的TM-U220,你可以通过命令EPSCLR0| 和EPSCLR1|
进行切换,EPSCLR0| 为黑色,EPSCLR1| 为红色。

----------------------------------------------------------------------------------
"金锐软件 让您的打印更方便" 软件制作:钟上志 于广东英德市 2006.07.5
----------------------------------------------------------------------------------

以下附例,是为方便各位软件人员而编写的,相信对大家一定有用。
--------------------------------------
附例:Delphi
//生成打印数据文件 dirname+'\prn.txt'
procedure TForm1.SaveTxt;
var F :Textfile;
begin
AssignFile(F,dirname+'\prn.txt');
try
ReWrite(F);
Writeln(F,'要打印的第一行');
Writeln(F,'要打印的第二行');
Writeln(F,'要打印的第三行');
Writeln(F,'要打印的第四行');
Writeln(F,'要打印的第五行');
//......
finally
Closefile(F);
end;
end;
/////////
---------------------------------------
//调用打印接口程序的方法
procedure TForm1.Printme;
var
sCommandLine: string;
bCreateProcess: boolean;
lpStartupInfo: TStartupInfo;
lpProcessInformation: TProcessInformation;

begin //命令行参数
sCommandLine :=dirname+'\Printer.EXE '+dirname+'\prn.txt *****';
// 填入 StartupInfo 信息
FillChar(lpStartupInfo,Sizeof(TStartupInfo),#0);
lpStartupInfo.cb := Sizeof(TStartupInfo);
lpStartupInfo.dwFlags := STARTF_USESHOWWINDOW;
lpStartupInfo.wShowWindow := SW_NORMAL;
//启动进程(调用打印接口程序)
bCreateProcess := CreateProcess(nil,PChar(sCommandLine),nil,nil,True,
CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS,nil,nil,lpStartupInfo,lpProcessInformation);
end;
-----------------------------------------
//!!!!!!!!!当然,还有一个更简单的方法可以生成txt文件,如下:
1.用一个ListBox1控件,其Visible属性设为False
ListBox1.Items.Clear;
ListBox1.Items.Add('要打印的第一行');
ListBox1.Items.Add('要打印的第二行');
//....等等
ListBox1.Items.SaveToFile(dirname+'\prn.txt');
Printme;//调用套件,开始执行打印。。OK!!!!!!!!简单吧!!!!!!!!!
//!!!!!!!!!!
-----------------------------------------
其它对你有用的说明:

本套件的好处,不是做广告!!!!!

!!!不是非要安装你打印机对应的驱动程序!!!!! ( 这样太好了!!!!!)^^
其实本套件和驱动程序没有太大的关系。它不是通过驱动程序打出来的!!!

你可以随意安装一个windows自带的驱动程序如:epson(爱普生)的1600K ,!!!!嘿,太容易了!

只要你的打印端口设置正确就好了,包括网络打印机哟!!! !!!这样太好了!!!!!!!!

!!!!!!最后,金锐软件,钟上志,祝你们好运!!!!!
------------------------------------------------------------------------------------
有缘可联系,QQ:394641110 电话:13360920277,0763-2285088 网址:http://www.kw128.com

2006-07-05 23:07
快速回复:如何实现超市打印票据的逐行打印?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021058 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved