2014-05-07 1 views
0

Je voudrais savoir comment implémenter le code suivant que j'utilisais dans Delphi 6 dans Delphi XE6 en utilisant FireMonkey.Conversion TTreeView Code

Node1:=Quick_Calc.EquivalenciesTree.Items.Add(nil,Text); 

Node1:=Quick_Calc.EquivalenciesTree.Items.Add(Node1,Text); 

Node1:=Quick_Calc.lEquivalenciesTree.Items.AddChild(Node1,Text); 
+0

J'apprécie votre réponse rapide. Je remarque que vous créez votre propre fonction AddChild. – Arturo

Répondre

2

Un test rapide montre que ce code fonctionne, avec un nouveau FMX HD avec une application de bureau TTreeView vide sur la forme:

procedure TForm1.FormCreate(Sender: TObject); 
var 
    Root: TTreeViewItem; 
    Item: TTreeViewItem; 
    SubItem: TTreeViewItem; 
    i, j: Integer; 

    function AddChild(Node: TTreeViewItem; NodeText: string): TTreeViewItem; 
    begin 
    Result := TTreeViewItem.Create(Self); 
    Result.Text := NodeText; 
    if Node <> nil then 
     Result.Parent := Node 
    else 
     Result.Parent := TreeView1; 
    end; 

begin 
    Root := TTreeViewItem.Create(Self); 
    Root.Text := 'Root node'; 
    Root.Parent := TreeView1; 
    for i := 1 to 10 do 
    begin 
    Item := AddChild(Root, Format('Item %d', [i])); 
    for j := 1 to 2 do 
     SubItem := AddChild(Item, Format('Child %d of Item %d', [j, i])); 
    end; 
end; 
+0

J'ai résolu ma propre question avec le code suivant. – Arturo

-1
Procedure Carga_Nodo; 
Begin 
If NivAct=0 Then 
    Begin 
{ 
    Nodo1:=Quick_Calc.ArbolEquivalencias.Items.Add(nil,CadMem) 
} 
    Nodo[I].Text:=CadMem; 
    Nodo[I].Parent:=Form1.ArbolEquivalencias; 
    NivAnt:=NivAct; 
    IndPad:=I; 
    IndHer:=I; 
    IndHij:=I; 
    End 
Else 
    Begin 
    If NivAnt=NivAct Then 
    Begin 
{ Nodo1:=Quick_Calc.ArbolEquivalencias.Items.Add(Nodo1,CadMem)} 
    Nodo[I].Text:=CadMem; 
    Nodo[I].Parent:=Nodo[IndPad]; 
    End 
    Else 
    If NivAct>NivAnt Then 
    Begin 
{ Nodo1:=Quick_Calc.ArbolEquivalencias.Items.AddChild(Nodo1,CadMem)} 
    IndPad:=I-1; 
    Nodo[I].Text:=CadMem; 
    Nodo[I].Parent:=Nodo[IndPad]; 
    End 
    Else 
    Begin 
    J:=I; 
    Repeat 
{  NodoPadre:=NodoPadre.GetPrev;} 
     NodoPadre:=GetPrevItem(Nodo[J]); 
     NivAnt:=Nodo[J].Level; 
     J:=J-1; 
    Until NivAnt=NivAct; 
    J:=J+1; 
{  Nodo1:=Quick_Calc.ArbolEquivalencias.Items.Add(Nodo1,CadMem)} 
    IndHer:=J; 
    Nodo[I].Text:=CadMem; 
    Nodo[I].Parent:=Nodo[IndHer]; 
    End; 
    NivAnt:=NivAct; 
    End; 
End; 
+1

Pouah. D'où viennent toutes ces variables? Même moi et J ne sont pas locaux. Et je ne vois pas ce que ce code a à voir avec vos questions originales. Stick avec le code de Ken. –