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