Your Ad Here
Your Ad Here

Sunday, May 3, 2009

Registry pada Visual Basic

Visual Basic menyediakan fungsi-fungsi untuk melakukan akses terhadap registry. Untuk apa kita melakukan akses terhadap registry? Registry Windows berguna untuk menyimpan setting program agar dapat digunakan pada proses eksekusi program seterusnya. Misalnya untuk menyimpan posisi jendela, tampilan toolbar atau juga user name dan password.

Fungsi-fungsi tersebut adalah: SaveSetting, GetSetting, GetAllSettings dan DeleteSetting. Sintaks dari fungsi-fungsi tersebut adalah sebagai berikut:

SaveSetting appname, section, key, setting
GetSetting (appname, section, key [,default])
GetAllSettings (appname, section)
DeleteSetting appname, section [,key]

Namanya sesuai fungsinya, SaveSetting berguna untuk menulis data kedalam registry, GetSetting berguna untuk membaca nilai (value) suatu kunci dari registry, GetAllSettings digunakan untuk menampilkan kunci yang ada pada suatu seksi dan yang terakhir DeleteSetting berguna untuk menghapus seksi beserta key yang ada di dalamnya atau hanya sebuah key tertentu.

Struktur penyimpanan data pada registry yang dilakukan oleh fungsi-fungsi tersebut tampak pada gambar dibawah ini:

Struktur penyimpanan di registry

Penerapan

Lalu bagaimana penerapannya dalam program? Disini kita akan membuat sebuah aplikasi sederhana berupa form yang dapat mengingat posisi, lebar dan tingginya saat terakhir kali dijalankan.

Pertama jalankan Visual Basic anda dan buatlah sebuah project baru dan buatlah sebuah form dalam project itu. Lalu letakkan kode berikut ini pada form:


Jalankan program tersebut lalu ubah-ubahlah posisi, lebar dan tinggi dari form yang tampil, kemudian tutup form tersebut (menutupnya jangan lewat IDE VB, tetapi meng-klik tombol silang yang ada di pojok kanan atas form itu). Kemudian jalankan kembali program itu dan perhatikan bahwa posisi dan ukuran form itu akan sesuai dengan perubahan yang sudah kita buat pada eksekusi sebelumnya.

Penjelasan dari kode diatas adalah sebagai berikut:

Pada saat form dijalankan (load) fungsi GetSetting akan dijalankan untuk membaca setting pada registry yang terletak pada kunci registry "HKEY_CURRENT_USER\Software\VB and VBA Program Settings\TestApp\FormSetting". "TestApp" adalah nama aplikasi kita, "FormSetting" adalah nama section yang kita buat, sedangkan "width, height, top, left" adalah nama key yang kita buat, lalu hasil pembacaan dari fungsi itu di berikan ke properti form yang sesuai. Nilai default yang kita tetapkan pada fungsi tersebut (2500 dan 0) berguna untuk tindakan berjaga-jaga apabila nilai yang kita ingin baca dari registry ternyata tidak ada (misalnya pada saat form ini pertama kali dijalankan).

Lalu pada saat kita menutup form itu ( unload) maka fungsi SaveSetting akan menyimpan nilai dari properti form kedalam registry sesuai dengan masing-masing key yang kita buat.

Lalu bagaimana cara menghapus setting yang sudah kita buat ini? Gampang, kita tinggal menggunakan fungsi DeleteSetting. Coba sekarang kita ganti kode yang telah kita buat pada event Unload pada form menjadi seperti ini:


Perintah diatas hanya akan menghapus kunci height yang telah dibuat, bila kita ingin menghapus keseluruhan kunci yang telah kita buat maka kita cukup menyebutkan nama aplikasi dan sectionnya. Seperti dibawah ini:


Perhatian: Fungsi DeleteSetting akan menghasilkan Run-time error pada saat dipanggil bila setting registri yang ingin dihapus sudah tidak ada. Jadi bagaimana agar pesan error tersebut tidak muncul? Sangat tidak profesional bila kita membuat aplikasi lalu timbul pesan error seperti ini.

Ada banyak cara untuk ini. Tetapi cara yang lebih mudah mungkin dengan menerapkan error trapping seperti dibawah ini.


dikutip dari:
http://bulsara.host.sk

No comments:

Post a Comment

INDOCOM SPONSOR TO FIND A HOTEL