打开打印机设备
语法
Open Lpt ["[LPT[x]:][Printer_Name ][,TITLE=Doc_Title ][,EMU=TTY ]"] [For Input|Output] As #filenum
用法
Open Lpt "LPT..." As [#]filenum
or
result = Open Lpt( "LPT..." As [#]filenum )
参数
x
指定端口号。如果省略,输出将发送到系统打印后台处理程序。
Printer_Name
要打开的打印机的名称。DOS上忽略此参数。
TITLE=Doc_Title
打印机后台处理程序看到的打印作业的标题。DOS上忽略此参数。
EMU=TTY
在Windows GDI打印机上使用驱动程序文本成像模拟TTY输出。DOS和Linux上忽略此参数。
For Input|Output
子句被允许兼容,但是被忽略。
filenum
要赋值给设备的未使用的文件编号。
返回值
0如果Open Lpt成功完成,则返回0,否则返回非零值,表示失败。
说明
Open Lpt打开与打印机设备的连接。连接被视为一个文件,所以可以使用
Print和
Put #命令将数据写入打印机。
连接到系统的任何打印机都可以打开
Open Lpt
Open Lpt "LPT:" ...将尝试在Windows和Linux上打开默认打印机,并在DOS上打开
"LPT1:".
LPrint将自动尝试在Windows和Linux上打开默认打印机,并在DOS上打开
"LPT1:".
平台具体说明:
视窗
参数EMU=TTY假设可打印ASCII或Unicode文本,并将打印机驱动程序文本映像应用于输入。EMU=TTY还允许使用CR,LF,BS,TAB,FF等进行虚拟打印头移动...即使打印机是GDI打印机,因此本身不了解这些特殊字符。如果省略",EMU=TTY",则必须使用打印机语言(ESC / P,HPGL,PostScript等)发送数据。还不支持其他有用的仿真模式。
Linux的
必须安装通过lp提供的打印机后台处理程序,以通过名称或默认打印机访问打印机。后台程序访问仅使用CUPS进行测试,但其他假脱机程序可能通过lp调用。端口是基于Linux的零。"LPT1:"对应于"/dev/lp0".
数据必须以打印机语言(ESC / P,HPGL,PostScript等)发送。不支持仿真模式。
DOS
FreeBASIC在DOS上不支持打印后台处理程序。打印机必须通过"LPTx:"访问。
数据必须以打印机语言(ESC / P,HPGL,PostScript等)发送。不支持仿真模式。
例子
'使用驱动程序文本成像将一些文本发送到LPT1上的Windows打印机。
Open Lpt "LPT1:EMU=TTY" For Output As #1
Print #1, "测试!"
Close
'将文本文件test.txt的内容发送到名为“ReceiptPrinter”的Windows打印机
Dim RptInput As String
Dim PrintFileNum As Integer, RptFileFileNum As Integer
RptFileFileNum = FreeFile
Open "的test.txt" For Input As #RptFileFileNum
PrintFileNum = FreeFile
Open Lpt "LPT:ReceiptPrinter,TITLE=ReceiptWinTitle,EMU=TTY" As _
#PrintFilenum
While (EOF(RptFileFileNum) = 0)
Line Input #RptFileFileNum, RptInput
Print #PrintFileNum, RptInput
Wend
Close #PrintFileNum '有趣的是,不需要CHR(12)。但如果需要分页,CHR(12)就是这样。
Close #RptFileFileNum
Print "按任意键结束程序..."
GetKey
End
'这个简单的程序将PostScript文件打印到PostScript兼容的打印机。
Dim As UByte FFI, PPO
Dim As String temp
FFI = FreeFile()
Open "sample.ps" For Input Access Read As #FFI
PPO = FreeFile()
Open Lpt "LPT1:" For Output As #PPO
While (EOF(FFI) = 0)
Line Input #FFI, temp
Print #PPO, temp
Wend
Close #FFI
Close #PPO
Print "打印完成!"
方言差异
- 在-lang qb 方言中,旧语法支持OPEN“LPT:...”。其他方言中使用的语法将打开一个常规文件。
参考