如何将TXT文件作为资源添加到我的EXE文件中?

时间:2012-01-20 14:37:32

标签: delphi delphi-xe embedded-resource

我有一个包含大约10,000行文本的TXT文件。我想在TMemo中显示这些行。 但是我不想在我的程序中分发那个TXT文件。如何使用stringtable {}将其作为资源WITHIUT集成到我的EXE文件中,因为这需要每行的标识符(因此我必须添加10000个标识符)。

_

我有Delphi XE

2 个答案:

答案 0 :(得分:37)

我通常为这种资源创建一个RC文件(基本上是一个文本文件),然后添加像

这样的行
MyText RCDATA ..\resources\filename.txt

将每个文件/资源​​放入RC文件中。如果RC文件是项目的一部分,它将被编译(到res)并链接到exe。要使用资源,我通常使用TResourceStream,即

var ResStream: TResourceStream;
ResStream := TResourceStream.Create(hInstance, 'MyText', RT_RCDATA);

BTW如果RC文件在IDE中创建时没有自动添加到项目中,那么添加

之类的行
{$R 'myExtraRes.res' 'myExtraRes.RC'}

进入项目文件,紧跟在uses列表之后。

答案 1 :(得分:4)

由于您希望在TMemo中显示文本,因此您可以在设计时将文本直接复制/粘贴到TMemo.Lines属性编辑器中。该文本将在编译时包含在拥有的表单/框架的DFM资源中,并在运行时自动加载到TMemo