当前位置:编程学习 > VB >>

VB Txet哪里错了

Private Sub Form_Load()
Label1.Caption = "请在下面输入命令参数代码等"
End Sub

Private Sub Text1_Change()
If UCase(Text1.Text) = "#IF" Then
Label1.Caption = "如果"
Else
Label1.Caption = "还未找到该句的意思!"
End If
If UCase(Text1.Text) = "#SAY" Then
Label1.Caption = "输出字符串"
Else
Label1.Caption = "还未找到该句的意思!"
End If
End Sub

为什么在Txet1上输入#SAY在Label1能显示“输出字符串”这几个字,但是在Txet1上输入#IF却什么也不显示,这是为什么!

我想做个解释器!

追问:这个方法我想到过,但是我想用别的方法解决!
答案:你程序里面有两个if判断

当你输入 "#IF"的时候,先进行第一个判断,然后在进行第二个判断!第一个判断当然为真,按理说label1应该显示"输出字符串"的!但是你为什么没看到呢? 很简单!电脑运行这一点代码太快了!第一个判断运行完,其实已经显示出来"输出字符串"了!但是显示的时间太短,程序又接着运行第二个判断,不符合要求!所以你看到的就是"还未找到该句的意思!" 你的程序写的还是有点不好,我给你改了一下!把这两个判断嵌套起来就可以了!代码如下:

Private Sub Form_Load()
Label1.Caption = "请在下面输入命令参数代码等"
End Sub

Private Sub Text1_Change()
If UCase(Text1.Text) = "#IF" Then
Label1.Caption = "如果"
ElseIf UCase(Text1.Text) = "#SAY" Then
Label1.Caption = "输出字符串"
Else
Label1.Caption = "还未找到该句的意思!"
End If
End Sub

以前学过 现在忘记了 

上一个:VB制作小程序问题
下一个:求VB实用函数

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,