VB4 allows you to create data structures that are more dynamic than previous versions allowed, thanks to the possibility of having dynamic arrays within types. For example, a tree structure with three levels can be created with user-defined types and dynamic arrays:
Private Type LeafType 'we'll let the leaves be integers Leaf As IntegerEnd TypePrivate Type BranchType 'a branch is an array of leaves: Branch() As LeafTypeEnd Type'a tree is an array of branches:Private Tree() As BranchType
This next code sets up a tree with three branches. The first branch has three leaves, the second branch has two leaves, and the third branch has five leaves:
ReDim Tree(1 To 3) 'three branchesReDim Tree(1).Branch(1 To 3)'three leaves on the first branchReDim Tree(2).Branch(1 To 2)'two leaves on the second branchReDim Tree(3).Branch(1 To 5)'five leaves on the third branch
You can add other fields to allow parts of the tree other than the leaves to store data.