我定义了一个结构
  TLogStruct = Record
    OptrId      : string[20];  
    InfoId      : string[8];   
    Time        : string[8];   
    InfoBody    : string;     
  end;
在定义了一个类型文件
 TLogFile = File of TLogStruct;
但是报错,说InfoBody要指定长度,但是我希望InfoBody是变长的,我该怎么做?

解决方案 »

  1.   

    试试
    InfoBody    : pchar;
    不一定对的
      

  2.   

    这个我是过的,可以用的,但是我写一次记录中的InfoBody就会把前面的记录中的InfoBody盖掉的
      

  3.   

    可以用pchar的话,你可以另设一个指针每次指示pchar的最后一个字母,这样下次写就可以不会覆盖掉了
      

  4.   

    呵呵,谢谢各位了,我改用textfile了,现在可以了,如果大家还有什么好的建议的话,请大家告诉我,我明晚结贴
      

  5.   

    简单写了一些,很草,主要是在外面上
    procedure writeInfoBody(var another:pchar);
    var
     p:pchar;
    begin
     new(p);
     strcopy(p,InfoBody);
     new(InfoBody);
     InfoBody:=strcat(p,another);
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
     InfoBody:='ddd';
     another:='rrr';
     writeInfoBody(another);
     showmessage(InfoBody);
    end;