A veces puede interesar almacenar recursos en el propio ejecutable de Delphi. Ya sean imágenes que la aplicación utiliza o disponer de una hoja de cálculo que el usuario puede abrir desde la propia aplicación o una página HTML para abrirla desde el propio navegador que ofrece Delphi, etc. Además también consigues que al distribuir la aplicación con entregar el ejecutable (exe) ya es suficiente. Aquí te explico cómo hacer todo esto.

almacenar contenido como recurso en el propio ejecutable de delphi

Pasos para almacenar recursos en el propio ejecutable de Delphi:

1. Crear un fichero de texto con extensión .rc , por ejemplo ‘aboutresource.rc’

2. Editar el fichero, especificando para cada recurso y en una linea de texto el nombre del recurso, el formato y la ruta. Ejemplo:

ABOUT HTML "D:\Delphi\miproyecto\about.htm"
FINISH PNG "D:\Delphi\miproyecto\finish.png"
ACERCA_DE GIF "c:\libreria\about.gif"

3. Crear el fichero de recursos desde la línea de comandos con:

  BRCC32 aboutresource.RC

4. Añadir en la Unit que nos interese, la directiva:

  {$R aboutresource.RES}

La siguiente rutina extrae y graba en un fichero el recurso especificado donde le indiquemos:

{$R aboutresource.RES} 
procedure ExtractResource(ResType, ResName, ResNewName : String);
var
Res : TResourceStream;
begin
  Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
  Res.SavetoFile(ResNewName);
  Res.Free;
end;

Ejemplo de uso:

 ExtractResource('GIF','ACERCA_DE','c:\miabout.gif');

Recursos:
Web Site inside a Delphi EXE
Run a EXE RESOURCE file … (Read Inside)