Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Imports System.ComponentModel
- Imports System.Text
- <DefaultEvent("Parsed")>
- Public Class Engine
- Inherits Component
- Public Event Parsed(item As Item)
- Public Function Parse(s As String) As Item
- Dim it As New Item()
- it.Name = s.Split("(")(0)
- Dim arglist As String = Middle(s, "(", ")")
- If arglist.Contains(",") Then
- Dim spl As String() = arglist.Split(",")
- For Each Itm In spl
- it.Arguments.Add(Itm)
- Next
- Else
- it.Arguments.Add(arglist)
- End If
- RaiseEvent Parsed(it)
- Return it
- End Function
- Public Class Item
- Public Property Name As String
- Public Property Value As String
- Public Property Arguments As New List(Of String)
- Public Function ArgToString() As String
- Dim result As New StringBuilder
- For Each l In Arguments
- result.Append(l & ",")
- Next
- Dim returns As String = result.ToString
- If returns.EndsWith(",") Then
- returns = returns.Remove(returns.Length - 1, 1)
- End If
- Return returns
- End Function
- End Class
- Public Function Middle(str As [String], startchar As String, endchar As String) As String
- Dim strStart As String = str.IndexOf(startchar) + 1
- Dim strEnd As Integer = str.LastIndexOf(endchar)
- Return str.Substring(strStart, strEnd - strStart)
- End Function
- End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement