合并两个ini文件,思路?

飞狼兄 2005-12-19 02:21:00
合并两个ini文件,思路?
...全文
496 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
飞狼兄 2005-12-21
  • 打赏
  • 举报
回复
楼上的,我的思路和你一样!已经搞定了!!!谢谢你
senfore 2005-12-19
  • 打赏
  • 举报
回复
procedure TForm1.ReWriteINi(Const ASrcIniFile,ADstIniFile:Tfilename);
var
Src,Dst:Tinifile;
SList,KList:Tstringlist;
i,j:integer;
begin
Src:=Tinifile.Create(ASrcIniFile);

sList:=Tstringlist.Create;
src.ReadSections(Slist);
if slist.Count > 0 then
begin
Klist:=Tstringlist.Create;
dst:=Tinifile.Create(AdstInifile);
try
for i:=0 to slist.Count -1 do
begin
src.ReadSection(slist[i],Klist);
if Klist.Count > 0 then
for j:=0 to Klist.Count -1 do
dst.WriteString(slist[i],klist[j],src.ReadString(slist[i],klist[j],''));
end;
finally
dst.Free;
klist.Free;
end;
end;
src.Free;
slist.Free;
end;

使用上面的方法,可以将一个INI文件重新写为另一个ini文件,如果你要合并两个ini文件,只要想这样的使用
ReWriteINi(Opendialog1.FileName,'c:\222.ini');
ReWriteINi(Opendialog2.FileName,'c:\222.ini');

这样就可以将两个文件存为一个ini文件里了,如果里面有重复项目,会自动重新写拉。。保证唯一特性。。

手指风 2005-12-19
  • 打赏
  • 举报
回复
遍历两个文件所以section和value,写到新的ini文件,再删原来的文件贝
happyggy 2005-12-19
  • 打赏
  • 举报
回复
uses inifiles;

var
inifileA,inifileB: TIniFile;
/////////////////////////////
procedure TForm1.Button2Click(Sender: TObject);
var
fileAStream: TFileStream;
fileBstream: TFileStream;
fileCstream: TFileStream;
begin
inifileA:= TIniFile.Create('c:\a.ini');
inifileB:= tinifile.Create('c:\b.ini');
inifileA.WriteString('AAA','AAA','A');
inifileb.WriteString('BBB','BB','B');
inifilea.Free;
inifileb.Free;
try
fileAStream:= TFileStream.Create('c:\a.ini',fmOpenRead);
fileBstream:= TFileStream.Create('c:\b.ini',fmOpenRead);
fileCstream:= TFileStream.Create('c:\c.ini',fmCreate);
fileCstream.CopyFrom(fileAStream,fileAStream.Size);
fileCstream.Position:= fileAStream.Size;
fileCstream.CopyFrom(fileBstream,fileBstream.Size);
finally
fileAStream.Free;
fileBStream.Free;
fileCStream.Free;
end;
end;

16,743

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧