关于vb简单代码问题?

[复制链接]
查看11 | 回复5 | 2010-9-29 15:30:46 | 显示全部楼层 |阅读模式
Private Sub Command1_Click()
Dim a As Single
Dim b As Single
a = Text1.Text
b = Text2.Text
c = Text3.Text
c = a ^ b
End Sub 这样代码是错误了,执行不成

Private Sub Command1_Click()
Dim a As Single
Dim b As Single
a = Text1.Text
b = Text2.Text
text3.text= a ^ b
End Sub 这个是正确的
为啥 第一个不行呢,我已经定义了text3.text
为什么要把text3.text=c写在c=a^b后面呢?又为什么不是c=text3.text而是text3.text=c呢?谁的回答让我理解,我再加分?

回复

使用道具 举报

千问 | 2010-9-29 15:30:46 | 显示全部楼层
为什么要把text3.text=c写在c=a^b后面呢?第一个不行是 你没 事先定义 C这个 Dim C As Single 又为什么不是c=text3.text而是text3.text=c呢?c=text3.text :text3.text只是 一个属性 没有 值所以就不能反过来 C是一个变量 他是有值的 所以可以把他的值赋给 text3.text“=”并不是数学里的 相等他是一个赋值 语句 在编程中。
回复

使用道具 举报

千问 | 2010-9-29 15:30:46 | 显示全部楼层
严格的讲上面的都是错的,因为上面定义了single是数字,而下面是text1.text.是字符,两者不经过转换根本无法做运算。况且你根本不用写那么多行语句。直接Dim a As Single=Text1.text 你就知道错在哪里了!!!估计你是在vb6.0环境下才没显示错误。
回复

使用道具 举报

千问 | 2010-9-29 15:30:46 | 显示全部楼层
执行的顺序错误,语句的赋值也是错误的赋值格式:目标操作符=源操作符 text3.text是你要操作的目标,c是才源操作符
执行的时候 是按顺序的。 c=text3.text是把text3.text 的值给了C,c = a ^ b是把 a ^ b 计算出的值给了C c=text3.text则无效了
回复

使用道具 举报

千问 | 2010-9-29 15:30:46 | 显示全部楼层
第一个问题:C 没有定义第二个问题:第一小问
如果放在前面的话,C还没算呢,就text3.text=c,所以c只是初始值或者上次算出来的数第二小问
c=text3.text的意思是让C的值变成text3.text
等号右边是不变的
回复

使用道具 举报

千问 | 2010-9-29 15:30:46 | 显示全部楼层
嗯,很简单,你在表单代码的前面有Option Explicit 语句或者你在环境设置里面要求定义这样,c 没有定义,自然不能执行咯在前面的部分,你加上:Dim c As Single就没错误了(不包括运行错误, 和输入的内容有关)唉,经常见到这种代码不全的东西,全靠想象
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行