如何能够直接向LQ-1600K这样的打印机打印?200大洋伺候。(200分)

  • 主题发起人 主题发起人 delphi
  • 开始时间 开始时间
D

delphi

Unregistered / Unconfirmed
GUEST, unregistred user!
POS系统,需要打印输出,Windows太慢,想直接用LQ-1600K
的汉字库。请问如何实现?
谢谢。
 
//我想直接打印,应该会快一些。
var
F: TextFile;
S: string;
begin
AssignFile(F, 'lpt1');

Rewrite(F);
writeln(F, '我是hubdog');

CloseFile(F);
end;
 
或者用这种方法连接
var s:string;i:integer;
outprn:textfile
begin
S := Printer.Printers[Printer.PrinterIndex];
{ 找寻最后一个空格的位置 }
for I := Length(S)do
wnto 1do
begin
if S = ' ' then
Break;
end;
S := Copy(S,I + 1,255);
{ 使用AssignFile将打印设备和TextFile相连 }
AssignFile(OutPrn,Copy(S,1,Length(S) - 1));
end;
 
把printer当作一个文本文件来操作时速度会有很大的提高。
AssignFile(F, 'lpt1');
Rewrite(F);
然后就操作文件就行了。
 
>>直接用LQ-1600K的汉字库
恐怕要用LQ-1600K的特殊打印命令,看看手册吧!
 
var
F: TextFile;
S: string;
begin
AssignFile(F, 'abs1');

Rewrite(F);
writeln(F, 'ggdgjkhfjkdh');

CloseFile(F);
end;
 
我这里有一本LQ1600K的手册,里面详细描述了如何用
Basic在DOS模式下驱动。要的话我给你找找。不过POS
系统好像应该有UCDOS支持吧。别告诉我你的主机是Win95。
 
win95下好像可以用Escape函数直接向打印机发送打印控制命令,你只要研究
一下打印机手册,找到调用中文字库的打印控制命令就可以了.
不过我没试过,早就不用针打了.
 
对不起,将问题讲清楚一点。
我的POS系统不是超市的,而是饭店。前台的工作相对于
超市而言要复杂一点,不仅仅是收款,而且要包括酒席预定
确认等其他工作,DBMS选用的是SQL Server,相对而言,
前台用DOS写程序比较麻烦。因此我选了95。本来只是点
菜速度过得去就行,偏偏这个饭店还有一层楼买小吃,
人很多,这就对速度有较高的要求了。
我并不奢望能和DOS有一样的速度,只是能达到类似Win95中
MSDOS窗口中打印那样的效果,可以使用打印机自己的硬字库。
打印机是Epson 300K,和1600K一样。直接对打印机编程我
不怕,我在DOS下时对1600K编程画过 图。
谢谢大家。
 
在打印机图标中新建一个“常规”打印机,这个选项
好像是“其他类”的最后一个。这个打印机绝对可以和
DOS下的速度相媲美。然后往这个打印机上输出即可。
 
LQ-1600KII自带了一本手册,里面将得很清楚,一看便知。
 
直接对打印端口编程,我以前编过一个这样的部件,用于模拟长图记录仪。
 
我早已经解决了,直接使用int17就可以了。谢谢大家帮助。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部