Tengo esta funcion recursiva, en la cual intento llenar un arbol con los numeros de parte y sus componentes (hijos), pero no entra a la recursividad como deberia, alguien puede echarme una manita para solucionar este problem
Ah y otra cosa como demonios se indentan los mensajes en este foro, por que al momento de escribirlo le doy los espacios y lo indento pero cuando lo envio me lo pega todo a la izquierda.
Gracias.
Código Delphi
[-]
procedure TForm1.getComponents(padre: String; nodo: TTreeNode; cantidad : integer);
var
mNodo : TTreeNode;
boomTable : TQuery;
begin
boomTable := TQuery.Create(nil);
boomTable.DatabaseName := 'D:\sof';
boomTable.SQL.Add('SELECT PNO, CNO, CNAME, SUB, QPA
FROM "d:\sof\Bomstart.dbf" Bomstart ');
boomTable.SQL.Add('WHERE PNO = :PADRE order by CNO');
boomTable.ParamByName('PADRE').Value := padre;
boomTable.Open;
while not boomTable.Eof do
begin
mNodo := arbol.Items.AddChild(nodo, boomTable.Fields[1].Value);
if boomTable.FieldByName('SUB').AsInteger = 3 then
begin
getComponents(boomTable.FieldByName('CNO').AsString ,
mNodo, cantidad);
end
else
begin
AsignaValores( boomTable.fieldByName('CNO').AsString, cantidad *
boomTable.FieldByName('QPA').AsInteger);
end;
boomTable.Next;
end;
boomTable.Close;
boomTable.Free;
end;