2014-05-07 61 views
0

我想知道如何在Delphi 6中使用FireMonkey實現以下代碼。TTreeView代碼轉換

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

我很欣賞你的提示答案。我注意到你創建了你自己的AddChild函數。 – Arturo

回答

2

簡單的測試表明,該代碼的工作,以嶄新的FMX高清桌面應用程序與窗體上的空TTreeView:

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

我用下面的代碼解決了我自己的問題。 – 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

呃。所有這些變量來自哪裏?即使我和J也不是本地的。我沒有看到代碼與你的原始問題有什麼關係。堅持肯的代碼。 –