Como rodar uma animação flash no delphi?
Amigos,
como faço para colocar uma animação falsh no meu programa. Eu já instalei o shockwave.
como faço para colocar uma animação falsh no meu programa. Eu já instalei o shockwave.
Orlando Frade
Curtidas 0
Respostas
Henry
18/03/2004
Pooow brother, é um pocuo complicado mas vamo la....
Assim brother, tem um arquivo que ta em C:\windows\system\macromed\flash(isso se vc tive o flash instalado) o Swflash.ocx, esse arquivo ai e mais o swf que vc publico no flash, tem que ta no diretorio da tua aplicação.... Depois brother, o baguio é faze os arquivos de recurso pra Delphão lê, pra faze esse trem ai, da uma ´abrida ´ no bloco de notas e digita isso aqui ô...
SHOCKWAVEFILE RCDATA Baguio.swf
SHOCKWAVEOCX RCDATA swflash.ocx
Mas ai, o ´Baguio´ é o nome da tua anime que c publico no flash. Mas ai, salva esse arquivinho de texto no mesmo diretorio da tua aplicação, com o nome de flash.rc.
Se chego aqui ta valendo, ja crio um arquivo de recurso, mas ai, quem cria um cira dois, abre o bloco de notas la e digita esse baguio:
Brcc32 -r -32 C:\Diretorio\Flash.rc
E ai, ´C:\Diretorio\Flash.rc´ é o diretório de seu projeto, aonde vai ta aquele primeiro arquivo de recurso que c salvo la.
Entaum, agora voltamo o baguio pro Delphi mesmo, que é o que interessa né??? manda bala num componente TshockwaveFlash ai e redimensiona o bichano no tamanho do teu SWF. E entaum, ta ligado aquela guia da unit la? a implementio? deixa ela igualzinha a isso aqui...
{$R *.dfm}
{$R flash.res}
Dai ta feito a lambança....vai no oncreate do form, e bota esse aqui...
procedure Tform1.FormCreate(Sender: TObject);
var
SystemDir : array[0..MAX_PATH] of Char;
SWFDir, AppDir: String;
Fres: TResourceStream;
Ffile: TFileStream;
begin
GetSystemDirectory(@SystemDir,MAX_PATH);
SWFDir := SystemDir+´\macromed\flash\´;
GetDir(0,AppDir);
if fileexists(SWFDir+´swflash.ocx´)=false then
begin
{$i-}
MkDir(SystemDir+´\macromed´);
MKDir(SystemDir+´\macromed\flash´);
{$i+}
Fres := TResourceStream.Create (0,´SHOCKWAVEOCX´,RT_RCDATA);
Ffile := TFileStream.Create(SWFDir+´swflash.ocx´,fmCreate);
try
Ffile.CopyFrom(Fres,Fres.Size);
finally
Fres.Free;
Ffile.Free;
end;
Winexec(PChar(´regsvr32 /s´+SWFDir+´swflash.ocx´),SW_HIDE);
end;
Fres := TResourceStream.Create(0,´SHOCKWAVEFILE´,RT_RCDATA);
Ffile := TFileStream.Create(´tuaanime.swf´,fmCreate);
Try
Ffile.CopyFrom(Fres,Fres.Size);
Fres.Free;
Finally
Ffile.Free;
end;
ShockwaveFlash1.Movie := AppDir+´\tuaanime.swf´;
end;
Ufa!! oO´ é isso ai brother, agora é so compila e curti uns animes em flash, se precisa de ajuda em flash tambem brother, entendo um pouquinho de action script. Mas ai, qualquer coisa é so fala que tamo ai.....
Um abraço, Henry.
Assim brother, tem um arquivo que ta em C:\windows\system\macromed\flash(isso se vc tive o flash instalado) o Swflash.ocx, esse arquivo ai e mais o swf que vc publico no flash, tem que ta no diretorio da tua aplicação.... Depois brother, o baguio é faze os arquivos de recurso pra Delphão lê, pra faze esse trem ai, da uma ´abrida ´ no bloco de notas e digita isso aqui ô...
SHOCKWAVEFILE RCDATA Baguio.swf
SHOCKWAVEOCX RCDATA swflash.ocx
Mas ai, o ´Baguio´ é o nome da tua anime que c publico no flash. Mas ai, salva esse arquivinho de texto no mesmo diretorio da tua aplicação, com o nome de flash.rc.
Se chego aqui ta valendo, ja crio um arquivo de recurso, mas ai, quem cria um cira dois, abre o bloco de notas la e digita esse baguio:
Brcc32 -r -32 C:\Diretorio\Flash.rc
E ai, ´C:\Diretorio\Flash.rc´ é o diretório de seu projeto, aonde vai ta aquele primeiro arquivo de recurso que c salvo la.
Entaum, agora voltamo o baguio pro Delphi mesmo, que é o que interessa né??? manda bala num componente TshockwaveFlash ai e redimensiona o bichano no tamanho do teu SWF. E entaum, ta ligado aquela guia da unit la? a implementio? deixa ela igualzinha a isso aqui...
{$R *.dfm}
{$R flash.res}
Dai ta feito a lambança....vai no oncreate do form, e bota esse aqui...
procedure Tform1.FormCreate(Sender: TObject);
var
SystemDir : array[0..MAX_PATH] of Char;
SWFDir, AppDir: String;
Fres: TResourceStream;
Ffile: TFileStream;
begin
GetSystemDirectory(@SystemDir,MAX_PATH);
SWFDir := SystemDir+´\macromed\flash\´;
GetDir(0,AppDir);
if fileexists(SWFDir+´swflash.ocx´)=false then
begin
{$i-}
MkDir(SystemDir+´\macromed´);
MKDir(SystemDir+´\macromed\flash´);
{$i+}
Fres := TResourceStream.Create (0,´SHOCKWAVEOCX´,RT_RCDATA);
Ffile := TFileStream.Create(SWFDir+´swflash.ocx´,fmCreate);
try
Ffile.CopyFrom(Fres,Fres.Size);
finally
Fres.Free;
Ffile.Free;
end;
Winexec(PChar(´regsvr32 /s´+SWFDir+´swflash.ocx´),SW_HIDE);
end;
Fres := TResourceStream.Create(0,´SHOCKWAVEFILE´,RT_RCDATA);
Ffile := TFileStream.Create(´tuaanime.swf´,fmCreate);
Try
Ffile.CopyFrom(Fres,Fres.Size);
Fres.Free;
Finally
Ffile.Free;
end;
ShockwaveFlash1.Movie := AppDir+´\tuaanime.swf´;
end;
Ufa!! oO´ é isso ai brother, agora é so compila e curti uns animes em flash, se precisa de ajuda em flash tambem brother, entendo um pouquinho de action script. Mas ai, qualquer coisa é so fala que tamo ai.....
Um abraço, Henry.
GOSTEI 0
Henry
18/03/2004
Mas Orlando tem só um contra, tua aplicação vai fica do tamanho de um bonde.......
GOSTEI 0
Dedi
18/03/2004
Uma outra maneira é instalar o TShockwaveFlash faça assim:
estando o flashPlayer instalado em seu computador, No Delphi menu Component...Inport ActiveX Control na lista escolha ShockWave Flash (version 1.0) clique em install escolha into new package informe o File name por ex: MeuFlash clique em ok depois em yes na paleta ActiveX irá aparecer o TShockwaveFlash.
para usar:
Crie uma novo projeto adicione o TShockwaveFlash ao form na propriedade Movie de ShockwaveFlash1 coloque C:\MeuMovie.Swf clique em F9 pra ver como ficou....
Dedi.
estando o flashPlayer instalado em seu computador, No Delphi menu Component...Inport ActiveX Control na lista escolha ShockWave Flash (version 1.0) clique em install escolha into new package informe o File name por ex: MeuFlash clique em ok depois em yes na paleta ActiveX irá aparecer o TShockwaveFlash.
para usar:
Crie uma novo projeto adicione o TShockwaveFlash ao form na propriedade Movie de ShockwaveFlash1 coloque C:\MeuMovie.Swf clique em F9 pra ver como ficou....
Dedi.
GOSTEI 0
Orlando Frade
18/03/2004
desse jeito não serve para mim. eu preciso enviar somente o arquivo executavel. então a animação tem que ficar no arquivo .res
GOSTEI 0
Henry
18/03/2004
Bom brother ai ja foje do que eu conheço....
GOSTEI 0
Orlando Frade
18/03/2004
Você está certo. Pra colocar o flash no res basta fazer o q vc falou. Valew!
GOSTEI 0
Henry
18/03/2004
[quote:a1db5b0a53=´Orlando Frade´]Você está certo. Pra colocar o flash no res basta fazer o q vc falou. Valew![/quote:a1db5b0a53]
É brother achei estranho, tinha te passado como faze, mas ai, conseguiu?
É brother achei estranho, tinha te passado como faze, mas ai, conseguiu?
GOSTEI 0
Cebikyn
18/03/2004
Só pra constar, dá pra fazer como Dedi citou, tem uma propriedade do componente mencionado que permite que o arquivo fique anexado ao form, não havendo necessidade de distribuir o arquivo do Flash.
GOSTEI 0
Henry
18/03/2004
Pooow essa eu num sei..... como que faz Cebis???
GOSTEI 0
Cebikyn
18/03/2004
O TShockWaveFlash tem a propriedade [b:97a446f72f]EmbedMovie[/b:97a446f72f] que, quando muda pra True, anexa o arquivo especificado na propriedade [b:97a446f72f]Movie[/b:97a446f72f] ao form (igual o TImage faz com imagens).
GOSTEI 0
Orlando Frade
18/03/2004
O TShockWaveFlash tem a propriedade [b:a62f42eba4]EmbedMovie[/b:a62f42eba4] que, quando muda pra True, anexa o arquivo especificado na propriedade [b:a62f42eba4]Movie[/b:a62f42eba4] ao form (igual o TImage faz com imagens).
Valew! Funcionou.
GOSTEI 0