Criar arquivo de Recurso
Pessoal bom dia, tenho uma aplicação que utiliza 4 arquivos Flash e 6 arquivo HTML gostaria de criar um arquivo de recurso para cada tipo de arquivo, porém, pesquisando no Forum até consegui uma idéia de como fazer isso porém não sei como chamar estes arquivos. Se alguem puder me ajudar eu agradeço.
Ariovaldo
Ariovaldo
Ariovaldo
Curtidas 0
Respostas
Adriano Santos
21/06/2006
Pessoal bom dia, tenho uma aplicação que utiliza 4 arquivos Flash e 6 arquivo HTML gostaria de criar um arquivo de recurso para cada tipo de arquivo, porém, pesquisando no Forum até consegui uma idéia de como fazer isso porém não sei como chamar estes arquivos. Se alguem puder me ajudar eu agradeço.
Ariovaldo
Cara leia os tópicos a seguir:
[list:721590c8a8]
[*:721590c8a8][url=http://forum.clubedelphi.net/viewtopic.php?t=65476&highlight=resource]Como compilar 2 projetos Delphi num soh .exe um projeto cha[/url]
[*:721590c8a8][url=http://forum.clubedelphi.net/viewtopic.php?t=64707&highlight=resource]Executável dentro de um executável[/url]
[*:721590c8a8][url=http://forum.clubedelphi.net/viewtopic.php?t=77516&highlight=resource]Incluir Arquivo Word no Executavel[/url]
[*:721590c8a8][url=http://forum.clubedelphi.net/viewtopic.php?t=77421&highlight=resource]Salvar configs dentro do .exe (não .res!!)[/url]
[/list:u:721590c8a8]
GOSTEI 0
Ariovaldo
21/06/2006
Pessoal Li os Tópicos recomendados porém os arquivos que são criados após a execução da Rotina tem um Tamanho de 0 KB, segue as rotinas utilizadas:
[b:5c3a796122]Criação do arquivo SWF.RC = 1 KB[/b:5c3a796122]
Menu RCDATA Menu.swf
Agenda RCDATA Agenda.swf
Inteligencia RCDATA Inteligencia.swf
[b:5c3a796122]Criação do arquivo SWF.RES = 1073 KB [/b:5c3a796122]
C:\Arquivos de Programas\Borland\Delphi7\Bin\brcc32 -r -32 Ariovaldo\Recurso\SWF.RC
[b:5c3a796122]Rotina que utiliza o Recurso[/b:5c3a796122]
unit Principal;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{$R swf.RES}
procedure CopiarEExecutar;
var
DirDestino : String;
NomeArquivo: String;
Fres : TResourceStream;
fFile : TFileStream;
begin
DirDestino := ´C:\Ariovaldo\Recurso\Temp\´;
NomeArquivo := ´Inteligencia.swf´;
{Cria uma instância de TResourceStream para manipulá-lo mais tarde}
Fres := TResourceStream.Create(0,´Inteligencia´,RT_RCDATA);
try
{Cria em memória o arquivo gravado no Resource}
fFile := TFileStream.Create(DirDestino + NomeArquivo,fmCreate);
finally
{Libera as variáveis necessárias.}
Fres.Free;
Ffile.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
[b:5c3a796122]CopiarEExecutar;[/b:5c3a796122]
end;
end.
[b:5c3a796122]Criação do arquivo SWF.RC = 1 KB[/b:5c3a796122]
Menu RCDATA Menu.swf
Agenda RCDATA Agenda.swf
Inteligencia RCDATA Inteligencia.swf
[b:5c3a796122]Criação do arquivo SWF.RES = 1073 KB [/b:5c3a796122]
C:\Arquivos de Programas\Borland\Delphi7\Bin\brcc32 -r -32 Ariovaldo\Recurso\SWF.RC
[b:5c3a796122]Rotina que utiliza o Recurso[/b:5c3a796122]
unit Principal;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{$R swf.RES}
procedure CopiarEExecutar;
var
DirDestino : String;
NomeArquivo: String;
Fres : TResourceStream;
fFile : TFileStream;
begin
DirDestino := ´C:\Ariovaldo\Recurso\Temp\´;
NomeArquivo := ´Inteligencia.swf´;
{Cria uma instância de TResourceStream para manipulá-lo mais tarde}
Fres := TResourceStream.Create(0,´Inteligencia´,RT_RCDATA);
try
{Cria em memória o arquivo gravado no Resource}
fFile := TFileStream.Create(DirDestino + NomeArquivo,fmCreate);
finally
{Libera as variáveis necessárias.}
Fres.Free;
Ffile.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
[b:5c3a796122]CopiarEExecutar;[/b:5c3a796122]
end;
end.
GOSTEI 0
Adriano Santos
21/06/2006
Ariovaldo, a função CopiarEExecutar está extraindo o arquivo Inteligencia.swf normalmente?
GOSTEI 0
Ariovaldo
21/06/2006
[quote:60268c884b=´Adriano Santos´]Ariovaldo, a função CopiarEExecutar está extraindo o arquivo Inteligencia.swf normalmente?[/quote:60268c884b]
Adriano extrai o arquivo Inteligencia.swf para o diretório C:\Ariovaldo\Recurso\Temp\ com Tamanho de 0 KB
Adriano extrai o arquivo Inteligencia.swf para o diretório C:\Ariovaldo\Recurso\Temp\ com Tamanho de 0 KB
GOSTEI 0
Adriano Santos
21/06/2006
[quote:a7f59323b2=´Adriano Santos´]Ariovaldo, a função CopiarEExecutar está extraindo o arquivo Inteligencia.swf normalmente?
Adriano extrai o arquivo Inteligencia.swf para o diretório C:\Ariovaldo\Recurso\Temp\ com Tamanho de 0 KB[/quote:a7f59323b2]
Faltou a principal função:
{Copia do Resource}
Ffile.CopyFrom(Fres,Fres.Size);
GOSTEI 0
Ariovaldo
21/06/2006
Adriano foi Mal cara, achei que esta linha de comando fosse responsável por copiar o arquivo para outro Local, agora deu certo.
Valeu.
Valeu.
GOSTEI 0
Adriano Santos
21/06/2006
Adriano foi Mal cara, achei que esta linha de comando fosse responsável por copiar o arquivo para outro Local, agora deu certo.
Valeu.
Sem problemas. Este método copia do Resource para ´fora´.
GOSTEI 0