Incluir Arquivo Word no Executavel
Como faço para incluir um arquivo Word , Excel no executável do meu aplicativo. Gostaria de distribuir só um arquivo para mweu cliente , e quando necessário , salvar o arquivo em disco , usá-lo e depois apagar do disco. É possível usar como um resource , stream etc...
Como faço. Alguém já passou por isto ?
Agradeço antecipadamente.
Como faço. Alguém já passou por isto ?
Agradeço antecipadamente.
Emerson Azevedo
Curtidas 0
Respostas
Adriano Santos
24/05/2006
[quote:c337ae295e=´Emerson Manuel Azevedo´]Como faço para incluir um arquivo Word , Excel no executável do meu aplicativo. Gostaria de distribuir só um arquivo para mweu cliente , e quando necessário , salvar o arquivo em disco , usá-lo e depois apagar do disco. É possível usar como um resource , stream etc...
Como faço. Alguém já passou por isto ?
Agradeço antecipadamente.[/quote:c337ae295e]
[url=http://forum.devmedia.com.br/viewtopic.php?t=65476&highlight=resource&sid=66fd0ccfc1e221626fbbbd6def056643]Neste tópico[/url] tem uma explicação.
Como faço. Alguém já passou por isto ?
Agradeço antecipadamente.[/quote:c337ae295e]
[url=http://forum.devmedia.com.br/viewtopic.php?t=65476&highlight=resource&sid=66fd0ccfc1e221626fbbbd6def056643]Neste tópico[/url] tem uma explicação.
GOSTEI 0
Aroldo Zanela
24/05/2006
Colega,
Minha sugestão é criar o arquivo no momento que for necessário. O Delphi possui uma paleta de recursos (servers) que simplifica esta implementação. Basicamente, pode utilizar TypeText para ´descarregar´ o texto desejado.
Minha sugestão é criar o arquivo no momento que for necessário. O Delphi possui uma paleta de recursos (servers) que simplifica esta implementação. Basicamente, pode utilizar TypeText para ´descarregar´ o texto desejado.
GOSTEI 0
Emerson Azevedo
24/05/2006
Boa Dica Adriano , mas eu nunca criei um recurso ou arquivo RES, como faço? Tem algum Tópico com este tema ?
GOSTEI 0
Adriano Santos
24/05/2006
[quote:451ea4e0e0=´Emerson Manuel Azevedo´]Boa Dica Adriano , mas eu nunca criei um recurso ou arquivo RES, como faço? Tem algum Tópico com este tema ?[/quote:451ea4e0e0]
Cara, é simples.
Vc cria um arquivo com a extensão .RC no bloco de notas mesmo. Lá vc vai especificar quais arquivos precisam ser adicionados ao executável, mais ou menos assim:
[quote:451ea4e0e0=´Arquivo de Recursos´]
ARQUIVO1 RCDATA NOTEPAD.EXE
ARQUIVO2 RCDATA CALC.EXE
ARQUIVO3 RCDATA C:\ARQUIVOS\MEU_ARQUIVO.DOC
[/quote:451ea4e0e0]
Obs: Você precisa colocar os arquivos na mesma pasta onde o .RC será salvo ou especificar o caminho de cada um deles como fiz no MEU_ARQUIVO.DOC
Depois disso você precisa compilar o arquivo .RC com o BRCC32.EXE para que ele se transforme em .RES e ser incorporado ao Executável.
O utilitario brcc32.exe encontra-se no diretório Bin do Delphi e é rodado no DOS via linha de comando, por exemplo:
[quote:451ea4e0e0=´Linha de comando para compilação´]
C:\Arquivos de Programas\Borland\DelphiXX\Bin\brcc32 -r -32 C:\SEU_PROJETO\ARQUIVO.RC
[/quote:451ea4e0e0]
Como disse um arquivo .RES será criado. Daí basta fazer referência a ele em seu projeto.
Inclua a diretiva de compilação:
Pra extrair/usar os dados do arquivo de recursos lembre-se do nome do recurso que foi criado. Ex:
Aqui eu estou extraindo o arquivo que foi registrado no .RES como ARQUIVO1.
Espero tê-lo ajudado.
Cara, é simples.
Vc cria um arquivo com a extensão .RC no bloco de notas mesmo. Lá vc vai especificar quais arquivos precisam ser adicionados ao executável, mais ou menos assim:
[quote:451ea4e0e0=´Arquivo de Recursos´]
ARQUIVO1 RCDATA NOTEPAD.EXE
ARQUIVO2 RCDATA CALC.EXE
ARQUIVO3 RCDATA C:\ARQUIVOS\MEU_ARQUIVO.DOC
[/quote:451ea4e0e0]
Obs: Você precisa colocar os arquivos na mesma pasta onde o .RC será salvo ou especificar o caminho de cada um deles como fiz no MEU_ARQUIVO.DOC
Depois disso você precisa compilar o arquivo .RC com o BRCC32.EXE para que ele se transforme em .RES e ser incorporado ao Executável.
O utilitario brcc32.exe encontra-se no diretório Bin do Delphi e é rodado no DOS via linha de comando, por exemplo:
[quote:451ea4e0e0=´Linha de comando para compilação´]
C:\Arquivos de Programas\Borland\DelphiXX\Bin\brcc32 -r -32 C:\SEU_PROJETO\ARQUIVO.RC
[/quote:451ea4e0e0]
Como disse um arquivo .RES será criado. Daí basta fazer referência a ele em seu projeto.
Inclua a diretiva de compilação:
{$R MEU_RECURSO.RES}
Pra extrair/usar os dados do arquivo de recursos lembre-se do nome do recurso que foi criado. Ex:
procedure TForm1.FormCreate(Sender: TObject);
procedure CopiarEExecutar;
var
DirDestino : String;
NomeArquivo: String;
Fres : TResourceStream;
fFile : TFileStream;
begin
DirDestino := ´C:\Temp\´;
NomeArquivo := ´MeuExecutavel.exe´;
{Cria uma instância de TResourceStream para manipulá-lo mais tarde}
Fres := TResourceStream.Create(0,´ARQUIVO1´,RT_RCDATA);
{Cria em memória o arquivo gravado no Resource}
fFile := TFileStream.Create(DirDestino + NomeArquivo,fmCreate);
try
{Copia do Resource}
Ffile.CopyFrom(Fres,Fres.Size);
MessageDlg(´O Arquivo: ´ + NomeArquivo + ´ foi copiado com êxito e será executado.´,mtError,[mbOK],0);
WinExec(PChar(DirDestino + NomeArquivo), SW_SHOWNORMAL);
finally
{Libera as variáveis necessárias.}
Fres.Free;
Ffile.Free;
end;
end;
begin
CopiarEExecutar;
end;
Aqui eu estou extraindo o arquivo que foi registrado no .RES como ARQUIVO1.
Espero tê-lo ajudado.
GOSTEI 0
Emerson Azevedo
24/05/2006
Obrigado Adriano.
Funcionou perfeitamente.
Um abraço.
Funcionou perfeitamente.
Um abraço.
GOSTEI 0