1、 买个USB转并口的连接线 这个方法根本不行,小票打印是想端口发送字符串。 你原来的代码是如何打开LPT1:端口的?给你我写的一个函数吧, 可以直接往打印机写数据:uses Printers, WinSpool;function SendDataToPrinter(sDeviceName, sDocName, sData: String): Boolean;/功能描述: 发送数据到打印机 (Powered by Jadeluo)/入口参数:/ sDeviceName - 打印机名称/ sDocName - 打印文档名称/ sData - 发送的数据/出口参数:/ 返回值 - True表示成功,
2、 False表示失败var bResult : hPrinter : Cardinal; tDocInfo : _DOC_INFO_1A; iWrited :begin= OpenPrinter(PChar(sDeviceName), hPrinter, nil); if bResult then begin tDocInfo.pDocName := PChar(sDocName); tDocInfo.pOutputFile := nil; tDocInfo.pDatatype := StartDocPrinter(hPrinter, 1, tDocInfo) <> 0;= Sta
3、rtPagePrinter(hPrinter);= bResult and WritePrinter(hPrinter, sData1, Length(sData), iWrited);= bResult and EndPagePrinter(hPrinter); EndDocPrinter(hPrinter); end; ClosePrinter(hPrinter); Result := bResult;end; 打印机名称即在Windows里安装好打印机后, 显示在打印机和传真里的打印机名称。 比如,打印机名称为EPSON LQ-1600K,要发送的数据为 #27#781#0(进纸指令),
4、则调用形式为: SendDataToPrinter(EPSON LQ-1600K, PaperFeed, #27#78#0); /内容是可以任意的路过。 Delphi(Pascal) code uses Printers, WinSpool; 发送数据到打印机 (Powered by Jadeluo)/入口参数:/ sDeviceName- 打印机名称/ sDocName- 打印文档名称/ sData- 发送的数据/出口参数:/ 返回值- True表示成功, False表示失败var= OpenPrinter(PChar(sDeviceName), hPrinter,nil);if bResu
5、ltthenbegin=nil;= StartDocPrinter(hPrinter,1, tDocInfo)&0;= bResultand WritePrinter(hPrinter, sData1, Length(sData), iWrited);= bResultand EndPagePrinter(hPrinter);内容是可以任意的 谢谢这位大侠,但是我按照你上面说的调试,结果打印机一点反应都没有,请指教。用的USB端口,POS58热敏打印机。 我用LPT1端口的时候,使用 的是ASSIGNFILE(F,LPT1)方法输出字符串; 谢谢这位大侠,但是我按照你上面说的调试,结果打印机一
6、点反应都没有,请指教。 调用这个函数时一定要正确填写打印机的名称(例子中的部分)。用过USB转COM的 没用过并口去网上找一个读取USB的代码引用 7 楼 linlingwei 的回复: 谢谢这位大侠,但是我按照你上面说的调试,结果打印机一点反应都没有,请指教。 打印机的名字也没错,就是控制面板里显示的名字。打印机也设置为默认打印机了。uses printers; printer.BeginDoc; printer.Canvas.TextOut(10,10,要打印的内容); printer.EndDoc;你可以找?家要?DEMO?看看呢思路有问题! 不需要直接操作USB,那样相当于自己写驱动,
7、麻烦。 一般现在都是有USB转串口,USB转并口,之类的线。而且买线的时候会带驱动程序光盘。正确安装驱动以后显示在电脑上的就是COM口了,再操作串口就可以了。 问题是,用USB转并口之类的线,发送字符串的时候还是要发送到USB口呀,原来发送到并口的代码还是不能用呀。用网络,控制支持的LPT1终端,打印。使用驱动程序,添加打印机,设置端口引用 16 楼 ziseliuxingzh 的回复: 思路有问题! 驱动后电脑上显示的就不是USB端口了,COM口或者是并口,但是操作都一样了,ASSIGNFILE(F,)或者ASSIGNFILE(F,COM1)。你试试就明白了。这个问题到现在还没解决,请求高手
8、出现。这个需要硬件驱动支持,有了驱动,依据它提供的DLL或者OCX来编程控制就是了。很久没搞过这个了!共享驱动就可以了!安装打印机驱动,选择USB端口,然后共享,在程序中通过文件写入的方式,通过USB端口送出去安装打印机驱动,选择USB端口,然后共享,在程序中通过文件写入的方式,通过USB端口送出去 case Combobox1.ItemIndex of 0 : assignfile(Fprt, 1 :LPT2 2 : 3 :COM2 4 :PrintOut.txt 5 :S4HPLaserJHP LaserJet 2100 格式:电脑名称+共享名称+打印机驱动关键是打印机是USB接口的,如果不是并口的,可用转换头。但要有驱动程序。 tDocInfo.pDocName
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1