2010年8月12日 星期四

控制POS打印機

delphi控制POS打印機
RPrinter為TextFile類型;
SContent為TStringList類型。

// 建立打印連接並打印數據
Assignfile(RPrinter,'lpt1'); // 設置打印機
Rewrite(RPrinter); // 準備寫文件
Writeln(RPrinter,chr($b)+chr(27)+'K'+chr(40)); // 向後倒紙!
...

for i := 0 to SContent.Count - 1 do
Writeln(RPrinter,SContent.strings[i]);

Writeln(RPrinter,chr($b)+chr(27)+'J'+chr(140)); // 向前進紙

CloseFile(RPrinter); // 關閉打印機,結束打印
SContent.Free; // 釋放字符串列表

Assignfile(RPrinter,'lpt1'); // 設置打印機
Rewrite(RPrinter); // 準備寫文件
Writeln(RPrinter,chr(27)+'p'+'m'+(後面兩個看起來像是參數) t1 t2); // 開錢箱
CloseFile(RPrinter); // 關閉打印機,結束打印




開 錢 箱控制命令(該命令可同時開啟兩個錢箱,實際操作只需開啟一個)
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);
   n=0 FF走紙命令時錢箱無效
   n=1 錢箱1打開
   n=2 錢箱2打開

沒有留言:

張貼留言