Var
   name:string;
   F:TextFile;
Begin
 ......
     Readln(f,Name);
 .....
end;
以上代码无法读取数据(文件中有数据,但一行也无法读取)。请大家指点。

解决方案 »

  1.   

    f文件只能是文本文件。二进制文件可能就不行了var   F: TextFile;
      S: string;
    begin
      if OpenDialog1.Execute then            { Display Open dialog box }
      begin
        AssignFile(F, OpenDialog1.FileName); { File selected in dialog }
        Reset(F);
        Readln(F, S);                        { Read first line of file }
        Edit1.Text := S;                     { Put string in a TEdit control }
        CloseFile(F);
      end;
    end;二进制文件
    var  FromF, ToF: file;
      NumRead, NumWritten: Integer;
      Buf: array[1..2048] of Char;
    begin
      if OpenDialog1.Execute then     { Display Open dialog box }
      begin
        AssignFile(FromF, OpenDialog1.FileName);
        Reset(FromF, 1); { Record size = 1 }
        if SaveDialog1.Execute then      { Display Save dialog box}
        begin
          AssignFile(ToF, SaveDialog1.FileName); { Open output file }      Rewrite(ToF, 1); { Record size = 1 }
          Canvas.TextOut(10, 10, 'Copying ' + IntToStr(FileSize(FromF))
            + ' bytes...');
          repeat
            BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
            BlockWrite(ToF, Buf, NumRead, NumWritten);
          until (NumRead = 0) or (NumWritten <> NumRead);
          CloseFile(FromF);
          CloseFile(ToF);
        end;
      end;
    end;
      

  2.   

    Var
       name:string;
       F:TextFile;
       s:string;
    Begin
        AssignFile(f,Name)
      try
        Reset(f);
         Readln(f,Name);
     Finally
       CloseFIle(f);
    end;
      

  3.   

    AssignFile(F,'DW.TXT');
         ReSet(f);
         Readln(f,Name,i);
         Readln(f,NumberXX);
         Readln(f,NumberCFX);
         Readln(f,NumberWDX);
         Readln(f,NumberZXX);
         Readln(f,NumberPJ);
         Readln(f,NumberCPK);
         Readln(f,NumberPPK);
         CloseFile(f);
    代码如上,所有的变量均为string类型,文件为文本文件(用记事本打开有内容)。请大家帮忙。
      

  4.   

    错了,readln(f,Name,i);应改为readln(f,Name);