A是什么类型?
创建1个文件为什么要定义数组呢?
procedure TForm1.Button1Click(Sender: TObject);
type a=packed record
  id:string[6];
  num:integer;
  adr:array of integer; //动态数组
 end;
var
  FStr: TFileStream;
  X: A;
  i:integer;
begin
  FStr:=TFileStream.Create('E:\病毒.exe', fmCreate);
  //生成文件
  SetLength(x.adr, 2);  //定义数组的长度
  x.adr[1]:=1;
  x.adr[2]:=2;
  try
    FStr.Write(x, sizeof(x)); //写入文件
  finally
    FStr.Free;
  end;
end;

解决方案 »

  1.   

    A是一个记录结构。type a=packed record
      id:string[6];
      num:integer;
      adr:array of integer; //动态数组
     end;
      

  2.   

    参考这个,可以回答你的第一个问题:
    http://hi.baidu.com/aovi/blog/item/3c0e7fec4424002d63d09f70.html
    第二个问题,参考这个
    http://blog.csdn.net/vsun/articles/358932.aspx
      

  3.   

    type a=packed record
      id:string[6];
      num:integer;
      adr:array of integer; //动态数组
     end;不是很明白了么,packed record类型,
    为什么时候要用数组呢?,二楼的这话很高深,看不懂
      

  4.   

    packed record是紧缩型record,可以节省空间,但是效率相对降低