Lazarus中文社区

 找回密码
 立即注册(注册审核可向QQ群索取)

QQ登录

只需一步,快速开始

Lazarus IDE and 组件 下载地址版权申明
查看: 2245|回复: 3

多个流合并并保存

[复制链接]

该用户从未签到

发表于 2014-1-9 20:26:14 | 显示全部楼层 |阅读模式
这几天搞配置保存,我的配置是好几个内存表,每个内存表可以单独保存,但是多个就不方便了,用zip吧,安装控件不说,还得搞一堆的临时目录,就自己写了两个函数(MergerFile,FindFileFormMergerStream)支持,使用方式如下:
var
  LV1,LV2:TStream;
  LList:TStrings;
begin
  LV1:=TMemoryStream.Create;
  LV2:=TMemoryStream.Create;
  LList:=TStringList.Create;
  VirtualTable1.SaveToStream(LV1);
  VirtualTable2.SaveToStream(LV2);
  LList.AddObject('s1',LV1);
  LList.AddObject('s2',LV2);
  MergerFile(LList,'C:\sss.hh');
  LList.Free;
  LV2.Free;
  LV1.Free;
end;


var
  LFile,LV1,LV2:TStream;
begin
  LFile:=TFileStream.Create('C:\sss.hh',fmOpenRead);
  LV1:=TMemoryStream.Create;
  LV2:=TMemoryStream.Create;
  FindFileFormMergerStream(LFile,LV1,'s1');
  FindFileFormMergerStream(LFile,LV2,'s2');
  VirtualTable1.LoadFromStream(LV1);
  VirtualTable2.LoadFromStream(LV2);
  LV2.Free;
  LV1.Free;
  LFile.Free;
end;

[url=]uMerger.rar[/url]



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册(注册审核可向QQ群索取)

x
回复

使用道具 举报

该用户从未签到

发表于 2014-1-10 09:15:15 | 显示全部楼层
这是delphi还是lazarus下的?
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2014-1-10 11:07:44 | 显示全部楼层
这两个其实没区别
我用的都是最基本的,两个应该是通用的。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2014-1-13 13:22:39 | 显示全部楼层
回复 支持 反对

使用道具 举报

*滑块验证:

本版积分规则

QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1 )

GMT+8, 2025-5-2 01:20 , Processed in 0.057778 second(s), 9 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表