讲的是read这个函数的用法,把文本文件f1里的内容复制到f2里去!
procedure TForm1.Button15Click(Sender: TObject);
var
f1,f2:textfile;
ch:char;
begin
if opendialog1.Execute then
begin
assignfile(f1,opendialog1.FileName);
if savedialog1.Execute then
begin
assignfile(f2,savedialog1.filename) ;
rewrite(f2);
while  not eof(f1) do
begin
read(f1,ch) ;
write(f1,ch);
end;
closefile(f2) ;
end;
closefile(f1) ;
end;
end;end.
请大家修改错误的地方!

解决方案 »

  1.   

    write(f1,ch); -> write(f2,ch);
      

  2.   

    这样改了后还是有错误!
    procedure TForm1.Button15Click(Sender: TObject);
    var
    f1,f2:textfile;
    ch:char;
    begin
    if opendialog1.Execute then
    begin
    assignfile(f1,opendialog1.FileName);
    if savedialog1.Execute then
    begin
    assignfile(f2,savedialog1.filename) ;
    rewrite(f2);
    while  not eof(f1) do
    begin
    read(f1,ch) ;
    write(f2,ch);
    end;
    closefile(f2) ;
    end;
    closefile(f1) ;
    end;
    end;end.
    提示 是while那行!!
      

  3.   

    var  F1, F2: TextFile;
      Ch: Char;
    begin
      if OpenDialog1.Execute then begin
        AssignFile(F1, OpenDialog1.Filename);
        Reset(F1); <----------------------例子上可以这行哦^-^
        if SaveDialog1.Execute then begin
          AssignFile(F2, SaveDialog1.Filename);
          Rewrite(F2);
          while not Eof(F1) do
          begin
            Read(F1, Ch);
            Write(F2, Ch);
          end;
          CloseFile(F2);
        end;
        CloseFile(F1);
      end;end;
      

  4.   

    对于read这个过程 读取的内容多少是怎么实现的?
    这里我还有点疑惑
    while not Eof(F1) do
          begin
            Read(F1, Ch);
            Write(F2, Ch);
          end;
    这个循环是怎么进行下一步的?读写的时候是一个字节一个字节的读写的?默认从第一个字节开始读,然后循环一次就读下一个字节吗?
      

  5.   

    比如我这样写:读出的就是乱码!
    var  F1, F2: TextFile;
      Ch: Char;
    begin
      if OpenDialog1.Execute then begin
        AssignFile(F1, OpenDialog1.Filename);
        Reset(F1); <----------------------例子上可以这行哦^-^
        if SaveDialog1.Execute then begin
          AssignFile(F2, SaveDialog1.Filename);
          Rewrite(F2);
          while not Eoln(F1) do
          begin
            Readln(F1, Ch);
            Writeln(F2, Ch);
          end;
          CloseFile(F2);
        end;
        CloseFile(F1);
      end;end;