当前位置:  开发笔记 > 前端 > 正文

记录需要最终确定 - 文件中不允许

如何解决《记录需要最终确定-文件中不允许》经验,为你挑选了1个好方法。

我是delphi的初学者,我遇到了终结错误e2155.我正在使用RAD 10并尝试在移动设备上运行我的程序.它在我的Windows机器上工作正常,但是当我改为Android或IOS时,它给了我终结错误.

代码:

    type
    TRaumparameter = record
      ID : string;
      Länge: string;
      Breite: string;
      Höhe: string;
      Fläche: string;
      Raumvolumen: string;
      Wände: string;
      Decke: string;
      Boden: string;
      Baujahr: string;
      Heizlast: string;
  end;
  var Aufstellraum: Traumparameter;
    { Public declarations }

  end;

var
  Form1: TForm1;

implementation
{$R *.fmx}
{$R *.iPad.fmx IOS}

procedure TForm1.speichernClick(Sender: TObject);
  var F: File of Traumparameter;
  begin
    Aufstellraum.Länge:=form2.Länge.Text;
    Aufstellraum.Breite:=form2.Breite.Text;
    Aufstellraum.Höhe:=form2.Höhe.Text;
    Aufstellraum.Fläche:=form2.Fläche.Text;
    Aufstellraum.Raumvolumen:=form2.ErgebnisRaumVol.Text;
    Aufstellraum.Wände:=form2.Wände.Text;
    Aufstellraum.Decke:=form2.Decke.Text;
    Aufstellraum.Baujahr:=form2.Baujahr.Selected.Text;
    Aufstellraum.Heizlast:=form2.Heizlast.Text;

    try
      AssignFile(F,'D:\test\1.txt');
      ReWrite(F);
      Write(F,Aufstellraum);
    finally
      CloseFile(F);
    end;
  end;

我已经尝试用[]来限制字符串的长度,但它告诉我:';' 预期,但'''发现.希望我能得到一些答案,因为我安静了一段时间没有任何成功.提前致谢!!



1> LU RD..:

当您尝试编写包含String类型的记录文件时,编译器不允许:

E2155类型'%s'需要最终确定 - 文件类型不允许(Delphi)

String是需要完成的数据类型之一,因此它们不能存储在File类型中

String无论如何,使用二进制文件类型编写带有字段的记录是没有意义的,因为您将编写地址而不是文本(字符串是引用类型).


当您声明具有专用长度的字符串时,它们被称为ShortString(值类型).ShortString但是,移动编译器不支持.

我建议你使用其他技术来存储文本.例如,了解如何将记录转换为文本json.

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有