Hola Ibidi.
Son muchas las formas en que podes desear guardar esos nodos...
De todos modos te pongo un ejemplo (muy simple) que añade secuencialmente los nodos en un
TDataSet:
Código Delphi
[-]
procedure TForm1.btAddToDataSetClick(Sender: TObject);
var
i: Integer;
begin
TargetDataSet.Open;
tvCatalogo.Items.GetFirstNode;
for i := 1 to tvCatalogo.Items.Count - 1 do
begin
TargetDataSet.Append;
with TClase(tvCatalogo.Items[i].Data) do
begin
TargetDataSet.FieldByName('Nivel').AsString:= Nivel;
TargetDataSet.FieldByName('Texto').AsString:= Texto;
...
end;
TargetDataSet.Next;
end;
TargetDataSet.Close;
end;
Espero que al menos sirva como para orientarte un poco.
Saludos.