var
  Form1: TForm1;
   type
  studentrecord=record
  xh,xm:string[11];
  xb:boolean;
  yy,sx,dz:integer;
  end;implementation
{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
   t:studentrecord;
   f:file of studentrecord;
   size:integer;
begin
   t.xh:=edit1.Text;
   t.xm:=edit2.Text;
   t.sx:=strtoint(edit3.Text);
   t.yy:=strtoint(edit4.Text);
   t.dz:=strtoint(edit5.Text);
   if radiobutton1.Checked then
   t.xb:=true
   else
     t.xb:=false;
       assignfile(f,'f:\shuju\stu.dat');
       if fileexists('f:\shuju\stu.dat') then
       reset(f)
         else
           rewrite(f);
           size:=filesize(f);
           seek(f,size);
           write(f,t);
           closefile(f);
            edit1.Text:='';
             edit2.Text:='';
              edit3.Text:='';
               edit4.Text:='';
                edit5.Text:='';
   end;
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;end.

解决方案 »

  1.   

    ///assignfile(f,'f:\shuju\stu.dat');pathefilename := 'f:\shuju\stu.dat';
    这样不行么 
      

  2.   

    以上代码在XP、Delphi7上运行正常!
      

  3.   


    只有这个解释了。。删掉目录,果然出现这个了。var
      Form1: TForm1;
      type
      studentrecord=record
      xh,xm:string[11];
      xb:boolean;
      yy,sx,dz:integer;
      end;implementation
    {$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
      t:studentrecord;
      f:file of studentrecord;
      size:integer;
    begin
      t.xh:=edit1.Text;
      t.xm:=edit2.Text;
      t.sx:=strtoint(edit3.Text);
      t.yy:=strtoint(edit4.Text);
      t.dz:=strtoint(edit5.Text);
      if radiobutton1.Checked then
      t.xb:=true
      else
      t.xb:=false;
      if not DirectoryExists('f:\shuju') then
        if not CreateDir('f:\shuju') then
          raise Exception.Create('Can not creat the new folder: f:\shuju');
      assignfile(f,'f:\shuju\stu.dat');
      if fileexists('f:\shuju\stu.dat') then
      reset(f)
      else
      rewrite(f);
      size:=filesize(f);
      seek(f,size);
      write(f,t);
      closefile(f);
      edit1.Text:='';
      edit2.Text:='';
      edit3.Text:='';
      edit4.Text:='';
      edit5.Text:='';
      end;
    procedure TForm1.Button2Click(Sender: TObject);
    begin
    close;
    end;end.