我正在尝试创建一系列可以接受参数的命令。获取我正在使用的每个单独Select Case
的命令问题是,如果我使用Case Else
. 如果我不使用Case Else
,那么我将无法处理不正确的命令并将它们发送到所需的程序。
例如:
Private Sub AllocateType(ByVal Command As String)
Select Case Command
Case "Eat"
'Call Eat procedure
Case "Use"
'Call Use procedure
Case "Quit"
Case "Pause"
Case "Go"
Case Else
Errors() 'Error handling procedure
End Select
End Sub
如果命令是“Brrrrr”,它将调用Errors()
. 然而,如果命令是“吃食物”,它仍然会调用Errors()
并且不会将参数传递给Eat
过程。
编辑,因为它现在不起作用。
我已经尝试了建议的方法,但我仍然遇到完全相同的问题。似乎两者都Command.StartsWith
不起作用Command.Contains
,因为如果我尝试输入“吃食物”,它仍然无法将其识别为案例。
例子:
Select Case Command
Case Command.Contains("Eat")
Output("TESTING")
If Len(Command) > 4 Then
Command = Mid(Command, 4, (Len(Command) - 4))
Interaction(Command)
Else
Output("Eat What?")
End If
Case "Eat"
Output("Eat What?")
Case Command.StartsWith("Use")
If Len(Command) > 4 Then
Command = Mid(Command, 4, (Len(Command) - 4))
Interaction(Command)
Else
Output("Use What?")
End If
Case "Use"
Output("Use What?")
'Case Else
' Errors()
End Select