SOS,如何判断计算机并口上的 计算机是否联机?(200分)

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

DickWu

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在打印前用程序先判断一下打印机是否连上和打开,
如果没有打开,则弹出对话框提醒用户先开打印机。
请问各位大师,我该如何判断打印机是否联机啊?
我用的打印控件是Report Machine.
请说详细一点,先谢谢了。
 
可以把打印代码写在
try
except
end;
中,利用Delphi自己的异常机制去处理联机和未联机。
 
我想用API直接检测,行不行啊 ?
可别再给我‘用眼睛看一下打印机即可’之类的回答,呵呵
 
DickWu:如果还想接着讨论请定期提前自己的帖子,如果不想继续讨论请结束帖子。
 
其实也没有必要,反正打印作业不会丢失,都放在缓存里呢,试想如果你打到一半打印机
掉电了,还不是没法处理。
程序只管打,Windows 会提示的。不知道你能不能接受!:-)
 
DickWu:如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。
 
  Printers是专门用来控制打印机的,可是在没有安装打印机时,
却会提示I/O错误,所以必须有一个检测是否存在打印机的方法,我
试过很多方法,可是I/O错误总是比我的判断早出现,所以采用以下
的烂招来检测打印机。首先在uses增加Printers,再准备一个列表框
ComboBox1,其属性Visible设为FALSE,然后在打印之前执行下列语
句,那么就可以检测到是否存在打印机了:
procedure TForm1.ButtonClick(Sender: TObject);
begin

ComboBox1.Clear;
ComboBox1.Items.Assign(Printer.Printers);
if ComboBox1.Items.CommaText=''
then
Messagedlg('你需要安装打印机才能打印!',mtError,[mbOk],0);
else
Form1.Print;
end;
 
多人接受答案了。
 
我也想知道楼主问题的答案。
我试过try...except....end是不行的
 

Similar threads

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