2 回答

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊
你的問(wèn)題有兩個(gè)
1、
Command1_Click()和Command1_Click(index As Integer)是同一個(gè)事件,VB是事件型,要放棄過(guò)去代碼驅(qū)動(dòng)的思維。你可以將這兩部分代碼合并,并且輔以條件或選擇性分支語(yǔ)句。
2、你在前五行的代碼中犯了一個(gè)錯(cuò)誤
Private Sub Command1_Click()
Dim num1, num2 As Single 'num1,num2分別代表輸入的第一個(gè)數(shù)和第二個(gè)數(shù)
Dim strnum1, strnum2 As String 'strnum1,strnum2分別代表輸入的第一個(gè)數(shù)和第二個(gè)數(shù)的字符串形式
Dim firstnum As Boolean '判斷輸入是否是數(shù)字開頭
End Sub
你在這個(gè)事件中只是僅僅聲明了幾個(gè)變量,沒有其他任何語(yǔ)句,他們?cè)诒径巍癊nd Sub”語(yǔ)句執(zhí)行后就全部消亡了,因此沒有意義。我猜測(cè)你的本意是申明一些局部變量,因此這里你只要將第一行“Private Sub Command1_Click()”和第五行“End Sub”刪除就OK了。

TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊
程序中出現(xiàn)了兩個(gè) Private Sub Command1_Click
也就是說(shuō)出現(xiàn)了兩個(gè)同名稱的子過(guò)程,這是不允許的,當(dāng)點(diǎn)擊按鈕后,你讓VB究竟執(zhí)行哪個(gè)子過(guò)程???就好比有人說(shuō)“我爸是李剛”后,兩個(gè)人同時(shí)站起來(lái)說(shuō)“我就是李剛”,這讓VB情何以堪啊,呵呵。
另外,你這個(gè)Command1究竟是單個(gè)按鈕,還是控件數(shù)組???看糊涂了
還有
Dim num1, num2 As Single
這樣的變量定義方法也是錯(cuò)誤的,要改為
Dim num1 As Single, num2 As Single
Dim strnum1 As String, strnum2 As String
下面是完整的修改結(jié)果:
Dim num1 As Single, num2 As Single '此三行定義全局變量
Dim strnum1 As String, strnum2 As String
Dim firstnum As Boolean
Private Sub Form_Load()
num1 = 0
num2 = 0 '令num1和num2為0
strnum1 = ""
strnum2 = "" '令strnum1和strnum2為空字符串
firstnum = True '確定為數(shù)字開頭
End Sub
Private Sub Command1_Click(index As Integer)
Select Case index '用index作為判斷分支的條件
Case 0 To 9 '如果index是0到9
If firstnum Then '輸入為第一個(gè)數(shù)字的話
strnum1 = Str(index) '實(shí)型轉(zhuǎn)字符型
firstnum = False '初賦值標(biāo)志為假
Else '輸入不是第一個(gè)數(shù)字的話
strnum1 = strnum1 + Str(index) '將輸入的字符添加到原有字符串上
End If '結(jié)束if塊
Label1.Caption = strnum1 '顯示 '將字符串結(jié)果顯示到標(biāo)簽上《還有其他語(yǔ)句,等待插入》
End Select
End Sub
- 2 回答
- 0 關(guān)注
- 567 瀏覽
添加回答
舉報(bào)