Membuat Aplikasi Asosiasi Ekstensi File Menggunakan Delphi

بسم الله ارحمن ارحيم



Alhamdulillahi rabbil 'aalamiin
Dalam kesempatan ini, saya yang bertanda tangan di bawah ini,hehe. Kayak surat dinas aja. Khair sahabatku, sekarang ana mau berbagi lagi tentang ilmu delphi programming, tapi yang sederhana-sederhana aja. Karena ana juga pemula unutk delphi programming. Adapun yang ana bagi dalam kesempatan ini adalah Bagaimana kita membuka suatu file dengan ekstensi tertentu menggunakan aplikasi yang kita buat. Sebagai contoh file dengan ekstensi *.mp3 jika kita klik 2 kali maka otomatis dibuka dengan Media Player, contol lain lagi seperti file dengan ekstensi *.txt dapat dibuka menggunakan aplikasi notepad dengan klik 2 kali pada file tersebut. Suda paham gak akhi wa ukhti? Mudah-mudahan paham ya, aamiin.
Oke, langsung aja buat project delphi baru, beri nama dengan appAsosiasi
1. Tambahkan 2 Edittext, 2 buah tombol, 1 buah OpenDialog, 2 buah Label dan 1 buah Memo
2. Buat rancangan seperti gambar di bawah ini :

3. Ketik coding function berikut di bawah kode implementation

implementation

{$R *.dfm}

function RegisterFileType(ExtName:String; AppName:String):boolean;
var
  reg:TRegistry;
begin
  reg := TRegistry.Create;
  try
   reg.RootKey:=HKEY_CLASSES_ROOT;
   reg.OpenKey('.' + ExtName, True) ;
   reg.WriteString('', ExtName + 'file') ;
   reg.CloseKey;
   reg.CreateKey(ExtName + 'file') ;
   reg.OpenKey(ExtName + 'file\DefaultIcon', True) ;
   reg.WriteString('', AppName + ',0') ;
   reg.CloseKey;
   reg.OpenKey(ExtName + 'file\shell\open\command', True) ;
   reg.WriteString('',AppName+' "%1"') ;
   reg.CloseKey;
   result := true;
  finally
   reg.Free;
  end;
  SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil) ;
end;

4.Pilih Event OnCreate pada form, ketik coding berikut :
procedure TFormUtama.FormCreate(Sender: TObject);
begin
EditOpenWith.Text := Application.ExeName;
if ParamCount > 0 then
  begin
    MemoIsiFile.Lines.LoadFromFile(ParamStr(1));
  end;
end;

5. Pada Event tombol cariexe OnClick ketik coding berikut :
procedure TFormUtama.TomCariExeClick(Sender: TObject);
begin
if DialogExe.Execute then
  begin
    EditOpenWith.Clear;
    EditOpenWith.Text := DialogExe.FileName;
  end;
end;

6. Kemudian pada Event tombol AsosiasiEkstensi ketik coding berikut :
procedure TFormUtama.TomAsosisasiEkstensiClick(Sender: TObject);
var
  ekstensi : string;
begin
ekstensi := EditTulisEkstensi.Text;
if ekstensi[1] = '.' then
  begin
    ekstensi := Copy(ekstensi,2,length(ekstensi));
  end;
if RegisterFileType(ekstensi,EditOpenWith.Text) = true then
  begin
    MessageBox(0,PChar('File dengan ekstensi '+QuotedStr('*.'+ekstensi)+#13+
    'akan dibuka dengan aplikasi '+ExtractFileName(EditOpenWith.Text+#13+
    'coba klik 2 kali pada file yang berekstensi '+QuotedStr('*.'+ekstensi))),PChar('Informasi'),MB_OK+MB_TASKMODAL+MB_ICONINFORMATION);
  end
else
  begin
    MessageBox(0,PChar('Gagal melakukan asosiasi file'),PChar('Kesalahan'),MB_OK+MB_TASKMODAL+MB_ICONINFORMATION);
  end;
end;

7. Jalankan program
Jika tidak ada error maka aplikasi sudah selesai, sekarang untuk melakukan asosiasi pada ekstensi file tertentu cukup ketik ekstensi file pada input ekstensi file, sebagai contoh .tes, yang berarti aplikasi akan diasosiasikan dengan file bertipe .tes

8. Pilih program aplikasi yang akan diasosiasikan dengan file pada inputan Buka Dengan

9. Tekan tombol Asosiasi ekstensi, jika berhasil lihat file yang berekstensi .tes, maka akan berubah ikonnya menjadi ikon aplikasi yang kita buat


10. Klik 2 kali pada file .tes, maka isi dari file .tes akan tampil pada memo aplikasi yang kita buat, mudah bukan?
Sahabat bisa mengembangkan dengan yang lebih expert, misalnya memainkan file mp3 atau yang lain dengan aplikasi buatan antum, terima kasih. Unutk lebih jelas, silakan akhi wa ukhti donwload contoh programnya pada link di bawah ini :
https://sites.google.com/site/banuaanam/file-dibagi/AsosiasiFile.rar?attredirects=0&d=1
Mohon maaf jika ada salah dan kekurangannya, ana juga masih belajar.
Semoga bermanfaat bagi kita semua, aamiin.





Comments

Popular posts from this blog

Pencarian String Menggunakan Delphi

Membuat Aplikasi Delphi Perhitungan Selisih Waktu