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
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
Post a Comment
Selamat berkunjung di blog saya, terima kasih.