有什么简单方法可以将listview里面的记录保存到文件中?

解决方案 »

  1.   

    可以声明一个数组,首先获取Listview.items,然后把它付给数组
      

  2.   

    我想保存成tab分隔的文件。然后能够读出来,写到listveiw中去。大家有何好办法?谢谢
      

  3.   

    TListView->TStream->Raw Data Buffer->File
      

  4.   

    这应该是比较容易解决的问题.定义一个TStringList, 然后把ListView中的数据一行行写入到TstringList中保存即可.var
      strList : TStringList;
      i : integer;
    begin
      strList := TStringList.Creat;
      for i:=0 to ListView.Items.count-1 do
      begin
        strList.add(ListView.items[i].Caption+'^'+(ListView.items[i].SubItems.string[i]);
       ...
      end;
      strList.SaveToFile('c:\temp.txt');
      strList.free;
    end;读出时再按保存时的格式读出...
      

  5.   

    你 逐条记录的读取数据,然后读完一条后就写如文件啊 ;
    因为:listview中是分列的,所以一条记录,你也可以逐列的读取啊
      

  6.   

    tab其值为#9
    var list:tstringlist;i,j:integer;
    begin
    list:=tstringlist.create;
    for i:=0 to listview.items.count-1 do 
      begin
       list.add(listview.items[i].caption);
        for j:=0 to listview.items[i].subitems.count-1 do
         list.add(#9+listview.items[i].subitem[j]);
       end;
     list.free;
    end
      

  7.   

    sorry,忘记了,list.free前加上一句list.savetofile('*.txt');
      

  8.   

    谢谢。如果从文件里面读的话,是否应该是一行行读,然后分离,然后再赋值到listview中去?
      

  9.   

    要学会使用TStringList;TStringList太好用了...var
      strList : TStringList;
    begin
      strList := TStringList.Creat;
      strList.LoadFromFile('你保存的文件');
      //接下来就是对strList的操作了,简单吧.
    end;
      

  10.   

    读的时候前面没有tab的就是caption,有tab的就是subitem