Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Sub GenerateCode()
- Dim dtb As New DataTable
- dtb.Columns.Add("ClassName")
- dtb.Columns.Add("PropertyName")
- dtb.Columns.Add("PropertyType")
- 'NOTE: datatable must be sorted by ClassName
- dtb.Rows.Add("ClassOne", "PropertyOne", "String")
- dtb.Rows.Add("ClassOne", "PropertyTwo", "Integer")
- dtb.Rows.Add("ClassOne", "PropertyThree", "String")
- dtb.Rows.Add("ClassTwo", "AnotherPropertyOne", "String")
- dtb.Rows.Add("ClassTwo", "AnotherPropertyTwo", "Integer")
- dtb.Rows.Add("ClassTwo", "AnotherPropertyThree", "String")
- Dim strFilename As String = ""
- Dim strParentFolder As String = "C:Junk"
- If Not System.IO.Directory.Exists(strParentFolder) Then
- System.IO.Directory.CreateDirectory(strParentFolder)
- End If
- Dim strPreviousClassName As String = ""
- Dim sb As New System.Text.StringBuilder
- For Each drwProperty As DataRow In dtb.Rows
- Dim strThisClassName As String = drwProperty("ClassName").ToString
- If strThisClassName <> strPreviousClassName Then
- 'class name has changed
- If strPreviousClassName > "" Then
- 'write previous class
- sb.AppendLine("End Class")
- strFilename = strParentFolder & "" & strPreviousClassName & ".vb"
- My.Computer.FileSystem.WriteAllText(strFilename, sb.ToString, False)
- End If
- 'start new class
- sb = New System.Text.StringBuilder
- sb.AppendLine("Class " & strThisClassName)
- strPreviousClassName = strThisClassName
- End If
- 'append property
- sb.AppendLine(" Property " & drwProperty("PropertyName").ToString & " As " & drwProperty("PropertyType").ToString)
- Next drwProperty
- 'Write last class
- sb.AppendLine("End Class")
- strFilename = strParentFolder & "" & strPreviousClassName & ".vb"
- My.Computer.FileSystem.WriteAllText(strFilename, sb.ToString, False)
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement