你當(dāng)前的位置>>主頁>>AutoCAD知識>>專題教程
 

Autocad VBA初級教程 (第四課 程序的調(diào)試和保存)

    人非圣賢,孰能無過,初學(xué)者在編寫復(fù)雜程序時往往會出現(xiàn)一些意想不到的錯誤,所以程序的調(diào)試顯得尤為重要,隨著學(xué)習(xí)的深入,以后我們需要經(jīng)常進(jìn)行程序調(diào)試。事實(shí)上,對于那些資深程序員來說,調(diào)試程序也是一項(xiàng)不可或缺的重要工作。

首先,在程序輸入階段,應(yīng)該充分利用VBA編輯器的智能功能。當(dāng)你在寫代碼時,輸入一些字母后,編輯器可以自動列出合適的語句、對象、函數(shù)供你選擇,可以用上下鍵選擇,然后按TAB鍵(它位于“Q”鍵左邊)確認(rèn)。當(dāng)輸入一個回車符后程序會自動對這條語句進(jìn)行分析,如果出現(xiàn)錯誤就會提示。
我們經(jīng)常碰到的麻煩是程序的運(yùn)行結(jié)果和預(yù)計的不一樣,一般我會這樣做:首先要想一想可能是哪一個變量有問題,然后去監(jiān)視這個變量(或表達(dá)式),在程序合適的位置設(shè)置斷點(diǎn),這樣可以使程序停下來看一看這個變量有沒有按照我的設(shè)想在變化。下面我舉一個簡單的例子,先看源代碼:
sub test()
for i=2 to 4 step 0.6
next i
end sub
這是一個非常簡單的循環(huán),每一次循環(huán)i便會增加0.6,當(dāng)循環(huán)3次后i值就變?yōu)?.4,但問題是每一次循環(huán)時i值變?yōu)槎嗌伲?BR> 第一步:在菜單中選“調(diào)試”—“添加監(jiān)視”,在表達(dá)試中填“i”,點(diǎn)擊確定,這時你會看到臨視窗口中會多一行。
第二步:把光標(biāo)移到代碼窗口中的“next i”行,按一下“F9”,于是每當(dāng)程序運(yùn)行到這里時就會暫停了。
好,一切就緒,請按F5執(zhí)行程序,在監(jiān)視窗口中C值立刻變?yōu)?,再按F5繼續(xù),C值為2.6,再按幾次F5,直到程序結(jié)束,這樣我們就成功監(jiān)視了C值的變化。
第三步:在next i行再按一次F9,清除斷點(diǎn)。監(jiān)視的表達(dá)式的右鍵菜單選擇“刪除監(jiān)視”。
另外,還可以用“逐語句”、“逐過程”、“運(yùn)行到光標(biāo)處”等方法進(jìn)行調(diào)試,這些都在調(diào)試菜單中,操作比較簡單,請讀者自行領(lǐng)悟。

到目前為止,我們所做的工程都是“嵌入式工程”,它只是嵌入在當(dāng)前的Autocad圖形文件中, 以后打開這個文件時代碼才會加載,如果別的dwg文件也要使用,那就需要把代碼導(dǎo)出為.bas文件,供其他dwg文件導(dǎo)入。在VBA編輯器的“文件”菜單中有這兩個功能,一試便知。
ACAD VBA還有一種工程叫“通用式工程”,只要進(jìn)入ACAD就可以運(yùn)行,程序可以在不同用戶、不同的圖形文件中共享,但是由于VBA功能太強(qiáng),有時候會出現(xiàn)一些意想不到的事情,所以在學(xué)習(xí)階段請暫時不要這樣做。

本課結(jié)束,請做思考題;監(jiān)視下列代碼中的i和j的值,注意,此題雖然要監(jiān)視2個變量,但是在代窗口中只要設(shè)置1個斷點(diǎn)就足夠了。
sub test()
for i=2 to 4 step 0.6
  for j=-5 to 2 step 5.5 
  next j
next i
end sub

本教程共13頁    第  [1]  [2] [3]  4  [5] [6] [7] [8] [9] [10] [11]  [12]  [13] 頁
民眾工作室.制作      版權(quán)所有