INCLUINDO E EXTRAINDO ARQUIVOS DO SEU APLICATIVO DELPHI

Adicionado em 28/06/2024

Compartilhar em:

Neste exemplo, vamos mostrar como você pode incluir qualquer tipo de arquivo dentro do seu executável feito em Delphi e depois extrair ele de forma correta.

Primeiramente, abra o Bloco de Notas e adicione as seguintes linhas ao documento:

ARQUIVO_1 RCDATA "D:\\Arquivo.dll"

O texto ARQUIVO_1 servirá de referência para trabalharmos com o arquivo depois. Substitua o caminho "D:\\Arquivo.dll" pelo caminho do arquivo que você deseja incluir no seu projeto (pode ser qualquer tipo de arquivo).

Agora, no Bloco de Notas, clique em Arquivo/Salvar Como. Na janela que abrir, selecione na parte inferior Tipo e mude de Documento Texto (*.txt) para Todos os Arquivos (*.*).

Salve seu arquivo com o nome que você desejar seguido da extensão .RC. Por exemplo, Arquivo.RC.

Salve como Todos os Arquivos (*.*)

Para transformar o arquivo .RC em .RES, vá até o diretório que está instalado seu Embarcadero Delphi (geralmente na pasta C:\Arquivos de Programas (x86)\Embarcadero\Studio\ seguido da versão do seu compilador.

Ao entrar no diretório, vá até a pasta bin, e encontre o programa BRCC32.exe.

Abra o Prompt de comando, e digite "CD " seguido do caminho até a pasta bin do seu delphi. No meu caso é: CD C:\Program Files (x86)\Embarcadero\Studio\22.0\bin

Digite no seu prompt de comando: BRCC32 "D:\Arquivo.RC" e pressione Enter. Neste momento, um arquivo chamado Arquivo.RES será criado na mesma pasta do seu arquivo Arquivo.RC. Note que o tamanho do arquivo Arquivo.RES deve ser o mesmo do seu arquivo.

Comandos do prompt de comando

Copie o Arquivo.RES para a pasta do seu programinha em Delphi que você irá adicionar o arquivo.

Abra seu compilador Delphi, peça uma nova aplicação VCL e vá para a página de código.

Sob a cláusula {$R *.dfm} digite {$R Arquivo.RES}.

Volte para seu Form principal, adicione um botão (TButton) e o componente SaveDialog (TSaveDialog).

Interface do aplicativo

Dê dois cliques no botão, e adicione o seguinte código:

Agora, se você rodar o seu programa e clicar sobre o botão, uma janela pedindo para salvar o arquivo irá aparecer.

Neste caso, você deve adicionar o nome completo do arquivo a ser extraído, por exemplo, Arquivo.DLL (não esqueça de adicionar a extensão).

Você receberá uma mensagem caso a extração tenha ocorrido de forma correta.

Agora, vamos verificar se o nosso arquivo DLL está integro. Neste caso, utilizamos o arquivo DLL que criamos no nosso exemplo anterior. Para ver, CLIQUE AQUI.

O nosso DLL tem uma função para verificar se um determinado número é primo.

Desta forma, adicione ao seu Form um TEdit e um novo TButton. Na propriedade Text do seu Edit, adicione um número que você desejar.

Interface do aplicativo

Dê dois cliques no novo TButton e adicione o seguinte código:

Por fim, temos que chamar a função EhPrimo de dentro da DLL. Pra isso, declare a função:

function EhPrimo(Valor: Integer): Boolean; stdcall;

Acima da declaração de variáveis globais var.

E agora adicione a segunda função:

function EhPrimo(Valor: Integer): Boolean; external 'Arquivo.dll';

Logo abaixo da cláusula: {$R Arquivo.RES}

Não se esqueça que pra funcionar, você deve extrair o arquivo DLL no mesmo diretório do seu executável.

Extraindo arquivo na pasta do programa

Agora, rode novamente seu programa, extraia o arquivo na mesma pasta do seu executável e verifique se a função de verificar o número primo está funcionando.

IMPORTANTE: se você adicionar a chamada a DLL da função EhPrimo e tentar rodar o seu programa, o programa irá esperar que o arquivo DLL já esteja na pasta. Ou seja, você deve extrair o arquivo antes de adicionar a chamada a DLL.

Usando o arquivo DLL

Bom, é isso pessoal! Espero que tenham gostado. Se tiverem alguma dúvida, não deixem de entrar em contato.