请高手看看到底是什么问题,读不出来数据啊,用记事本打开看明明是三条记录,可循环了5次。不明白问题到底出在哪  type
    sjjl3=record
    sj:string[8];
    rq:string[10];
    yl:integer;
  end;var
  zcxx1:sjjl3;
    AssignFile(F1,'W1.csv');
    Reset(F1);
    seek(F1,2); //从第二行读起
    while not(eof(F1)) do
    begin
      read(F1,zcxx1);
     ......  
    end

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      strlist: TStringList;
    begin
    strlist := TStringList.Create;
    strlist.LoadFromFile('C:\text.csv');
    memo1.Lines.AddStrings(strlist);
    strlist.Free;
    end;
      

  2.   

    用了1楼的方法没读出来加在memo中的中有一个?。用记事本打开CSV是这样的。
           时间      日期       人员     托盘     线号      转子     定子
    17:40 2010/11/27 00011 00027 00017 00040 21061
    17:40 2010/11/27 00011 00027 00017 00040 21338
    17:41 2010/11/27 00011 00027 00017 17492 19010这样的CVS文件怎么读?急死了!!!!!!!!
      

  3.   

    用stringgrid 或者AdvStringGrid 读呗 
      

  4.   

    最簡單的
    procedure TForm1.btn1Click(Sender: TObject);
    var
      CsvData: TStringList;
      I: Integer;
    begin
      CsvData:= TStringList.Create;  try
        CsvData.LoadFromFile('ee.csv');
        for I := 0 to CsvData.Count -1 do
        begin
          mmo1.Lines.Add(Pchar(CsvData.ValueFromIndex[I]) + 11);
        end;
      finally
        CsvData.Free;
      end;  end;
      

  5.   

    7楼的,这段代码试过了,但提示undeclared indentifier :Valuefromindex我用的是delphi 7
      

  6.   

    procedure TForm1.Button2Click(Sender: TObject);
    var
      strlist: TStringList;
    begin
      strlist := TStringList.Create;
      try
        strlist.LoadFromFile('c:/test.csv');
        memo1.Lines.AddStrings(strlist);
      finally
        strlist.Free;
      end;
    end;
    方法很多,网上随便找找就行了。上面这个我已经测试过了可以读出来,如果还不行,那就是你的delphi版本问题
      

  7.   

    找到原因了,可能是因为这个CSV文件是unicode格式写的,请问这应该怎么读?
      

  8.   

    麻烦了,还要编码转换的呀。
    把读出的数据用这个函数转换试试。
    UTF8ToAnsi(Value);