Right now I am building a scripting language (EngineScript). Currently you can only type a single command/function (IE: sout "Hello world"
) but I want to expand it.
So I was wondering whether you guys knew any code to get the characters typed after a newline into a separate variable in VB2012.Net. Thanks :-)
Here is my code:
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
...I am doing this is a Windows form
@Jamby when I use your code:
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
It does not generate errors but when I type
sout Hello
newline
sout World
the following should output from my output window:
Hello
COMMAND //sout\\ has been successfully used
World
COMMAND //sout\\ has been successfully used
But instead this happens:
Hello
sout World
COMMAND //sout\\ has been successfully used
Help!!!