gpt4 book ai didi

arrays - 将复杂记录写入文件

转载 作者:行者123 更新时间:2023-12-03 15:00:21 42 4
gpt4 key购买 nike

嗨我在我的项目中定义了一些记录,这些记录可能由其他记录以及普通数据类型和其他记录的动态数组组成,这是记录类型的示例

  Type1=record
x:integer;
end;
Type2=record
Y:array of X;
str:string;
end;

当我尝试使用 blockwrite 函数将这些记录类型的变量之一保存到文件时,如下所示:

var
Temp1:Type2;
begin
setlength(temp1.y,100);
blockwrite(MyFile,Temp1,sizeOf(Temp1);

它只是写入了纯记录的大小,但是 temp1 有一个动态数组,可以调整大小,有人可以告诉我如何将复杂的记录写入文件,我的意思是类似于 VB6 中使用的内容。谢谢

最佳答案

您可以使用https://github.com/KrystianBigaj/kblib (适用于任何动态记录,也适用于包含其他记录的记录等)。在 Delphi 2006/2009/XE 上测试(不使用 D2010 中引入的扩展 RTTI)。无需手动编写保存/加载代码(只需一行即可保存/加载任何动态类型 - 字符串、记录、动态数组)。

在你的例子中,它是……。像这样:

TKBDynamic.WriteTo(lStream, lType2, TypeInfo(Type2));

加载回来:

TKBDynamic.ReadFrom(lStream, lType2, TypeInfo(Type2));

如果有人对如何处理“记录版本”感兴趣,只需发布​​新问题,然后我会写一些示例。

类似问题:

关于arrays - 将复杂记录写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4533376/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com