vb编程问题

2025-02-25 04:30:54
推荐回答(3个)
回答1:

你也可以这样写代码:

Option Explicit
Private q As Integer

Private Sub Command1_Click()
If Text1.Text = "123" Then
   MsgBox ("123")
End If
If Text1.Text <> "123" Then
   q = q + 1
End If
If q >= 3 Then
   End
End If
End Sub

这里涉及到变量的作用域和周期等概念,你可以学习参考一下相关知识。

回答2:

我也没看出来出错的地方,可能是VB安装在WIN 7以上版本上软件兼容性不好,我以前VB安装在WIN7以上时就会出现一些莫名现象,安装在WIN XP上就没有什么问题!再有在用IF指令时,如果需要实行一条指令时可以用一行就行,不用END IF。例如: IF TEXT1.text >< "123"then q = q+1

回答3:

一句话的事,不事先声明变量,就调用变量,哪种编程语言都不允许!!!
这种情况从3种情况分析:
第一,不加Static q ,肯定报错,因为过程在运行时没有声明变量q就调用q,所以系统报错!
第二,不用Static,换用dim,系统不报错,但过程运行后,永远达不到q>3的情况,因为每触发一次过程事件,过程运行时就会重新定义q的一块内存区域,并赋值为"null"或0,这种情况下,q的初始值永远为0
第三,Static是静态声明变量(个人认为,相当于窗体或全局变量,应该是在内存中的堆区申请的一块内存区),只有当前操作的或运行环境关闭后,Static q才会被释放