gpt4 book ai didi

德尔福XE6 : How to load resource into TMemIniFile?

转载 作者:行者123 更新时间:2023-12-02 10:29:21 24 4
gpt4 key购买 nike

我一直在运行 Delphi XE6,并尝试将只读 INI 文件放入 EXE 文件中。

我已经解决了。另外,将文件加载到 TMemo 中也可以正常工作。

我定义了以下函数,将纯 TXT INI 文件从资源加载到 TMemo 中:

procedure LoadTXTfromResource(const ResourceName: string; OutMemo: TMemo);

var
ResourceStream: TResourceStream;

begin
ResourceStream := TResourceStream.Create(HInstance, ResourceName, RT_RCDATA);
try
OutMemo.Lines.LoadFromStream(ResourceStream);
finally
ResourceStream.Free;
end;
end;

它运行完美。

现在,我需要的是重新编写将上述文本文件加载到 TMemIniFile 中的过程。

<小时/>

我一直在尝试各种事情,但我似乎无法做到这一点。有什么提示吗?

最佳答案

您需要将资源流加载到字符串列表中,然后传输到TMemIniFile

procedure LoadINIfromResource(const ResourceName: string; IniFile: TMemIniFile);
var
ResourceStream: TResourceStream;
Text: TStringList;
begin
ResourceStream := TResourceStream.Create(HInstance, ResourceName, RT_RCDATA);
try
Text := TStringList.Create;
try
Text.LoadFromStream(ResourceStream);
IniFile.SetStrings(Text);
finally
Text.Free;
end;
finally
ResourceStream.Free;
end;
end;

请注意,由于您的 TMemIniFile 不是基于文件的,因此在实例化它时必须传递一个空字符串作为文件名:

IniFile := TMemIniFile.Create('');

关于德尔福XE6 : How to load resource into TMemIniFile?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46170521/

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