在一些軟件中,我們會發現,當軟件運行到需要向A驅讀寫文件時,它會自動對A驅進行檢測。如果用戶沒有按要求在A驅插入磁盤,程序會提示用戶將磁盤插入到A驅中;如果需要向A驅進行寫文件,而這時A驅里的磁盤“寫保護”了,程序無法向其寫文件,程序也會提示用戶去掉磁盤的“寫保護”。
這種智能化的提示功能能否在VB中實現呢?答案是肯定的!
用VB寫過程序的人都應該知道,在VB中有一個非常有用的語句:ON ERROR
其作用就是啟動一個錯誤處理程序并指定該子程序在一個過程中的位置;也可用來禁止一個錯誤處理程序。
其語法:
On Error GoTo line
On Error Resume Next
On Error GoTo 0 On Error
語句的語法可以具有以下任何一種形式:
語 句 | 描 述 |
on Error GoTo line | 啟動錯誤處理程序,且該例程從必要的 line 參數中指定的 line 開始。line 參數可以是任何行標簽或行號。如果發生一個運行時錯誤,則控件會跳到 line,激活錯誤處理程序。指定的 line 必須在一個過程中,這個過程與 On Error 語句相同; 否則會發生編譯時間錯誤。 |
On Error Resume Next | 說明當一個運行時錯誤發生時,控件轉到緊接著發生錯誤的語句之后的語句,并在此繼續運行。訪問對象時要使用這種形式而不使用on Error GoTo。 |
On Error GoTo 0 | 禁止當前過程中任何已啟動的錯誤處理程序。 |
有了這個ON ERROR 語句,我們就可以在其啟動的錯誤處理程序中對錯誤號進行檢測,由此可以得知A驅是否有磁盤以及其磁盤是否寫保護。
下面以一個簡單的例子來說明在VB中用ON ERROR語句來檢測A驅是否有盤或其磁盤是否寫保護。
在需要向A驅進行讀寫操作的模塊頭部寫上下面這行代碼:
On Error GoTo DiskErr
紅色的DiskErr是錯誤處理程序的開始標識,你可以任意設定。接下來就寫對A驅進行讀寫的程序代碼,直到對所有需要處理的代碼寫完。在其最后加上下面這行代碼:
Exit Sub
這行代碼的作用是防止程序直接進入錯誤處理子程序。接下來寫錯誤處理程序:
DiskErr:
Select Case Err.Number
Case 52, 71 'A驅無盤
If MsgBox("A驅沒有磁盤!" & vbCrLf & "請在你的A驅插入軟盤后再試!" & vbCrLf, vbOKCancel, "A驅錯誤!") = vbOK Then
Resume '返回到出錯的語句重新處理
Else
On Error Resume Next '忽略錯誤
End If
Case 70 'A盤寫保護
If MsgBox("請打開A盤寫保護!", vbOKCancel, "A驅寫入錯誤!") = vbOK Then
Resume
Else
On Error Resume Next
End If
Case Else MsgBox "錯誤號:" & Err.Number & vbCrLf & "錯誤內容:" & Error, , "錯誤"
End Select
如此以來,你的程序就有了本文開頭所說的智能提示功能了?炜靻幽愕腣B試試吧!在本人個主頁《文淵主頁》里有一個簡單的測試原代碼,你可以下載回去慢慢地研究。
如果此篇對你有所幫助,敬請你常來《文淵主頁》做客!
文章來源于領測軟件測試網 http://www.kjueaiud.com/
版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
技術支持和業務聯系:info@testage.com.cn 電話:010-51297073
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月