文本文件a.txt内容如下:
1,000926,福星股份,12.3,,%
2,000002,万科A,9.35,,元
文本文件内容如上面所示,我需要把内容读到listview中去,怎么做?请举例。二、listview中的内容变为:
3,000936,福星股份,12.3,,%
4,000012,万科A,9.35,,元
 后,将其写入刚才的文件a.txt中,并要求清空原来的内容,写入现在的。

解决方案 »

  1.   

    看样子一般采用如下方法读取每一行,然后用‘,’号分隔(采用tstringlist),依次取其中的数据添加到listview,
      

  2.   

    首先你要确认你的数据里的逗号是半角逗号(英文的逗号).然后像这样:
    procedure TForm1.DateTimePicker1Click(Sender: TObject);
    var
      tmpList : TStringList;
      s: string;
    begin
      tmpList := TStringList.Create;
      tmpList.CommaText := 'a,b,c,d';
      s := tmpList[0];
      //这样做以后 tmpList.count就等于4了,然后你就可以通过访问它的元素来取得每个成员了,
      //如tmpList[0]就等于'a',tmpList[1] 等于'b'....以此类推.
      //另外  tmpList.DelimitedText和tmpList.Delimiter两个属性你可以关注一下,惊喜在后面.
    end;GOOD LUCK!
      

  3.   


    var
      item : TListItem;
      strs:TStrings;
      str:string;
      iter:integer;
    begin
      iter := 0;
      while iter < lineCountOfYourFile{//TODO} do
      begin
        str := readLine;//TODO
        strs := TStringList.Create;
        strs.Delimiter := ',';
        strs.DelimitedText := str;
        item := ListView1.Items.Add;
        item.Caption := IntToStr(iter+1);
        item.SubItems := strs;
        strs.Free;
        inc(iter);
      end;end;写入文件部分outStrs := TStringList.Create;
      while forSettingAllItems do
      begin
        strs := TStringList.Create;
        strs.Add(item.Caption);
        strs.AddStrings(item.SubItems);
        str := strs.CommaText;
        outStrs.AddStrings(str);
        inc(someIter);
        strs.Free;
      end;
      outStrs.SaveToFile(fileName);
      outStrs.Free;
      

  4.   

    楼上的你好
    var
      item : TListItem;
      strs:TStrings;
      str:string;
      iter:integer;
    begin
      iter := 0;
      while iter < lineCountOfYourFile{//TODO} do//这句应该是读出文本文件的行数吗?怎么做?
      begin
        str := readLine;//TODO//这句什么意思?读出某行?怎么做?
        strs := TStringList.Create;
        strs.Delimiter := ',';
        strs.DelimitedText := str;
        item := ListView1.Items.Add;
        item.Caption := IntToStr(iter+1);
        item.SubItems := strs;
        strs.Free;
        inc(iter);
      end;end;
      

  5.   


    procedure TForm1.Button1Click(Sender: TObject);
    var
      i,j: integer;
      Opendialog: TOpenDialog;
      StrList,vStrList: TStringList;
    begin
      OpenDialog := TOpenDialog.Create(nil);
      StrList := TStringList.Create;
      vStrList := TStringList.Create;
      try
        if OpenDialog.Execute then
        begin
          StrList.LoadFromFile(OpenDialog.FileName);//加载文本文件
          for i:=0 to StrList.Count-1 do
          begin
            vStrList.Clear;
            vStrList.Delimiter := ',';//分隔符
            vStrList.DelimitedText := StrList[i]; //加载字符串
            with ListView1.Items.Add do
            begin
              Caption := vstrList[0];
              for j:=0 to vStrList.Count-1 do
              begin
                SubItems.Add(vStrList[j]);
              end;
            end;
          end;
        end;
      finally
        Opendialog.Free;
        StrList.Free;
        vStrList.Free;
      end;
    end;
      

  6.   

    while not Eof(myFile) do
      begin
        ReadLn(myFile, str);
        ...
        ...
      end;