Advertisement
Guest User

Untitled

a guest
Mar 29th, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. Sub GenerateCode()
  2. Dim dtb As New DataTable
  3. dtb.Columns.Add("ClassName")
  4. dtb.Columns.Add("PropertyName")
  5. dtb.Columns.Add("PropertyType")
  6. 'NOTE: datatable must be sorted by ClassName
  7. dtb.Rows.Add("ClassOne", "PropertyOne", "String")
  8. dtb.Rows.Add("ClassOne", "PropertyTwo", "Integer")
  9. dtb.Rows.Add("ClassOne", "PropertyThree", "String")
  10. dtb.Rows.Add("ClassTwo", "AnotherPropertyOne", "String")
  11. dtb.Rows.Add("ClassTwo", "AnotherPropertyTwo", "Integer")
  12. dtb.Rows.Add("ClassTwo", "AnotherPropertyThree", "String")
  13.  
  14. Dim strFilename As String = ""
  15. Dim strParentFolder As String = "C:Junk"
  16. If Not System.IO.Directory.Exists(strParentFolder) Then
  17. System.IO.Directory.CreateDirectory(strParentFolder)
  18. End If
  19. Dim strPreviousClassName As String = ""
  20. Dim sb As New System.Text.StringBuilder
  21. For Each drwProperty As DataRow In dtb.Rows
  22. Dim strThisClassName As String = drwProperty("ClassName").ToString
  23. If strThisClassName <> strPreviousClassName Then
  24. 'class name has changed
  25. If strPreviousClassName > "" Then
  26. 'write previous class
  27. sb.AppendLine("End Class")
  28. strFilename = strParentFolder & "" & strPreviousClassName & ".vb"
  29. My.Computer.FileSystem.WriteAllText(strFilename, sb.ToString, False)
  30. End If
  31. 'start new class
  32. sb = New System.Text.StringBuilder
  33. sb.AppendLine("Class " & strThisClassName)
  34. strPreviousClassName = strThisClassName
  35. End If
  36. 'append property
  37. sb.AppendLine(" Property " & drwProperty("PropertyName").ToString & " As " & drwProperty("PropertyType").ToString)
  38. Next drwProperty
  39. 'Write last class
  40. sb.AppendLine("End Class")
  41. strFilename = strParentFolder & "" & strPreviousClassName & ".vb"
  42. My.Computer.FileSystem.WriteAllText(strFilename, sb.ToString, False)
  43. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement