话题887750的标题是: 在delphi中如何打开POS机的钱箱? (100分)
分类:非技术问题 dana (2002-01-27 10:41:00)
客户向我提供这一串命令,可不知在delphi编程中如何调用去打开POS机的钱箱?
设定在windows下自动开钱箱功能
LPRINT CHR$(27);"|w";CHR$(45);CHR$
;
n=0 FF走纸命令时钱箱无效
n=1 钱箱1打开
n=2 钱箱2打开
taozhiyu (2002-01-27 10:42:00)
应该可以的吧!不就是在delphi中用汇编嘛!我来听课!
Chenlili (2002-01-27 12:33:00)
hehe,basic下面这是往打印机(也就是并口发指令)
找一个串口/并口的控件,然后照写不就行了?
dana (2002-01-28 16:22:00)
怎么写啊,我看不懂。
snowbird (2002-01-28 16:55:00)
如钱箱接打印口的话,
try
assignFile(mytext,'Lpt1');
buf:=chr(27)+chr(45)+chr(2);
writeln(mytext,buf);
finally
closefile(mytext);
end;
bigroom (2002-01-28 17:06:00)
基本同意楼上,输出的字串为:
buf:=chr(27)+'|w'+chr(45)+chr(2);
Oldtiger (2002-01-28 17:23:00)
不需要控件啦,用TPrinter类型就行!
dana (2002-01-30 11:12:00)
snowbird:不行啊,打不开,这是为什么?
dana (2002-01-31 17:08:00)
还是不行啊?
有谁做过啊?
wgzhou (2002-02-04 22:02:00)
to oldtiger :
How can Ido
?
wgzhou (2002-02-04 23:28:00)
error : file access deny
dana (2002-02-05 9:39:00)
对不起厂家提供的是这样,我没写全。
开 钱 箱控制命令(该命令可同时开启两个钱箱,实际操作只需开启一个)
1、PK模式驱动钱箱指令
ESC | r F9 M n1 n2
M =0 代表一个钱箱 n代表脉冲宽度 n1 =40--50 之间
M =1 代表两个钱箱 n2 =120--150之间
QBASIC下编程
LPRINT CHR$(27);"|";"r";CHR$(249);CHR$(0); CHR$(50);CHR$(150)
2、POS模式驱动钱箱指令
ESC r p M n1 n2
M =0 代表一个钱箱 n代表脉冲宽度 n1 =40--50 之间
M =1 代表两个钱箱 n2 =120--150之间
QBASIC下编程 LPRINT CHR$(27);CHR$(112);CHR$ (0);CHR$ (50);CHR$(200)
3、BS300K可同时打开两个钱箱,当接 2、4 时钱箱1打开,接4、5时钱箱2打开
4、设定在windows下自动开钱箱功能
LPRINT CHR$(27);"|w";CHR$(45);CHR$
;
n=0 FF走纸命令时钱箱无效
n=1 钱箱1打开
n=2 钱箱2打开
Gregory (2002-02-05 10:02:00)
这是以前写的一段代码,可以控制打印机、钱箱。打印机连接在LPT1,不用安装驱动程序。
RPrinter为TextFile类型;
SContent为TStringList类型。
// 建立打印连接并打印数据
Assignfile(RPrinter,'lpt1');
// 设置打印机
Rewrite(RPrinter);
// 准备写文件
Writeln(RPrinter,chr($b)+chr(27)+'K'+chr(40));
// 向后倒纸!
...
for i := 0 to SContent.Count - 1do
Writeln(RPrinter,SContent.strings
);
Writeln(RPrinter,chr($b)+chr(27)+'J'+chr(140));
// 向前进纸
CloseFile(RPrinter);
// 关闭打印机,结束打印
SContent.Free;
// 释放字符串列表
wgzhou (2002-02-05 18:43:00)
写并口可以,写串口出错!
Why ?
Gregory (2002-02-05 19:34:00)
打印机连接到并口→钱箱连接到打印机上,当然应该使用并口啊。
难道你的打印机连接在串口。
wgzhou (2002-02-05 23:03:00)
我的票据打印机是TM-U300A,是接在串口上的
我换了一台机器
使用Gregory方法,串口可以打印,但打出来是乱码.
打印机自检正常,没坏,是我从一台正在使用的pos机上拆下来的
drummer (2002-02-06 9:04:00)
l
DelphiCQ6 (2002-02-06 9:33:00)
呵呵,用Cport控件,一切问题迎仞而解。需要的话,给我e-mail:
easylife@21cn.com
dana (2002-04-21 11:53:00)
多人接受答案了。
bigroom-10,Chenlili-10,DelphiCQ6-10,drummer-10,Gregory-10,Oldtiger-10,snowbird-10,taozhiyu-10,wgzhou-20,的回答最终被接受。