Colocar arquivo como recurso dentro do EXE

Inclua na seção uses: Classes

Existem alguns casos em que precisamos levar para a máquina
do usuário, além do EXE, alguns arquivos sem os quais nossa
aplicação teria problema. Normalmente estes casos incluem:

- arquivos com imagem (bmp, jpeg, gif, etc);
- arquivos de fontes (TTF);
- bibliotecas (dll);
- e outros.

A partir desta dica você saberá como incluir tais arquivos
dentro do próprio EXE. Dentro do EXE podemos colocar qualquer
tipo de arquivo que se comportará como um recurso. Vamos aos
passos.

1. Crie um arquivo texto com o nome ARQ_RECURSO.RC e escreva
   neste arquivo a linha abaixo:

   NOME_DO_RECURSO RCDATA "c:\diretorio\arquivo.ext"

2. Compile este arquivo de recurso com o programa BRCC32.EXE:

   BRCC32 ARQ_RECURSO.RC   

3. Confira se foi criado um arquivo chamado ARQ_RECURSO.RES.
4. Abra um novo projeto no Delphi.
5. Salve o projeto no mesmo diretório de ARQ_RECURSO.RES.
5. Escreve a linha abaixo após a palavra implementation

   {$R ARQ_RECURSO.RES}

6. Escreva o evento OnCreate do form como abaixo:

procedure TForm1.FormCreate(Sender: TObject);
var
  Stream: TResourceStream;
begin
  Stream := TResourceStream.Create(hInstance,
    'NOME_DO_RECURSO', RT_RCDATA);
  try
    Stream.SaveToFile('c:\diretorio\arquivo_extraido.ext');
  finally
    Stream.Free;
  end;
end;

Pronto! Muito fácil! Vamos agora entender os passos citados.

Primeiro criamos um script (arquivo .rc) para gerar o arquivo
de recurso (.res). No script informamos o nome do recurso,
o tipo e o conteúdo. O conteúdo, neste caso, foi o arquivo
"c:\diretorio\arquivo.ext".

Depois compilamos o script com o compilador de recursos da
Borland (BRCC32.EXE). Este processo gerou o arquivo
ARQ_RECURSO.RES.

A seguir colocamos no código-fonte uma instrução para que
o compilador do Delphi incluísse o arquivo de recurso (.res) no
executável - {$R ARQ_RECURSO.RES}.

No evento OnCreate do form acessamos o recurso como um Stream
e o salvamos em arquivo no disco.

retirado de:
http://www.tecnobyte.com.br/dica8.html

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s