主题:估计都会,就我不会
jiang8741
[专家分:0] 发布于 2010-01-19 11:58:00
Private Sub Command1_Click()
Dim score As Single, rank As Variant, state As Variant
score = Text1.Text
If score > 85 Then
rank = "1-10"
state = "ÓÅÐã"
ElseIf score >= 75 Then
rank = "11-20"
state = "Á¼"
ElseIf score < 75 Then
rank = "20-25"
state = "²î"
End If
Text2.Text = rank
Text3.Text = state
End Sub
有什么错误啊 拜托大家??在哪里改 我菜鸟
回复列表 (共9个回复)
沙发
fatxing [专家分:150] 发布于 2010-01-19 12:07:00
score = val(Text1.Text)
数据类型错误
板凳
jiang8741 [专家分:0] 发布于 2010-01-19 12:38:00
谢谢这位大哥
3 楼
jiang8741 [专家分:0] 发布于 2010-01-19 12:43:00
这位高手,能再详细点么?为什么用这样的方法?
4 楼
fatxing [专家分:150] 发布于 2010-01-19 18:04:00
TEXT框是文本型的,而你的变量是数字型的,所以加个VAL()就把TEXT框变成变体型那就行了
5 楼
vbload [专家分:30] 发布于 2010-01-19 22:46:00
LZ的程序声明、判断部分写的是有些乱。
但是,实际上也能运行……
能得出正确的结果,并且还不出错!
当然,不鼓励以这种方式编程。
6 楼
fatxing [专家分:150] 发布于 2010-01-20 08:21:00
我不知你的score是用来存储什么数据的,但无论SINGLE还是INT都是数字类型的变量,而TEXT1.TEXT是文本型的变量,你要用VAL()来把文本型转换成数字型的
7 楼
老大徒伤悲 [专家分:29120] 发布于 2010-01-20 16:36:00
1、程序没有静态错误(在输入时不会出错);
2、程序没有动态错误(在运行时不会报错而中断);
3、程序是否有逻辑错误(几输出结果是不是设计者的本来意图)就说清了。
4、有一点点小瑕疵。从内容看rank 和 state 两个变量存储的都是字符串,所以不应该使用变体变量。字符串型数据转换成数值型数据,最好使用val函数。
但是,程序书写注意缩进以突出层次便于阅读。即:
Private Sub Command1_Click()
Dim score As Single, rank As string, state As String
score = Val(Text1.Text)
If score > 85 Then
rank = "1-10"
state = "ÓÅÐã"
ElseIf score >= 75 Then
rank = "11-20"
state = "Á¼"
ElseIf score < 75 Then
rank = "20-25"
state = "²î"
End If
Text2.Text = rank
Text3.Text = state
End Sub
更进一步,vb提供了标准的多分枝语句Select。使用后样式如下(因为声明的三个变量在过程中都只使用一次,故不再使用,而直接赋值):
Private Sub Command1_Click()
Select Case Val(Text1.Text)
Case Is > 85
Text2.Text = "1-10"
Text3.Text = "ÓÅÐã"
Case Is >= 75
Text2.Text = "11-20"
Text3.Text = "Á¼"
Case Else
Text2.Text = "20-25"
Text3.Text = "²î"
End Select
Text2.Text = rank
Text3.Text = state
End Sub
8 楼
jiang8741 [专家分:0] 发布于 2010-01-20 19:08:00
如果都像您这样助人为乐,中国实在太有前途了。
今天还看锵锵三人行,他们说了一个例子。
DVD正规超市里卖的,翻译那叫一个没水平,看得观众云里雾里。
而在中国真正有翻译水准的,那就是网络上一些爱好这些,给广大网民提供无偿服务的字幕小组。全是自发的。可见中国的理想主义在网络上实现了。网民万岁!
还是很感谢这位仁兄。
9 楼
google5 [专家分:30] 发布于 2010-04-01 13:42:00
score = Text1.Text 你的这个都到的答案是字符型的啊,使用val就是把你输入的字符识别为数值,不然你下面肯定永不了 的。。。。我的qq 7192493 ,我们撂下
我来回复