for i := 0 to tv1.Items.Count - 1 do
  tv1.Items[i] ...

解决方案 »

  1.   

    递归算法:
    procedure gonode(tpnode:TTreeNode);
    var
      i,delnode : Integer;
    begin
       For i := 0 To tpnode.count-1 do begin //递归调用遍历所选结点的所有子结点
         showmessage(str);
         //在这里加入你要的代码
         if tpnode.Item[i].getFirstChild <> nil then gonode(tpnode.item[i]);
      end;
    end;
      

  2.   

    var
      i: Intger;
    begin
      for i := 0 treeview1.items.count -1 do
      begin
        //treeview1.items[i]  
      end;
    end;
      

  3.   

    笔误,showmessage(str);显示你遍历的结点,你可以这样:
    procedure gonode(tpnode:TTreeNode);
    var
      i,delnode : Integer;
    begin
       For i := 0 To tpnode.count-1 do begin //递归调用遍历所选结点的所有子结点
         str:=str+tpnode.Item[i].Text;
         showmessage(str);
         //在这里加入你要的代码
         if tpnode.Item[i].getFirstChild <> nil then gonode(tpnode.item[i]);
      end;
    end;