VB要求常数表达式
我在VB的form1中声明PrivateConstScrnWidth=100PrivateConstScrnHight=90没有问题,可是我想把100换成form2.te...
我在VB的form1中声明
Private Const ScrnWidth = 100
Private Const ScrnHight = 90
没有问题,可是我想把
100换成form2.text1.text
90换成form2.text2.text
这时就发生发生错误了,VB提示要求常数表达式,怎样才可以调用到form2.text1.text的信息呢,VB小菜鸟,希望高手细心帮助啊,谢谢了。
按照 LuoJi_1995 的方法,VB在 Private ScrnWidth = form2.text1.text 那里提示缺少语句结束。
温暖阳阳 的意思是 Private Const ScrnWidth = Val(Form2.Text3.Text) 这样吗,可还是不可以啊。 展开
Private Const ScrnWidth = 100
Private Const ScrnHight = 90
没有问题,可是我想把
100换成form2.text1.text
90换成form2.text2.text
这时就发生发生错误了,VB提示要求常数表达式,怎样才可以调用到form2.text1.text的信息呢,VB小菜鸟,希望高手细心帮助啊,谢谢了。
按照 LuoJi_1995 的方法,VB在 Private ScrnWidth = form2.text1.text 那里提示缺少语句结束。
温暖阳阳 的意思是 Private Const ScrnWidth = Val(Form2.Text3.Text) 这样吗,可还是不可以啊。 展开
展开全部
不行!!!!
如果你要用用户将来输入的量来做“常数”,那是不对的。因为那已经不是常数,而是“变量”了。
建议,设立窗体级变量。
在最前面声明:
dim ScrnWidth as single,ScrnHight as single
后面有两种方案:一个是填写文本框的同时,就改变这个变量;二一个是填写完,点“确定”按钮,再改变。我推荐后者,因为这个符合多数软件的操作习惯。
Private Sub Command1_Click()
ScrnWidth = Val(text1)
ScrnHight = Val(text2)
End Sub
当然看样子,你主要是用来改变什么控件的尺寸?那么也可以直接不要这些变量(包括前面的声明),
Private Sub Command1_Click()
控件.Width = Val(text1)
控件.Hight = Val(text2)
End Sub
如果你要用用户将来输入的量来做“常数”,那是不对的。因为那已经不是常数,而是“变量”了。
建议,设立窗体级变量。
在最前面声明:
dim ScrnWidth as single,ScrnHight as single
后面有两种方案:一个是填写文本框的同时,就改变这个变量;二一个是填写完,点“确定”按钮,再改变。我推荐后者,因为这个符合多数软件的操作习惯。
Private Sub Command1_Click()
ScrnWidth = Val(text1)
ScrnHight = Val(text2)
End Sub
当然看样子,你主要是用来改变什么控件的尺寸?那么也可以直接不要这些变量(包括前面的声明),
Private Sub Command1_Click()
控件.Width = Val(text1)
控件.Hight = Val(text2)
End Sub
展开全部
Const修饰符,在VB中必须是编译时常量表达式,所以不行,去掉Const即可,但是这样不安全。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我不明白你说的关于计算斐波那契的题目,看了你的代码,想提点错误不知道对不对,如果不对就当我没说呀!!!!你定义了一个动态数组,在If
n
=
1
Then
ReDim
fib(1)
fib(1)
=
1
s
=
1
End
If
中你重新定义了,而在If
n
>
1
Then中就没有重新定义,你看看是不是应该这样:
If
n
>
1
Then
ReDim
fib(
n)
fib(1)
=
1
fib(2)
=
1
s
=
2
For
i
=
3
To
n
fib(i)
=
fib(i
-
1)
+
fib(i
-
2)
s
=
s
+
fib(i)
Next
i
End
If
仅供参考!不对的话就当我没说
n
=
1
Then
ReDim
fib(1)
fib(1)
=
1
s
=
1
End
If
中你重新定义了,而在If
n
>
1
Then中就没有重新定义,你看看是不是应该这样:
If
n
>
1
Then
ReDim
fib(
n)
fib(1)
=
1
fib(2)
=
1
s
=
2
For
i
=
3
To
n
fib(i)
=
fib(i
-
1)
+
fib(i
-
2)
s
=
s
+
fib(i)
Next
i
End
If
仅供参考!不对的话就当我没说
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-01-30
展开全部
那你倒不如直接用变量
dim ScrnWidth% = cint(form2.text1.text )
常量本身就是不变的 你搞成读文本框的话 用变量吧
dim ScrnWidth% = cint(form2.text1.text )
常量本身就是不变的 你搞成读文本框的话 用变量吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Private Const ScrnWidth = 100 以这条语句为例,因为有Const,则在程序中相当于用ScrnWidth来替代100。程序中所有的ScrnWidth均是100.并且ScrnWidth的值不能再在程序中重复赋值。
换种说法就像认为规定π的值是3.1415926一样,程序中使用ScrnWidth均代表你在程序开始时赋的值。这样便于程序日后修改。
换种说法就像认为规定π的值是3.1415926一样,程序中使用ScrnWidth均代表你在程序开始时赋的值。这样便于程序日后修改。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询