delphiWindows 下编译 EXE 文件时把一个外部 txt 文件编译到 EXE 里面  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphiWindows 下编译 EXE 文件时把一个外部 txt 文件编译到 EXE 里面


写程序时,边写程序边写文档。其中一些文档,可以打包进 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;


推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.03399395942688 seconds