关于 Open "LPT1" For Output As #1的使用

hnzzs 2003-08-30 03:31:44
在利用Open "LPT1" For Output As #1打开打印机并往里面写数据时,如果打印机开启则正常,如果打印机关闭或是打印机有错误,则会死机.有什么办法可以让打印机在不能打印的情况下不打印,然后退出去吗?
...全文
863 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
busisoft 2003-08-30
  • 打赏
  • 举报
回复
Win9x下会死机,Win2k下就没有问题
wumy_ld 2003-08-30
  • 打赏
  • 举报
回复
试试这个,它能够马上报错,不用等待。

Private Sub Cmdtry_Click()
On Error GoTo ErrMsg
If Trim(Txtcommand.Text) = "" Then
MsgBox "请输入弹出钱箱的命令代码!", vbInformation
Txtcommand.SetFocus
Exit Sub
End If
Printer.Print Txtcommand.Text
Printer.EndDoc
Exit Sub

ErrMsg:
MsgBox "打印机错误或是弹出钱箱的命令代码有误!", vbInformation
End Sub
hnzzs 2003-08-30
  • 打赏
  • 举报
回复
kissoflife(明月高楼休独倚,酒入愁肠,化作相思泪!:
改成你的代码,还是不行啊.不知道还有没有其它的解决方法.
wumy_ld 2003-08-30
  • 打赏
  • 举报
回复
Private Sub Cmdtry_Click()
On Error Resume Next'关闭错误陷阱
If Trim(Txtcommand.Text) = "" Then
MsgBox "请输入弹出钱箱的命令代码!", vbInformation
Txtcommand.SetFocus
Exit Sub
End If
Open "LPT1" For Output As #1
If Err.Number<>0 Then GoTo ErrMsg'如果有错误就跳到错误处理
'弹出钱箱
Print #1, Txtcommand.Text
Close #1
Exit Sub

ErrMsg:
On Error Resume Next
MsgBox "打印机错误或是弹出钱箱的命令代码有误!", vbInformation
Exit Sub
End Sub
hnzzs 2003-08-30
  • 打赏
  • 举报
回复
我的代码如下,如果不开打印机一定会程序没有响应的.
Private Sub Cmdtry_Click()
On Error GoTo Err
If Trim(Txtcommand.Text) = "" Then
MsgBox "请输入弹出钱箱的命令代码!", vbInformation
Txtcommand.SetFocus
Exit Sub
End If
Open "LPT1" For Output As #1
'弹出钱箱
Print #1, Txtcommand.Text
Close #1
Exit Sub

Err:
On Error Resume Next
MsgBox "打印机错误或是弹出钱箱的命令代码有误!", vbInformation
Exit Sub
End Sub
射天狼 2003-08-30
  • 打赏
  • 举报
回复
没问题啊,我试了,加上错误处理看看~~
soec 2003-08-30
  • 打赏
  • 举报
回复
Open 还能这样用啊, 嘿,新鲜!

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧