可以用TINIFILE类,及WIN32下TREE试试.

解决方案 »

  1.   

    我刚save了一个treeview,效果如下:实际上你把文件村成下列格式即可。
    ini文件肯定是不支持了。
    dfd
    df
    f
    d

    dfd
    df
    d
    dfd
    df
    fdfd
    fdfd
    df
    df
      

  2.   

    错了!!
    每一层空8格
    dfd
            df
                    df
                    df
            df
    dfd
            df
                    df
      

  3.   

    看来我没有说清楚,我强调一遍。我不是读取文本文件,而且ini文件的格式是已有的,不要改动。我就是要快速的把ini文件里面的内容读到treeview里面,快速的读取!!! btw:金山游侠里面的攻略可是这样的。如果我说的不清楚可以补充,分少的话我可以加。
      

  4.   

    知可能两种途径
    一种是提高读ini的速度。一个是提高插入treeview的速度。
    tinifile一封装好,要提高这个速度不大可能。只能提高treeview的速度。
    你开始采用的是普通的方法。而且vcl限制每个时刻才能有一个线程操作界面.
    应该是这方面速度限制比较大!
    所以我认为,变通的方法是,对ini的每个section(或几个),生成一个线程,然后每一个线程负责将每个section的内容生成一个子treeview,然后再把这些子的treeview插入,
    你界面上的那个主treeview。
    这样,速度应该能够提升。
      

  5.   

    虽然我线程用的不多,还是谢谢你了 missile 请问有简单一些的方法吗。不择手段,只要能快速的读入就行。
      

  6.   

    楼上的老兄的方法太麻烦了!对ini的每个section(或几个),生成一个线程????
    太恐怖了!!!你可以把ini文件看成文本文件,建立一个文件变量,把那个ini文件赋给它,然后编写一个函数readln...if ...then 给treeview增加节点就会快多了!不要用Borland的TIniFile的readsections和readsection方法,太慢了。
    给点分吧!我的分太少了^_^
      

  7.   

    我还推荐你试试,因为你边插入,要边显示!所以,你先把
    treeview.ownerdraw设为true,然后,插入,插入试就不显示了。
    插入完成后,再treeview.ownerdraw=false,在调用treeview.repaint
    画上去。你试试看如何。说一下能提快多少!
      

  8.   

    我有个比较笨的办法,将Ini文件读出,并转换到TREEVIEW的保存所有的格式,然后用TREEVIEW的读入函数读出!
      

  9.   

    我在网吧 只有明天再给你说效果怎样了 missile
      

  10.   

    速度太慢是由于刷新的问题,使用以下方法可以解决。
    首先:TreeView1.Items.BeginUpdate;
    然后加入各节点
    最后:TreeView1.Items.EndUpdate;给分吧:)
      

  11.   

    : GOHKI(豪鬼) :
    咱们是同个思路,怎么我就没找到这个函数!!