gpt4 book ai didi

arrays - delphi 保存和加载动态数组

转载 作者:行者123 更新时间:2023-12-03 15:20:23 29 4
gpt4 key购买 nike

请有人帮助我从流中保存和加载其动态数组

const
iGlobHolderCount = 100;

type
TFiLeSpec = record
iSize: Integer;
end;

TFileSpecLst = array of TFiLeSpec;

TFiLeSpecList = record
iMin: Integer;
iMax: Integer;
iCount: Integer;
FileSpecLst: TFileSpecLst;
end;


var
FFileSpec: array of TFiLeSpec;

FFileSpecList: array [1 .. iGlobHolderCount] of TFiLeSpecList;

最佳答案

首先写入数组的长度,然后写入数组数据:

type
TItem = Integer;
TItemArray = array of TItem;

var
Stream: TStream;
Arr: TItemArray;
L: LongWord;

begin
Arr:= TItemArray.Create(1, 2, 3);
// To save
Stream:= TFileStream.Create('C:\Temp\test.bin', fmCreate);
L:= Length(Arr);
Stream.WriteBuffer(L, SizeOf(L));
Stream.WriteBuffer(Pointer(Arr)^, L * SizeOf(TItem));
Stream.Free;
// To load
Stream:= TFileStream.Create('C:\Temp\test.bin', fmOpenRead);
Stream.ReadBuffer(L, SizeOf(L));
SetLength(Arr, L);
Stream.ReadBuffer(Pointer(Arr)^, L * SizeOf(TItem));
Stream.Free;
end;

关于arrays - delphi 保存和加载动态数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9032115/

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