1.VB中如何使用select case语句
语法 Select Case <指示变量或表达式><默认语句组,以上语句组都因情形不符合实际时执行> End Select 其中,表述情形的关键字,有IS和TO,多个情形要并列在一起时,使用逗号(英文)连接。
当省略Case Else语句并且语句组都因情形不符合实际时,语句的执行,会直接到达End Select。如果在执行语句的时候,有需要跳过没有必要再执行的语句而直接结束Select Case的情况时,请使用exit select。
注意 在“<指示变量或表达式>”不是True或False关键字时,逻辑运算(And、Or、Not)会没有意义。因为逻辑运算的结果是True或False,不是表述具体情况的值或者范围。
需要比较大小时,请使用IS、To关键字。以上为了给出一个能够通用的语法而如此表述。
在“<指示变量或表达式>”是True或False关键字时,Is、To关键字没有意义。以上两种情况,切记不要搞混。
嵌套 各语句组中也可以写入完整的Select Case语句,像For循环中嵌套一个二级循环一样。别误会,Select Case不是循环语句,是条件选择语句,与IF。
ELSEIF。ELSEIF。
END IF类似。基本用法 Private Sub main() Select Case InputBox("请输入你希望的天气,从晴天、多云、阴天、阵雨、小雨、小雪、冰雹中选一个填入。
", "请输入你希望的天气", "晴天") Case "晴天" MsgBox "哇哦!你喜欢的是晴天啊,祝你天天好心“晴”~!" Case "多云" MsgBox "喜欢多云的天气,是因为比较怕紫外线吗?" Case "阴天" MsgBox "为什么喜欢阴天呢?真令人好奇啊~!" Case "阵雨" MsgBox "为什么喜欢阵雨天呢?真令人好奇啊~!" Case "小雨" MsgBox "为什么喜欢小雨天呢?真令人好奇啊~!" Case "小雪" MsgBox "为什么喜欢小雪天呢?真令人好奇啊~!" Case "冰雹" MsgBox "为什么喜欢冰雹天呢?真令人好奇啊~!" Case Else MsgBox "不可以酱紫!只能从我给出的几种中挑选一个填入!" End Select End Sub 使用关键字IS Private Sub main() Select Case Day(Now) Case Is <= 10 MsgBox "目前是本月上旬!" Case Is > 20 MsgBox "目前是本月下旬!" Case Else MsgBox "目前是本月中旬!" End Select End Sub<以上代码在VB6.0测试通过> 使用关键字TO Private Sub main() Select Case Weekday(Now) Case 1, 7 MsgBox "今天是周末!" Case 2 To 6 MsgBox "今天不是周末!" End Select End Sub<以上代码在VB6.0测试通过> 关键字IS和TO可以根据需要,在同一条情形中一起使用,例如 Case Is<=5,8 to 10,Is>20 不过要注意的是,TO表示的区间,是闭区间,不适用于开区间(或半闭半开区间)。如果一定要用select Case来确定数值在哪个区间内,可以这么做:Private Sub main() On Error GoTo err Dim num As Single num = InputBox("请输入!") Select Case num Case Is <= 1 MsgBox "这个数不大于1" Case Is < 3 MsgBox "这个数在1和3之间的开区间内" Case Is < 5 MsgBox "这个数在3和5之间的半闭半开区间内" Case Is <= 7 MsgBox "这个数在5和7之间的闭区间内" Case Is > 7 MsgBox "这个数大于7" End Select Exit Sub err:MsgBox "这个不是可比较的数字" End Sub 此时,各Case不能随便对换顺序。
虽然这个可以达到我们想要的效果,却因为不够严谨,让我忧心忡忡。那么什么是最严谨的呢?请看高级用法。
高级用法 语法(这里只是为了更好的理解,稍稍变一下表述,不改变实意。) Select Case true Case <逻辑运算表达式1><语句组1> Case <逻辑运算表达式2><语句组2>。
.Case <逻辑运算表达式n><语句组n> Case Else<默认语句组,当以上任何逻辑运算都为False时执行> End Select 在此语法下,Is、To关键字没有意义,Is的值为true(Is是变量吗?这个问题真的好让人回味啊) 只要逻辑运算表达式的运算结果为true,就执行该Case下的语句组。那么,上面的例子就这么改。
Private Sub main() On Error GoTo err Dim num As Single num = InputBox("请输入!") Select Case True Case num >= 5 And num <= 7 MsgBox "这个数在5和7之间的闭区间内" Case num < 3 And num > 1 MsgBox "这个数在1和3之间的开区间内" Case num > 7 MsgBox "这个数大于7" Case num < 5 And num >= 3 MsgBox "这个数在3和5之间的半闭半开区间内" End Select Exit Sub err:MsgBox "这个不是可比较的数字" End Sub 可以看到,顺序被我随意变动了,测试也通过了。那么,爱琢磨的我,又发现一个问题:Select Case True可以改成Select Case False吗?答案是,可以。
这里就不作示例了,只给出语法 Select Case False Case <逻辑运算表达式1><语句组1> Case <逻辑运算表达式2><语句组2>。.Case <逻辑运算表达式n><语句组n> Case Else<默认语句组,当以上任何逻辑运算都为true时执行> End Select 只要逻辑运算表达式的运算结果为False,就执行该Case下的语句组。
2.VB中select case 语句的用法
不能用“Time”关键字做变量名称。还有“Now”包括了时间和日期,而前面随机生成的时间不包括日期,会导致判断错误。代码可改为:
Private Sub Command1_Click()
Randomize
Dim rTime As Date
rTime = rTime + Rnd
Picture1.Print "今天 " & rTime
Select Case rTime
Case Is > Time
Picture1.Print "距现在还有" & Format(Time - rTime, "HH时MM分SS秒")
Case Else
Picture1.Print "到现在已经过了" & Format(rTime - Time, "HH时MM分SS秒")
End Select
End Sub
Private Sub Form_Load()
Label2 = Time
End Sub以上代码主要是把之前的“Time”的变量名改成了别的名称,还有后面的“Now”改成了“Time”。
3.vb程序case语句
Private Sub Text1_Change()
Select Case Val(Text1.Text)
Case 0 To 60
Label1.Caption = "不及格"
Case 60 To 70
Label1.Caption = "及格"
Case 70 To 80
Label1.Caption = "中"
Case 80 To 90
Label1.Caption = "良"
Case 90 To 100
Label1.Caption = "优秀"
Case Else
Label1.Caption = "输入错误"
End Select
End Sub
4.VB中select case语句怎么用啊
MSDN帮助 语法 Select Case testexpression [Case expressionlist-n [statements-n]] 。
[Case Else [elsestatements]] End Select Select Case 语句的语法具有以下几个部分:部分 描述 testexpression 必要参数。任何数值表达式或字符串表达式。
expressionlist-n 如果有 Case 出现,则为必要参数。其形式为 expression,expression To expression,Is comparisonoperator expression的一个或多个组成的分界列表。
To 关键字可用来指定一个数值范围。如果使用 To 关键字,则较小的数值要出现在 To 之前。
使用 Is 关键字时,则可以配合比较运算符(除 Is 和 Like 之外)来指定一个数值范围。如果没有提供,则 Is 关键字会被自动插入。
statements-n 可选参数。一条或多条语句,当 testexpression 匹配expressionlist-n中的任何部分时执行。
elsestatements 可选参数。一条或多条语句,当 testexpression 不匹配 Case 子句的任何部分时执行。
说明 如果 testexpression 匹配某个 Case expressionlist 表达式, 则在 Case 子句之后,直到下一个 Case 子句的 statements 会被执行;如果是最后一个子句,则会执行到 End Select。然后控制权会转移到 End Select 之后的语句。
如果 testexpression 匹配一个以上的 Case 子句中的 expressionlist 表达式,则只有第一个匹配后面的语句会被执行。Case Else 子句用于指明 elsestatements,当 testexpression 和所有的 Case 子句中的 expressionlist 都不匹配时,则会执行这些语句。
虽然不是必要的,但是在 Select Case 区块中,最好还是加上 Case Else 语句来处理不可预见的 testexpression 值。如果没有 Case expressionlist 匹配 testexpression,而且也没有 Case Else 语句,则程序会从 End Select 之后的语句继续执行。
可以在每个 Case 子句中使用多重表达式或使用范围,例如,下面的语句是正确的:Case 1 To 4, 7 To 9, 11, 13, Is > MaxNumber 注意 Is 比较运算符和使用在 Select Case 语句中的 Is 关键字并不相同。也可以针对字符串指定范围和多重表达式。
在下面的例子中,Case 所匹配的字符串为:等于 everything、按英文字母顺序落入从 nuts 到 soup 之间的字符串、以及 TestItem 所代表的当前值。Case "everything", "nuts" To "soup", TestItem Select Case 语句也可以是嵌套的。
但每个嵌套的 Select Case 语句必须要有相应的 End Select 语句。Select Case 语句示例 本示例使用 Select Case 语句来判断变量的值。
示例中第二个 Case 子句包含了变量值,故只有此区块内的语句会被完成到。Dim Number Number = 8 ' 设置变量初值。
Select Case Number ' 判断 Number 的值。Case 1 To 5 ' Number 的值在 1 到 5 之间,包含1 和 5 。
Debug.Print "Between 1 and 5"' 下一个 Case 子句是本示例中唯一判断值为 True 的子句。Case 6, 7, 8 ' Number 的值在 6 到 8 之间。
Debug.Print "Between 6 and 8" Case 9 到 10 ' Number 的值为 9 或 10。Debug.Print "Greater than 8" Case Else ' 其他数值。
Debug.Print "Not between 1 and 10" End Select。
5.VB CASE语句
呵呵,题外话,题目中的象限设置错了,y<0且x>0怎么会在第二象限?是在第四象限。改成Case语句是下面的代码:
Private Sub Command1_Click()
Dim x#, y#
x = Val(Text1.Text)
y = Val(Text2.Text)
Select Case True
Case x > 0 And y > 0
Print "点在第一象限"
Case x < 0 And y > 0
Print "点在第二象限"
Case x < 0 And y < 0
Print "点在第三象限"
Case x > 0 And y < 0
Print "点在第四象限"
Case Else
Print "点在坐标轴上"
End Select
End Sub
6.请问VB中 select case 的用法
这里不是不能用select case写,而是if和select case适用于不同的选择中。在这道题中,使用if显得条理很清楚,使用的语句也少。而使用select case显得太麻烦和不可理喻,请看:
rivate Sub Form_Click()
Dim year As Integer, b As String
year = Val(Text1.Text)
Dim x400 As Integer, x100 As Integer, x4 As Integer
x400 = year Mod 400
x100 = year Mod 100
x4 = year Mod 4
Select Case x400
Case 0
b = "闰年"
Case Else
Select Case x100
Case 0
b = "不是闰年"
Case Else
Select Case x4
Case 0
b = "闰年"
Case Else
b = "不是闰年"
End Select
End Select
End Select
Text2.Text = b
End Sub
简直是一材乱麻,做你这道题,我自己都快搞晕了,不过执行起来是完全正确的。已经运行过了。
7.vb程序case语句
Private Sub Text1_Change()Select Case Val(Text1.Text) Case 0 To 60 Label1.Caption = "不及格" Case 60 To 70 Label1.Caption = "及格" Case 70 To 80 Label1.Caption = "中" Case 80 To 90 Label1.Caption = "良" Case 90 To 100 Label1.Caption = "优秀" Case Else Label1.Caption = "输入错误"End SelectEnd Sub。
8.vb select case语句怎么用
根据你的用途,使用IF then
Private Sub Command1_Click()
If Len(Text1.Text) > 8 Then
Text1.Text = "": MsgBox "用户名过长,用户名最长为8位", , "提示"
ElseIf LCase(Text1.Text) Like "[!a-z]*" Then
MsgBox "用户名不为英文", , "提示"
ElseIf LCase(Text1.Text) Like "[a-z]*" Then
Unload Me
Form1.Show
End If
End Sub
9.vb里,select case 的用法
is就是“是”
因为前面已经说select case n了
所以这里就是对n的
本来是n>0,现在可以写"Is>0"了,这样会方便点
select的用法:
select case <;变量>
case <;条件1>
<;执行语句1>
case <;条件2>
<;执行语句2>
end select
转载请注明出处唯美语句网 » case语句用法vb