Last Updated:

Mengganti Ikon Suatu Folder

Grup KPPDI
Grup KPPDI Delphi

Teraplikasi pada: Delphi 3 ke atas, Win 2000, XP, di atasnya.

Tampilan Icon Folder
Sebuah folder yang secara default memiliki ikon berwarna kuning. Tampilan default ini sangat bermanfaat untuk membedakan folder dari objek-objek lainnya. Namun saat Anda telah memiliki banyak folder, misalnya folder-folder koleksi album lagu, kemungkinnan Anda repot mencari Rod Steward di antara Inul Daratista, Iyeth Bustami dan Mandy Moore. Dalam kondisi seperti inilah manfaat ikon unik per folder jadi sangat membantu. Anggap Anda sudah mengganti icon folder Rod Stewart tadi dengan sebuah foto Rod Stewart yang telah dikonversi menjadi ikon. Sekali tatap saja Anda sudah menemukan folder Album Rod Stewart.

Sekarang, bagaimana mengganti ikon folder ini?

Dengan software-software yang ada saat ini, mengganti ikon folder jadi sangat mudah. Icon Packager dapat melakukannya dengan baik. Sayang Icon Packager mengganti ikon secara keseluruhan, tidak spesifik per folder. Folder Option yang ada di Win 2000 ke atas juga bisa, tapi tidak ada opsi batch (banyak folder sekaligus) dan juga tidak ada opsi rekursi, bila Anda ganti ikon satu folder, folder-folder di dalamnya dan di dalamnya lagi akan terganti ikonnya.

Anda mungkin sudah menemukan software di jagad Net yang bisa memenuhi kebutuhan ini. Tapi jujur saja, untuk saya peribadi, TANGAN SAYA GATAL UNTUK MEMBUATNYA SENDIRI, SELAGI KEKASIHKU DELPHI ADA DI SISIKU MENEMANI.Dengan menambahkan nama saya di caption form "Created by JokoRB", alamat blog saya di kiri bawa form - dan apa lagi - dan ya, foto saya yang ganteng :-) di kotak About, bukankah akan lebih hebat dan memuaskan untuk dipake?

Untuk mengubahnya, kita tinggal modifikasi file Desktop.ini di folder yang akan diubah ikonnya, atau membuatnya jika belum ada. Isi file Desktop.ini untuk menangani ikon sebuah folder kira-kira seperti ini:

[.ShellClassInfo]
IconFile=D:\reev\Icon\CNFNOT.ICO
IconIndex=0

Di mana IconFile menunjukkan file ikon yang akan digunakan, dan IconIndex menunjukkan urutan ikon dalam file ikon tersebut. Dengan menggunakan Method WriteString dan WriteInteger dari kelas TIniFile, semuanya jadi mudah, bukan?

Selanjutnya, tinggal kodenya di Delphi:
[sourcecode language='delphi']

procedure TForm1.Button3Click(Sender: TObject);

var

folder, icon, desktop: String;

begin

folder:=Edit1.text;

icon:=edit2.text;

if not DirectoryExists(folder) then

begin

ShowMessage('Folder tidak ditemukan.');

Exit;

end;

icon:=Edit2.text;

if (not FileExists(icon))

or

(not (lowercase(ExtractFileExt(icon))='.ico')) then

begin

ShowMessage('File icon tidak valid.');

Exit;

end;

if folder[length(Folder)]<>'\' then

Desktop:=Folder + '\Desktop.ini'

else

Desktop:=Folder + 'Desktop.ini';

if fileExists(Desktop) then DeleteFile(Desktop);

With TIniFile.Create(Desktop) do

begin

WriteString('.ShellClassInfo','IconFile',icon);

WriteInteger('.ShellClassInfo','IconIndex',0);

Free;

end;

SetFileAttributes(pchar(Desktop), 34);

SetFileAttributes(pchar(Folder), FILE_ATTRIBUTE_SYSTEM);

ShowMessage('Selesai.');

end;[/sourcecode]
Hanya itu? Ya, hanya ituScreen Shot

untitled.jpg
Folder Delph3i sebelum diganti ikonnya.

selesai.jpg
Proses penggantian ikon.

hasil.jpg
Folder Delph3i setelah diganti ikonnya.
Download
Download kode, EXE dan Screen Shot
(setelah download, ubah ekstensi ke .zip dan scan dulu sebelum dijalankan).

google_tag: jokorb, folder icon, delphi

Comments