定义一个记录类型
type 
    TRec=record;
    no:string[5];
    name:string[10];
    xb:string[2];
    address:string[40];
    end;
又有如下定义
var
  FriendRec:TRec
  FriendFile:File of  TRec;
在一个按钮的单击事件中新建一个基于上述记录的文件。
有人告诉我先用assignfile把文件与FriendFile关联,再用rewrite
如: 
  assignfile(FriendFile,'e:\a');
  rewrite(FriendFile);
这样可以创建一个新的文件而且把文件以只写的方式打开。
而我在机器上这样试过
 rewrite(FriendFile,'e:\a');这样也可以达到同样的效果。
请问第一种方法在没有a 这个文件的时候也可以把a 文件与文件变量关联是吗?
那么我的第二种方法在创建文件的同时也一样把这个文件给打开了。。
请问两种方法是否可以替换使用。

解决方案 »

  1.   

    rewrite(FriendFile,'e:\a')这种方法不可取,它不符合Pascal的语法要求,Delphi中没有提及这个办法,只有
    assignfile(FriendFile,'e:\a');
      rewrite(FriendFile);
    才是正确的,而且使用rewrite(FriendFile,'e:\a')这种方法,不能保证以后的兼容性
      

  2.   

    AssignFile的作用只是把文件名赋给FriendFile,和文件存不存在没有关系,
    只有到了Reset或Rewrite时,才实际分配文件句柄