[fpc-pascal] TreeView and Nonrecursion
Juha Manninen (gmail)
juha.manninen62 at gmail.com
Thu Sep 2 12:14:50 CEST 2010
On Thursday 02 September 2010 00:47:23 José Mejuto wrote:
> You must know at which node a new node must be inserted...
If your input data contains a string which always identifies the parent node
then you can map the string -> "parent node" and find it later for adding a
child node.
Pseudo code again:
var
ParentNode, Node: TNode;
Map: TStringHashMap;
ParentId, Id: string;
...
// get data from somewhere
ParentId := ...
Id := ...
ParentNode := Map[ParentId];
// This should make Node a root node if ParentNode = nil.
Node := Tree.AddNode(ParentNode, Id); // Pseudo syntax.
Map[Id] := Node; // Use as parent for following nodes.
If you don't have such ID then you must use recursion.
Juha
More information about the fpc-pascal
mailing list