one condition, multiple events

后端 未结 2 1560
萌比男神i
萌比男神i 2021-01-19 03:36

I\'m trying to figure out how to make multiple events happen with just one condition using .vbs. (Here I attempted to use the case statement.) Is there a such command, or do

2条回答
  •  一个人的身影
    2021-01-19 04:19

    I think you are looking for Select Case True, an enhanced use of the Select Case switch:

    age = inputbox("I was wondering how old you are.")
    
    Select Case True
        ' first handle incorrect input
        Case (not IsNumeric(age))
            WshShell.SendKeys "You silly, you have to enter a number.{ENTER}"
        ' You can combine cases with a comma:
        Case (age<3), (age>120)
            WshShell.SendKeys "No, no. I don't think that is correct.{ENTER}"
    
        ' Now evaluate correct cases
        Case (age>24)
            WshShell.SendKeys "I see you are " & age - 24 & " years older than me.{ENTER}"
        Case (age<24)
            WshShell.SendKeys "I see you are " & 24 - age &" years younger than me.{ENTER}"
        Case (age=24)
            WshShell.SendKeys "Wow were the same age!{ENTER}"
    
        ' Alternatively you can use the Case Else to capture all rest cases
        Case Else
            ' But as all other cases handling the input this should never be reached for this snippet
            WshShell.SendKeys "Woah, how do you get here? The Universe Collapse Sequence is now initiated.{ENTER}"
    
    End Select
    

    I put in some extra cases to show you the power of this enhanced switch. In contrary to If a And b Then statements, the cases with comma's are shortcircuited.

提交回复
热议问题