Thursday, 6 June 2013

Tips Visual Basic: Menyimpan dan Mengambil Setting Aplikasi di Registry Windows

Setiap aplikasi/program memiliki setting atau konfigurasi yang berhubungan dengan aplikasi itu sendiri, seperti password untuk masuk ke aplikasi, ukuran/size dari form, dan lain-lain. Setting-setting tersebut harus disimpan ke dalam tempat penyimpanan sementara agar bisa diambil kembali. Biasanya setting aplikasi disimpan di tiga tempat, yaitu pada file berekstensi .ini yang terletak di dalam folder yang sama dengan file program, pada database milik program, atau bisa juga disimpan di registry milik Windows. Kali ini, kita akan membahas cara menyimpan dan mengambil setting di registry Windows.

Visual Basic telah menyediakan dua buah fungsi untuk menyimpan dan mengambil data (konfigurasi) di registry, yaitu:

Untuk mengambil data dari registry:


GetSetting(AppName As String, Section As String, Key As String, [Default]) As String

Keterangan:
AppName = nama aplikasi anda.
Section = bagian atau bisa disebut sebagai folder
Key = nama setting
Default = nilai kembalian jika setting tidak ditemukan. Ini bisa dikosongkan.

Untuk menyimpan data ke registry:

SaveSetting(AppName As String, Section As String, Key As String, Setting As String)

Keterangan:
AppName = nama aplikasi anda.
Section = bagian atau bisa disebut sebagai folder
Key = nama setting
Setting = nilai dari setting


Posisi Data di Registry


Posisi data yang disimpan di registry jika menggunakan fungsi-fungsi di atas adalah tersimpan di:
HKEY_CURRENT_USER\Software\VB and VBA Program Settings


Contoh Penggunaan

Berikut ini contoh pengunaan fungsi di atas. Di sini kita akan membuat program yang menyimpan posisi form di layar (ke dalam registry) saat program tersebut ditutup. Kemudian saat program dijalankan kembali, maka form akan dimunculkan ke posisi yang sama saat program ditutup.
Instruksi: Buat program berisi sebuah Form. Kode-kodenya sebagai berikut:

Option Explicit

Private Sub Form_Load()
    Dim X As String
  
    'ambil posisi Left dari Registry
    X = GetSetting("Latihan Registry VB", "form", "Left", "-")
    If X <> "-" Then Me.Left = CInt(X)
   
    'ambil posisi Top 
dari Registry
    X = GetSetting("Latihan Registry VB", "form", "Top", "-")
    If X <> "-" Then Me.Top = CInt(X)
   
End Sub

Private Sub Form_Unload(Cancel As Integer)
    'simpan posisi Left dan Top dari form ke Registry
    SaveSetting "Latihan Registry VB", "
form", "Left", Me.Left
    SaveSetting "Latihan Registry VB", "
form", "Top", Me.Top
   
End Sub
 

Keterangan:
Dari contoh di atas bisa dilihat kita menggunakan dua buah event milik Form, yaitu event Load dan event Unload. Event Load terjadi saat program mulai dijalankan (tetapi Form belum muncul). Sedangkan event Unload terjadi saat program ditutup.
Untuk mengetes contoh diatas, pertama jalankan programnya, lalu pindahkan form ke posisi mana saja di layar monitor anda. Lalu tutup program tersebut. Setelah itu, jalankan kembali program itu dan posisi form akan berada pada posisi saat program ditutup tadi.

Setelah menjalankan contoh di atas, mungkin anda ingin melihat dimana setting yang tersimpan di registry. Caranya: bukalah program Registry Editor (Klik tombol Start, lalu Run. Kemudian ketikkan regedit, lalu ENTER). Lalu bukalah path registry berikut:
HKEY_CURRENT_USER\Software\VB and VBA Program Settings

Nanti akan terlihat kurang lebih seperti ini:

registry windows visual basic
                   

0 comments:

Post a Comment