現在、スクリプト言語 (EngineScript) を作成しています。現在、単一のコマンド/関数 (IE: ) しか入力できませんがsout "Hello world"
、それを拡張したいと考えています。
だから、改行の後に入力された文字をVB2012.Netの別の変数に入れるコードを知っているかどうか疑問に思っていました. ありがとう :-)
これが私のコードです:
Public Class Form1
Dim strvar0 As String
Dim strvar1 As String
Dim strvar2 As String
Dim strvar3 As String
Dim numvar As Integer
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim first4Chars As String = TextBox1.Text.Substring(0, 4)
Dim restOfChars As String = TextBox1.Text.ToString.Substring(5)
Select Case first4Chars
Case "sout"
Select Case restOfChars
Case "box:str0"
TextBox2.Text = strvar0 & vbCrLf & vbCrLf & vbCrLf & vbCrLf & "COMMAND //sout\\ has been successfully used"
Case Else
TextBox2.Text = restOfChars & vbCrLf & vbCrLf & vbCrLf & vbCrLf & "COMMAND //sout\\ has been successfully used"
End Select
Case "str0"
strvar0 = restOfChars
Case Else
TextBox2.Text = "Error".ToString
End Select
End Sub
Private Sub HelpToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles HelpToolStripMenuItem.Click
Dim a As New Help
End Sub
Private Sub RunToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles RunToolStripMenuItem.Click
Button1.PerformClick()
End Sub
End Class
...これは Windows フォームです。
あなたのコードを使用するときの@Jamby:
Public Class Form1
Dim strvar0 As String
Dim strvar1 As String
Dim strvar2 As String
Dim strvar3 As String
Dim numvar As Integer
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
For Each Line In TextBox1.Text.Split(vbNewLine)
Dim first4Chars As String = TextBox1.Text.Substring(0, 4)
Dim restOfChars As String = TextBox1.Text.ToString.Substring(5)
Select Case first4Chars
Case "sout"
Select Case restOfChars
Case "box:str0"
TextBox2.Text = strvar0 & vbCrLf & vbCrLf & vbCrLf & vbCrLf & "COMMAND //sout\\ has been successfully used"
Case Else
TextBox2.Text = restOfChars & vbCrLf & vbCrLf & vbCrLf & vbCrLf & "COMMAND //sout\\ has been successfully used"
End Select
Case "str0"
strvar0 = restOfChars
Case "exit"
Me.Close()
Case "lofi"
Select Case restOfChars
Case "box:str0"
Process.Start(strvar0)
Case Else
Process.Start(restOfChars)
End Select
Case "inet"
Process.Start("iexplore.exe" + restOfChars)
Case Else
TextBox2.Text = "Error".ToString
End Select
Next
TextBox1.Clear()
End Sub
Private Sub HelpToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles HelpToolStripMenuItem.Click
Dim a As New Help
End Sub
Private Sub RunToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles RunToolStripMenuItem.Click
Button1.PerformClick()
End Sub
Private Sub MenuStrip1_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs) Handles MenuStrip1.ItemClicked
End Sub
End Class
エラーは発生しませんが、入力すると
sout Hello
改行
sout World
出力ウィンドウから次のように出力されます。
Hello
COMMAND //sout\\ has been successfully used
World
COMMAND //sout\\ has been successfully used
しかし、代わりにこれが起こります:
Hello
sout World
COMMAND //sout\\ has been successfully used
ヘルプ!!!