パラメータを取ることができる一連のコマンドを作成しようとしています。使用している個別のコマンドをそれぞれピックアップするにはSelect Case
、これに関する問題は、使用すると「パラメーター」(文字列の 2 番目の部分) を感知できないこと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()
。しかし、コマンドが 'Eat Food' であった場合でも、呼び出しが行われ、パラメーターがプロシージャErrors()
に渡されません。Eat
今は動かないので編集。
提案されたことを試しましたが、まだまったく同じ問題があります。「Eat Food」に入ろうとしても、まだケースとして認識されないため、機能しないよう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