Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
rvercesi Mestre
Registrado: Segunda-Feira, 29 de Novembro de 2010 Mensagens: 912 Localização: Curitiba / PR
|
Enviada: Ter Dez 14, 2010 9:59 am Assunto: embutir arquivos no EXE [RESOLVIDO] |
|
|
Eu estou usando o FastReport para gerar relatórios.
O que eu gostaria é de colocar os relatórios todos dentro do EXE para evitar de distribuir vários arquivos.
Teria como inserir esses arquivos no EXE e conseguir lê-los quando for emitir o relatório?
Editado pela última vez por rvercesi em Ter Dez 14, 2010 10:43 am, num total de 1 vez |
|
Voltar ao Topo |
|
|
rafmattos Colaborador
Registrado: Quinta-Feira, 11 de Fevereiro de 2010 Mensagens: 3416 Localização: Campo Grande/MS
|
Enviada: Ter Dez 14, 2010 10:21 am Assunto: |
|
|
tem sim.
da uma olhada, pequisada sobre Resource, quando vc compila ele é colocando dentro do seu *.exe, depois é só vc extrair
vc usa o arquivo brcc32.exe (ele se encontra dentro da pasta da delphi), para gerar o arquivo de Resource.
1° vc cria um arquivo normal e coloca os arquivos q ele vai ter dentro dele
Código: |
1 RCDATA "ConexaoRemota.exe"
2 RCDATA "D:\PRONTO\Sistemas\dmEstoque\Estoque.sql"
3 RCDATA "NotaFiscalEletronica.rav"
4 RCDATA "DANFE_Rave513.rav"
5 RCDATA "D:\PRONTO\TraducaoCX\dev-ptbr.ini"
|
e salva, por exemplo vou salvar com Estoque.rc
------------------------------------
2° Depois vc executa o arquivo brcc32, pelo DOS ou cria um arquivo *.bat para fazer isso
Código: |
C:\Projeto\brcc32 DMEstoque.rc
|
ele vai gerar 1 arquivo DMEstoque.RES, dentro dele vai ter todos os arquivos q vc colocou la no DMEstoque.RC
-------------------------------------
3° debaixo do *.dfm da tela inicial vc coloca o caminho onde ta o arquivo *.RES
Código: |
var
frmPrincipal: TfrmPrincipal;
implementation
uses uDMPrincipal;
{$R *.dfm}
{$R C:\Projeto\DMEstoque.RES}
|
PRONTO, quando vc compilar ele ja vai tar dentro do seu *.exe
--------------------------------------------------------
4° para extrair
Código: |
var
ResStream : TResourceStream;
begin
ResStream := TResourceStream.CreateFromID (HInstance, 5,RT_RCDATA);
//5 é o Indice que ele ta dentro do arquivo dmEstoque.rc
{ SE NÃO EXISTIR O ARQUIVO ELE CRIA }
if not FileExists(DMPrincipal.PathExe+'TraduçãoCX.ini') then
ResStream.SaveToFile(DMPrincipal.PathExe+'TraduçãoCX.ini');
end;
end;
|
|
|
Voltar ao Topo |
|
|
rvercesi Mestre
Registrado: Segunda-Feira, 29 de Novembro de 2010 Mensagens: 912 Localização: Curitiba / PR
|
Enviada: Ter Dez 14, 2010 10:44 am Assunto: |
|
|
Resposta completíssima!
Obrigado e parabéns pela resposta! |
|
Voltar ao Topo |
|
|
|