请问怎样将Record类型数据写入、读取type
  Tmyla=record
  name:string[10];
  value1:string[5];
  value2:integer;
 end; 
var
  lalist:array of Tmylaprocedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
begin
  setlength(lalist,5); //大小可自由设定
  for i:=0 to 4 do
  begin
    lalist[i].name:=edit1.text+'_'+inttostr(i);;
    lalist[i].value1:=edit2.text;
    lalist[i].value2:=inttostr(i);
  end;
end;
如何将动态数组lalist保存至文件,打开时再从文件中读到lalist?

解决方案 »

  1.   

    定义
    type
      Tmyla=record
      name:string[10];
      value1:string[5];
      value2:integer;
     end; 
    TmylaArray=array of Tmyla;
    TmylaFile=file of TmylaArray;之后用read,write来对文件进行读写操作。参看一些pascal操作文件的例子。也可以用Delphi的TStringList来操作,安自己的格式写成文本文件
      

  2.   

    简单写了一下,自己根据需要来修改type
      Tmyla=record
      name:string[10];
      value1:string[5];
      value2:integer;
     end;
    type TmylaFile=file of Tmyla;var
      Form1: TForm1;
      lalist:array of Tmyla;
      n:integer=3;
      FileName:string='c:\test';
    implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);//写
    var  f:TmylaFile;
         i:integer;
    begin
      SetLength(LaList,n);
        for i:=0 to n-1 do
      begin
        lalist[i].name:='edit1.text'+'_'+inttostr(i);
        lalist[i].value1:='edit';
        lalist[i].value2:=i;
      end;  System.Assign(f,FileName);
      Rewrite(f);
          for i:=0 to n-1 do write(f,LaList[i]);
      System.Close(f);
    end;procedure TForm1.Button2Click(Sender: TObject);//读
    var  f: TmylaFile;
         i:integer;
    begin
      SetLength(LaList,n);
      System.Assign(f,FileName);
      Reset(f);
      for i:=0 to n-1 do
        begin
          read(f,LaList[i]);
          ShowMessage(Format('%s %s %d',[LaList[i].name,LaList[i].value1,LaList[i].value2]));
        end;
      System.Close(f);
    end;