Yo uso el TJvDBTreeView para mostrar el arbol por pantalla aunque habría que probar si funciona con un componente treeview comun
Ese componente Jedi se enlaza a la base de datos, configurando las propiedades correspondientes.
Pero para imprimirlo, hago lo siguiente:
* Creo en tiempo de ejecución un arbol invisible
Código Delphi
[-]ArbolInvisible:=TJvDBTreeView.Create...
* configuro las siguientes propiedades
Código Delphi
[-]
Arbolinvisible.AutoExpand:=true;
ArbolInvisible.MasterField:='ID_CAMPO';
ArbolInvisible.DetailField:='ID_CAMPOPADRE';
ArbolInvisible.ItemField:='DESCRIPCION';
ArbolInvisible.DataSource:=Datasource;
* Me aseguro que se expanda totalmente el arbol
Código Delphi
[-] ArbolInvisible.FullExpand;
* Lo guardo en un arhivo de texto
Código Delphi
[-]Arbolinvisible.SaveToFile('arbol.txt');
* Leo en un componente QRMemo el archivo de texto;
Código Delphi
[-] QRMEMO.Lines.LoadFromFile('arbol.txt');
* Lo imprimo o hago una vista previa
* Obviamente elimino el treeview
A mi me ha dado resultado, en cuanto a que respeta la estructura de árbol. No dibuja líneas, pero por lo menos se nota bien la estructura.
Saludos