Kamis, 11 Agustus 2011

Cara Membuat Aplikasi SWF-EXE Converter di Delphi 7

Selamat siang agan-agan.Siang yang sangat panas disini.Pada postingan kali ini saya akan memberikan tutorial mengenai Cara Membuat Aplikasi SWF-EXE Converter di Delphi 7.Maksudnya !? Seperti kita tau , kalau aplikasi flash itu memiliki ekstensi *.swf.Yang artinya , kita memerlukan AVM (Adobe Virtual Machine) /Flash Player untuk menjalankan aplikasi tersebut.Memang dalam program semisal adobe flash CS 4 , ada fitur untuk mengeksport aplikasi SWF kita menjadi EXE , nah kita akan membuat converter tersebut menggunakan Delphi 7.Lalu tunggu apa lagi !? Buka borland delphi 7 anda dan bersiap-siap untuk bergembira (apa sih).Yang pertama kali dilakukan , ialah kita akan menuliskan sebuah function yang bertugas untuk mengconvert file SWF menjadi EXE.Dengan 3 buah parameter bernilai string.Parameter pertama , nama file swf , selanjutnya nama output file EXE dan terakhir file flash player.Tambahkan 3 buah variabel pada deklarasi var.Yaitu tujuan ,sumber dan flashPlayer ,ketiganya bertipe String.Ketikan kode berikut setelah {$R *.dfm}

function Swf2Exe(SourceSWF, exeFile, FlashPlayer : string): string;
var
  SourceStream , DestinyStream , LinkStream : TFileStream ;
  flag : Cardinal;
  SwfFileSize : integer;
begin
  result := 'Error';
  DestinyStream := TFileStream .Create(exeFile, fmCreate);
  try
    LinkStream := TFileStream .Create(FlashPlayer , fmOpenRead or fmShareExclusive );
      try
        DestinyStream .CopyFrom(LinkStream, 0);
      finally
        LinkStream .Free;
      end;
      SourceStream := TFileStream .Create(SourceSWF, fmOpenRead or fmShareExclusive );
      try
        DestinyStream .CopyFrom(SourceStream , 0);
        flag := $FA123456;
        DestinyStream .WriteBuffer (flag, sizeof(integer));
        SwfFileSize := SourceStream .Size;
        DestinyStream .WriteBuffer (SwfFileSize , sizeof(integer));
        result := '';
        finally
          SourceStream .Free;
        end;
      finally
        DestinyStream .Free;
      end;
end;

Terlihat , kalau ketiga parameter tersebut sangat krusial.Tambahkan komponen saveDialog , openDialog , 3 buah button.Button1 berfungsi untuk mencari file SWF sekaligus menyimpannya menjadi EXE.Double klik pada button1 dan ketikan kode berikut.

procedure TForm1.Button1Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
    begin
      sumber:=OpenDialog1.FileName;
      SaveDialog1.FileName:=ChangeFileExt(sumber,'.exe');
    end;
  if SaveDialog1.Execute then
    begin
      tujuan:=SaveDialog1.FileName;
    end;
end;

Pada kode tersebut kita mengisi nilai sumber dan tujuan dengan string yang di dapat dari open dan save dialog.Button2 berfungsi untuk mencari flash player.Double klik button2 dan ketikan kode berikut.

procedure TForm1.Button2Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
    begin
      flashPlayer:=OpenDialog1.FileName;
    end;
end;

Dan yang terakhir yaitu button3 , berfungsi untuk mengeksekusi proses convert.Double klik button3 dan ketikan kode berikut.

procedure TForm1.Button3Click(Sender: TObject);
begin
  //pastikan semua variabel terisi
  if(sumber<>'')and(tujuan<>'')and(flashPlayer<>'') then
    begin
      //eksekusi function
      Swf2Exe(sumber,tujuan,flashPlayer);
      ShowMessage('Convert Selesai');
    end
  else
    begin
      //kalau ada parameter yang tidak lengkap
      ShowMessage('Parameter tidak lengkap');
    end;
end;

Beres deh.Jalankan program anda lalu pilih file swf yang akan di convert.Pilih juga file flash playernya.Lalu silahkan convert !! Kalau ternyata masih bingung , agan-agan bisa download sourcenya berikut file SWF dan flash playernya DISINI.Sekian tutorial kali ini semoga bermanfaat.

Simak Juga Tutorial Lainnya:

3 komentar:

Gilang mengatakan...

wah posting yang bener-bener bermanfaat,bisa belajar banyak nich,
ngomong-ngomong ada postingan buat mempelajajari tcpserver n tcpclient ga,saya mau coba buat aplikasi brbasis client server nich,,,makasih..

Anonim mengatakan...

Widih mukegile gan..
ijin nyoba gan..

tengkyu gan *sungkem*

Anonim mengatakan...

trus, cara balikin dari exe ke swf lagi gimana caranya gan? ane mo' ngprint daleman file swf (bentuk exe) ko' jadi repot ya? mohon pencerahannya..

Posting Komentar