vb中缺少语句结束是什么意思
If Val(Text1) <= 0 Then
MsgBox "父亲的身高不能小于等于0!"
Else IsNumeric(Text1) = fase then
MsgBox "父亲身高输入了数字以外的字符!"
End If
说是少了语句结束。。。 展开
vb中缺少语句结束的意思是说语法不对引起语句不匹配或者语句没有写完整导致编译器无法找到结束语句符。
需要将 fase 改成False
else 改成 ElseIf
过程最后缺End Sub
最后,如果输入非数字的话始终会弹出 --"父亲的身高不能小于等于0!" 的对话框,因为Val参数为非数字时始终返回0。
扩展资料
对象与类
对象(Object)
Visual Basic.NET 具有“面向对象”的特性,Visual Basic.NET 应用种程序的基本单元是对象,用 Visual Basic.NET 编程就是用“对象”组装程序。这种“面向对象”的编程方法与传统的全部用代码编制程序的方法有很大区别,就像用集成电路芯片组装电视机和用三极管,二极管组装电视机的区别一样。显然,“面向对象”的编程方法比传统的编程方法更简单,更方便,并且编写出的程序也更加稳定。因此,“对象”可以被看做 Visual Basic.NET 程序设计的核心。
在 Visual Basic.NET程序设计中,对象中还可以包含头,手,腿,脚等部位,其中的每个部位又可以单独作为作为被研究的对象。在 Visual Basic.NET程序设计中,整个应用程序就是一个对象,应用程序中又包含着窗体(Form),命令按钮(Command),菜单(Menu)等对象。
类(Class)
在 Visual Basic.NET中,对象是由类创建的,因此对象可以说是类的具体实例,这就好比是蛋糕和做蛋糕的模具之间的关系。
各种不同的对象分属于各种不同的种类。同一类对象可能具有一些不同的特征(或是说同一类对象不一定具有完全相同的特性);具有某些相同的特性的对象,不一定是同一类对象。
参考资料来源:百度百科-Visual Basic
首先,end sub 总是与 private sub成对出现的,但是在你的代码的结尾,就没有看到end sub,这是不合理的。可能被你误删了。
其次,也可能是在某个if语句之后,没有使用 end if 来结尾。但是由于你编写代码没有养成格式缩进的良好习惯,已经很难看出是在哪里缺少 end if 了。为此,给你两个建议:
一是在使用结构语句时,结构中的语句应该比关键词缩进3格,如果结构语句1之内嵌套着结构语句2,那么2中的语句依次再缩进3格,以此类推。这样的好处是,编写出来的代码,层次分明,便于阅读与分析。
二是在使用结构语句时,先把关键词都写完,并且其缩进完全相同,然后才填写其中的过程代码,这样的好处是保证关键词成对出现,不会缺失。
下面给一些例子,供你参考:
private sub uiunxun()
dim i as integer
dim a as integer
for i = 0 to 10
if i < 5 then
a=a+2*i
else
a=a+i
end if
next i
do while a >0
a=a-1
loop
end sub
如此格式,便能脉络清楚,层次分明了。
我的回答,并不是希望得到你百度式的“采纳”,只是希望对你有所帮助我就满足了。
Private Sub Text1_Change()
If Val(Text1) <= 0 Then
MsgBox "父亲的身高不能小于等于0!"
ElseIf IsNumeric(Text1) = False Then
MsgBox "父亲身高输入了数字以外的字符!"
End If
End Sub
三点错误:
fase 改成False
else 改成 ElseIf
过程最后缺End Sub
还有个逻辑错误:假如你输入非数字的话始终会弹出 --"父亲的身高不能小于等于0!" 的对话框,因为Val 参数为非数字时始终返回0。
所以改成:
Private Sub Text1_Change()
If Text1.Text <> "" Then
If IsNumeric(Text1) = False Then
MsgBox "父亲身高输入了数字以外的字符!"
ElseIf Val(Text1) <= 0 Then
MsgBox "父亲的身高不能小于等于0!"
End If
End If
End Sub
这样在文本框为空时不必弹出警告对话框。
Private Sub Text1_Change()
If Text1.Text <> "" And Text1.Text <> "-" Then
If IsNumeric(Text1) = False Then
MsgBox "父亲身高输入了数字以外的字符!"
ElseIf Val(Text1) <= 0 Then
MsgBox "父亲的身高不能小于等于0!"
End If
End If
End Sub
如果这样或许会更好一些
vb中缺少语句结束是什么意思是说语法不对引起语句不匹配或者语句没有写完整导致编译器无法找到结束语句符。
正确代码
Private Sub Text1_Change()
If Val(Text1) <= 0 Then
MsgBox "父亲的身高不能小于等于0!"
ElseIf IsNumeric(Text1) = false then
MsgBox "父亲身高输入了数字以外的字符!"
End If
End Sub
原因:
vb中
1、if语句的格式是
if 条件 then
end if
或者
if 条件 then
elseif 条件 then
end if
2、过程定义格式
Sub 过程名称
End Sub
3、注意拼写False别犯错误。
VB因为忽略大小写,所以大小写无所谓,但变量定义要小心,最好最前面都写上
Option Explicit '这样,没有声明的变量都无法使用,避免出现不必要的错误。
上面少了一个loop
do while i>0
loop
这样一个循环结构的,你少写了