try
      Reset(F);
      if MessageDlg('确定要删除?'+OpenDialog1.FileName+'文件?',
      mtConfirmation,[mbYes,mbNo],0)=mrYes then
      begin
        CloseFile(F);
        Erase(F);
      end;
    except
      on EInOutError do
        MessageDlg('File I/O error.',mtError,[mbOk],0);
end;
//总是在Erase后面出现'.'excepted but '(' found 
//怎么回事?

解决方案 »

  1.   

    procedure TForm1.Button2Click(Sender: TObject);
    var
      F: Textfile;
    begin
      OpenDialog1.Title := 'Delete File';
      if OpenDialog1.Execute then begin
        AssignFile(F, OpenDialog1.FileName);
        try
          Reset(F);
          if MessageDlg('Erase ' + OpenDialog1.FileName + '?',
            mtConfirmation, [mbYes, mbNo], 0) = mrYes then
          begin
            CloseFile(F);
            Erase(F);
          end;
        except
          on EInOutError do        MessageDlg('File I/O error.', mtError, [mbOk], 0);
        end;
      end;end;
      

  2.   

    问题可能是Erase(F); 1.F这个文件指针,没有AssignFile
    2.所指向的文件不存在,或者没有权限Erase