我定义了一个可变得记录
type 
  person=record
   name : string;
   age  : integer;
   school : arrary of recschool;
end;
type 
  recschool=record
    name : string;
    address : string;
end;我想把它写入到文件当中,并能读出来,怎么办?怎么写?分不够再加!!!

解决方案 »

  1.   

    这样的格式如何?[Person]
    Name=PersonName
    Age=PersonAge
    School=Name1#Address1|Name2#Address2|.......
      

  2.   

    var
      f:file of person;
      p:person;
    begin
      assignfile(f,'c:\person.dat');
      rewrite(f);   //读用reset(f);
      write(f,p);   //读用read(f,p);
      closefile(f);
    end;
      

  3.   

    我该用什么样得文件写呢?用流文件,我怎么读出来?用类型文件,定义文件得时候出错,DATAFILE : FILE OF PERSON ,PERSON是可变长度记录。
      

  4.   

    我的想法(写入文件中的):
    var
      per: person;
      i, Count: Integer;
      astream: TMemoryStream;
    begin
      {...}
      SetLength(person.school, Count);
      astream.Write(per, SizeOf(per));
      astream.Write(Count, SizeOf(Count));
      for i := 0 to Count - 1 do
        astream.Write(per.school[i], SizeOf(per.school[i]));
      astream.SaveToFile('C:\aa.dat');
      {...}