初学者vb编程问题

来源:百度知道 编辑:UC知道 时间:2024/07/07 07:36:50
我想问:
Private Sub b7_Click() '按钮7
Dim ix As Integer
If ix = 0 Then
ix = 7
Else
ix = ix * 10 + 7
End If
sb.Text = ix
End Sub
有什么问题?为什么我按了两下“b7”,变量“ix”还是等于“7”?

你每次按7都重新定义IX变量,初始值是0
所以每次都执行
If ix = 0 Then
ix = 7

你把IX设成全局变量就行了

Dim ix As Integer
Private Sub b7_Click() '按钮7
If ix = 0 Then
ix = 7
Else
ix = ix * 10 + 7
End If
sb.Text = ix
End Sub
这样试下。

VB的赋值 = 和比较 == ,没有分开.所以
if ix = 0 Then
这句被计算机认为是赋值,而不是比较.所以改为这个比较好,
static ix as integer

全局变量

IX变量初始值是0

一开始就出现了IX=0 符合第一个 If ix = 0 Then 条件,就IX=7 啦。

你午给IX 先赋值。

使用声明语句建立一个变量后,VB自动将数值型的变量赋初值0,将字符或variant类型的变量赋空串,将布尔型变量赋false.

你的代码中Dim ix As Integer,那么VB会自动将ix赋值为0.
接下来If ix = 0 Then ix = 7
所以ix赋值7,程序再往下执行并无变化,所以你按几个b7,ix的值都会是7.
此语句不是循环语句,只执行一次,是7就是7也不会再回去执行了.
回答完毕!