Dim i As sting*5為什么提示編譯錯
- 教育綜合
- 2024-03-11 13:00:00
VB運行時出現(xiàn)“編譯錯誤:缺少as"
出現(xiàn)“編譯錯誤:缺少as"的原因是你的語句“open f:\121.w for output as #1”中缺少了引號。應(yīng)該是這樣的: open "f:\121.w" for output as #1 因為VB中的冒號“:”用來分割兩個語句,這樣分割以后前面的語句就成了“open f”,是一個不完整的語句,就“缺少as”咯! 你上面的代碼修改后應(yīng)該是: Private Sub command1_click() Dim s As Integer s = 5 Close #1 Open "f:\121.w" For Output As #1 Print #1, s Close #1 End Subvb中dim的問題
Dim strIDcard As String, strText As String strIDcard是用來儲存用戶輸入的身份證號碼,strText是用來儲存InputBox函數(shù)顯示的文本。 這兩個都是變量名稱,都是程序員自己定義的。隨便取什么名字都可以的(只要不是系統(tǒng)的保留關(guān)鍵字)。如果變量事先沒有定義好的話,那么將會產(chǎn)生兩種后果: 1、如果加了強制變量聲明(Option Explicit),編譯器則會提示“變量未定義”的編譯錯誤。 2、如果沒有加強制變量聲明,編譯器則會自動聲明一個變體型的變量。相當(dāng)于 Dim strIDcard, strText 不過是編譯器自動加上的,程序員看不見的。VB中,編譯的時候,什么時候用dim * as single,什么時候用dim*as string
DimsasString
DimiasLong
我們前面已經(jīng)提到過,上面的兩個定義語句定義了一個字符串型變量s和一個長整形變量i,那么我們看下面這個賦值語句:
s=123
i="abc"
這個時候,就出現(xiàn)錯誤了,我們會神奇的發(fā)現(xiàn)s=123并沒有發(fā)生錯誤,而i="abc"卻出現(xiàn)了類型不匹配的錯誤。這是因為VB自動對s=123進行了編譯,將123處理成了“123”字符串并且復(fù)制給了s,但是后面的字符串"abc"壓根就不能被識別為數(shù)值。
所以i="abc"就出現(xiàn)了類型不匹配的錯誤。因為i我們定義的是一個長整型變量,它只能表示一個很大的數(shù)字,但我們卻硬生生將它賦值成字符串,所以產(chǎn)生了不匹配。
所以,我們?nèi)粘T诙x變量的時候一定要注意將數(shù)值型變量和字符串型變量進行嚴格的區(qū)分和定義,這樣才能游刃有余的操作VB語言了!
詳見我們團隊的分享帖:
http://tieba.baidu.com/f?kz=2678455193
vb編譯錯誤:用戶定義類型未定義
程序中缺少必要的部件或引用。 使用菜單項【工程】-【部件】,或者【工程】-【引用】,打開部件(或引用)的窗口,選擇你程序中涉及的部件(或引用)。VB中l(wèi)en(a)提示編譯出錯,提示缺少(
InStr是VB保留字,不能用作變量名,稍微改一下即可: c = Len(instr1) '當(dāng)然前面的定義和賦值也要改為instr1 補充:instr是VB本身的一個內(nèi)部函數(shù)名,所以不能用作變量名,不然VB會搞不清楚它究竟是函數(shù)還是變量!展開全文閱讀