Criar arquivo de Recurso

Delphi

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


Ariovaldo

Ariovaldo

Curtidas 0

Respostas

Adriano Santos

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

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.


GOSTEI 0
Adriano Santos

Adriano Santos

21/06/2006

Ariovaldo, a função CopiarEExecutar está extraindo o arquivo Inteligencia.swf normalmente?


GOSTEI 0
Ariovaldo

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


GOSTEI 0
Adriano Santos

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

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.


GOSTEI 0
Adriano Santos

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
POSTAR