社区
Delphi
帖子详情
怎么把 VarArray 的东西存到一个文件中?
馋嘴蜗牛
2002-06-03 11:23:13
我 VarArrayCreate 了一个 VarArray,想把这个东西存到一个文件中,怎么做呢?听说先转成 Stream 就可以存了,可我不知道怎么转成 Stream。我的 VarArray 里都是 OleVariant 类型的数据。
...全文
127
6
打赏
收藏
怎么把 VarArray 的东西存到一个文件中?
我 VarArrayCreate 了一个 VarArray,想把这个东西存到一个文件中,怎么做呢?听说先转成 Stream 就可以存了,可我不知道怎么转成 Stream。我的 VarArray 里都是 OleVariant 类型的数据。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
馋嘴蜗牛
2002-06-04
打赏
举报
回复
black_fox(black_fox)说的可以把VarArray的东西存进去,但是我的 VarArray的每一个元素都是OleVariant类型的。我看存进去的好像都是地址,每个元素都没存进去
踢踏
2002-06-03
打赏
举报
回复
关注
短歌如风
2002-06-03
打赏
举报
回复
OleVariant的数组?
它可能不是线性的,因为每个元素又可能是数组,你总要有个转换规则吧.
netlib
2002-06-03
打赏
举报
回复
你要知道你存放内容的大小,
var
F:TfileStream;
i: integer;
begin
F:=TfileStream.Create(...;
For i:= 0 to vararraycount-1 do
F.write(Vararray[i],Size)//这里的大小你要填进去
F.free;
end;
black_fox
2002-06-03
打赏
举报
回复
给你一段hubdog的代码。。。
function FileToVariant(FileName: String): OleVariant;
var
AStream: TFileStream;
MyBuffer: Pointer;
begin
AStream:=TFileStream.create(FileName,fmOpenRead);
try
aStream.Seek(0, soFromBeginning);
Result:=VarArraycreate([0, AStream.size-1], VarByte);
MyBuffer:=VarArrayLock(Result);
AStream.ReadBuffer(MyBuffer^, AStream.Size);
VarArrayUnlock(Result);
finally
AStream.Free;
end;
end;
procedure VariantToFile(FileName: String; var AVariant: OleVariant);
var
AStream: TFileStream;
MyBuffer: Pointer;
Size: Integer;
begin
AStream:=TFileStream.create(FileName,fmCreate);
try
aStream.Seek(0, soFromBeginning);
Size:=VarArrayHighBound(AVariant,1)+VarArrayLowBound(AVariant,1)+1;
MyBuffer:=VarArrayLock(AVariant);
AStream.WriteBuffer(MyBuffer^, Size);
VarArrayUnlock(AVariant);
finally
AStream.Free;
end;
end;
馋嘴蜗牛
2002-06-03
打赏
举报
回复
TClientDataNode = class
public
TableName : String;
ClientDataSet : TClientDataSet;
end;
我做了一个 TClientDataNode 的TList列表,我想把这个存起来。
VarArrayCreate([0, (Count * 2 - 1)], VarVariant);
一个 Node 占两个,第一个存 TableName,第二个存 ClientDataSet.Data
怎么做呢?
我要把这个东西存到一个文件中
国央企如何利用数据报告优化创新资源配置?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
园区如何提升企业创新能力,增强区域竞争力?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
DDR_DDR2_DDR3_DDR4演进与关键差异_要点解读_2026.docx
DDR_DDR2_DDR3_DDR4演进与关键差异_要点解读_2026
DDR仿真方法_IBIS通道仿真与眼图_要点解读_2026.docx
DDR仿真方法_IBIS通道仿真与眼图_要点解读_2026
Delphi
5,943
社区成员
262,941
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章