写程序时,边写程序边写文档。其中一些文档,可以打包进 EXE 里面,然后作为程序的帮助或说明。之所以不用外部文件,是因为发布一个 EXE 就足够。新版的 EXE 自包含新版的说明,避免EXE更新了,说明文档没跟上的麻烦。
一个 .rc 资源文件,是一个文本文件。这个文本文件的内容,就是要打包引用的文本文件的文件名。
可以在一个工程里,添加一个资源文件。添加完以后,工程的 uses 前面,就会出现对这个资源文件的引用: {$R 'MyTest.res' 'MyTest.rc'}
然后,程序里就可以使用这个 MyTest.res 资源了。
因此,在代码阶段,所有东西都是可编辑的文本 -- 代码,资源文件,外部 txt 文件。
1. 自己写一个内容为程序使用方法的文本文件;
2. 在 delphi 工程里,添加一个资源文件(.rc 文件)。这是一个文本文件。给这个 .rc 文件一个名字。添加完成后,工程文件里面会自动出现对这个资源文件的引用代码。
3. 在 .rc 文件里面,添加对文本文件的引用。引用方式是写一行文本,如下:
MyRes1 Mytext Readme.txt
上述文本,第一个 MyRes1 是资源名称;第二个 Mytext 是这个资源的类型(自定义的),第三个 Readme.txt 是要引用的文本文件的文件名。
到这里,编译程序的时候,这个 Readme.txt 的内容会被编译到 EXE 里面,作为一个资源存在。
程序里,需要这个资源的地方,使用以下方式调用:
procedure TForm2.Button1Click(Sender: TObject);
var
Res: TResourceStream;
AStream: TStringStream;
S: string;
begin
//资源文件里面的内容是:MyRes1 Mytext Readme.txt
Res := TResourceStream.Create(HInstance, 'MyRes1', PChar('Mytext'));
AStream := TStringStream.Create;
try
Res.Position := 0;
Res.SaveToStream(AStream);
AStream.Position := 0;
Memo1.Lines.Add(AStream.DataString);
finally
Res.Free;
AStream.Free;
end;
end;