Ir ao topo

Tecnobyte

Logomarca da Tecnobyte
Contato por WhatsApp

WhatsApp

(69) 3421-6756

Contato por Telefone

(69) 3421-6756

(69) 3421-6757

Enviar mensagem

Enviar

mensagem

Contato por Facebook

Facebook

Vídeos

Vídeos

Atendimento de segunda a sexta, das 08h00 às 19h00 (horário de Brasília).

Banner

Delphi - Outros

Como colocar arquivo como recurso dentro do arquivo executável (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.

Observações

Para incluir um arquivo de fonte no EXE e instalar a fonte na máquina do usuário na primeira vez que o programa for executado, combine este dica com a dica número 12.

O conteúdo desta página pode ajudar alguém? Compartilhe!