Memainkan File Flash di Delphi
Ditulis oleh arifw di/pada Jumat, 1 Februari 2008
Dewasa ini perkembangan dunia animasi begitu hebat dengan hadirnya Macromedia Flash… Bagaimana memadukan program Delphi dengan memainkan file flash (*.swf). Untuk mengoptimalkan program yang kita buat, akan sangat bagus jika program kita dilengkapi dengan animasi hidup ala flash. Bagaimana cara membuat program untuk menjalankan file flash?…
Untuk memainkan file flash di Delphi kita perlu menginstal Plug-in Flash terlebih dahulu…
Setelah kita instal plug-in flash langkah berikutnya sebagai berikut :
Pada Delphi IDE
- click pada “Component”, “Import ActiveX Control”
- pilih “Shockwave Flash” and click on “install”.
Nah sekarang anda telah mempunyai komponen dengan nama TShockwaveFlash pada IDE Delphi di komponen pallet ActiveX.
LETAKKAN KOMPONEN TShockwaveFlash pada form, ubah ukuran sesuai dengan kebutuhan.
Anda memerlukan registrasi file ocx jika tidak di instal pada sasaran yang benar di komputer kita, sehingga perlu menyertakan file sumber
- File swflash.ocx dan file Flash ( *.swf).
- Copy swflash.ocx (dari cth. windows\system32\macromed\flash) dan file swf kamu ke project path.
- buat sebuah textfile dengan berisi kode seperti ini:
SHOCKWAVEFILE RCDATA yourfile.swf
SHOCKWAVEOCX RCDATA swflash.ocx
(Dimana yourfile.swf adalah swf-file Anda)
- Simpan file ini sbg flash.rc
- Pada Commandline, pindah ke dir project anda dan masukkan baris:
“Brcc32 -r flash.rc”
- Sekarang anda telah mempunyai file resource baru bernama file flash.res
{************************************************************}
uses
ShockwaveFlashObjects_TLB; // otomatis
implementation
{$R *.DFM}
{$R flash.res} // resource baru anda yang telah dibuat
{…}
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); // Get current directory
//check apakah sw-flash ocx telah ter-install
if FileExists(SWFDir + ’swflash.ocx’) = False then
begin
//buat direktori jika diperlukan dan extrak file dari resource.
{$i-} //compiler directive to suppress i/o error messages
MkDir(SystemDir + ‘\macromed’);
MKDir(SystemDir + ‘\macromed\flash’);
{$i+}
Fres := TResourceStream.Create(0, ‘SHOCKWAVEOCX’, RT_RCDATA);
Ffile := TFileStream.Create(SWFDir + ’swflash.ocx’, fmCreate);
Ffile.CopyFrom(Fres, Fres.Size);
Fres.Free;
Ffile.Free;
//register ocx (sederhana tapi berguna)
WinExec(PChar(’regsvr32 /s ‘ + SWFDir + ’swflash.ocx’), SW_HIDE);
end;
// extrak ShockwaveFile dari resource ke directory applikasi
Fres := TResourceStream.Create(0, ‘SHOCKWAVEFILE’, RT_RCDATA);
Ffile := TFileStream.Create(’flashmovie.swf’, fmCreate);
Ffile.CopyFrom(Fres, Fres.Size);
Fres.Free;
Ffile.Free;
//Assign swf file ter-extrak ke obyek TShockwaveFlash anda
FlashMovie.Movie := AppDir + ‘\flashmovie.swf’;
end;

hackinds berkata
good article
ical berkata
gw penngen ta yang enak n gampang bikin apa ya?
purno berkata
mas Arif,
kalau saya memanggil procedure yang ada di flash pake apa ya ?
misalkan dalam 1 flash kita punya benerapa animasi
nah nyuruh flash utk menampilkan animasi ke-n dari dephi bisa ngga ya ?
terimakasih
Purno