Adakalanya kita ingin menyederhanan proses konfigurasi aplikasi, sehingga sebagian konfigurasi kita pindah pada saat instalasi.
Misal kita akan menambahkan input profil klien seperti nama, telepon, alamat dan kota.

Jadi dengan menggunakan
Inno Setup kita bisa dengan mudah melakukan hal ini, dan untuk lokasi penyimpanannya sendiri ada 2 pilihan yaitu disimpan dalam format file INI atau langsung ke registry windows.
Kita akan bahas satu-satu kodenya dan pada artikel ini saya tidak membahas skrip lengkap
Inno Setupnya karna sudah saya bahas pada artikel yang lainnya, jadi fokus kita kali ini hanya di section
[Code].
Berikut kodenya untuk menambahkan form input dan menyimpannya ke file dengan format INI.
03 | INIInputPage: TInputQueryWizardPage; |
05 | procedure InitializeWizard(); |
08 | INIInputPage := CreateInputQueryPage(wpInfoAfter, 'Konfigurasi' , 'Konfigurasi Program.' , |
09 | 'Isikan konfigurasi program ke dalam form di bawah ini.' ); |
11 | INIInputPage.Add( 'Nama' , False); |
12 | INIInputPage.Add( 'Telepon' , False); |
13 | INIInputPage.Add( 'Alamat' , False); |
14 | INIInputPage.Add( 'Kota' , False); |
16 | INIInputPage.Values[ 0 ] := GetPreviousData( 'Nama' , '' ); |
17 | INIInputPage.Values[ 1 ] := GetPreviousData( 'Telepon' , '' ); |
18 | INIInputPage.Values[ 2 ] := GetPreviousData( 'Alamat' , '' ); |
19 | INIInputPage.Values[ 3 ] := GetPreviousData( 'Kota' , '' ); |
22 | // prosedur ketika user mengklik tombol kembali, setelah pengisian form |
23 | procedure RegisterPreviousData(PreviousDataKey: Integer); |
25 | // tampilkan nilai sebelumnya yang sudah diinputkan user |
26 | SetPreviousData(PreviousDataKey, 'Nama' , INIInputPage.Values[ 0 ]); |
27 | SetPreviousData(PreviousDataKey, 'Telepon' , INIInputPage.Values[ 1 ]); |
28 | SetPreviousData(PreviousDataKey, 'Alamat' , INIInputPage.Values[ 2 ]); |
29 | SetPreviousData(PreviousDataKey, 'Kota' , INIInputPage.Values[ 3 ]); |
32 | // prosedur ketika user mengklik tombol lanjut, setelah pengisian form |
33 | function NextButtonClick(CurPageID: Integer): Boolean; |
36 | if CurPageID = INIInputPage.ID then begin |
37 | // validasi input, untuk contoh disini saya validasi semua inputan harus diisi |
38 | if (Trim(INIInputPage.Values[ 0 ]) = '' ) or (Trim(INIInputPage.Values[ 1 ]) = '' ) or |
39 | (Trim(INIInputPage.Values[ 2 ]) = '' ) or (Trim(INIInputPage.Values[ 3 ]) = '' ) then begin |
40 | MsgBox( 'Anda harus mengisikan data secara lengkap!' , mbError, MB_OK); |
44 | // jika semua input form oke, tulis ke file dengan format INI |
45 | // otomatis akan disimpan di folder instalasi dengan nama konfig.ini |
46 | SetIniString( 'Konfigurasi' , 'Nama' , INIInputPage.Values[ 0 ], ExpandConstant( '{app}' ) + '\konfig.ini' ); |
47 | SetIniString( 'Konfigurasi' , 'Telepon' , INIInputPage.Values[ 1 ], ExpandConstant( '{app}' ) + '\konfig.ini' ); |
48 | SetIniString( 'Konfigurasi' , 'Alamat' , INIInputPage.Values[ 2 ], ExpandConstant( '{app}' ) + '\konfig.ini' ); |
49 | SetIniString( 'Konfigurasi' , 'kota' , INIInputPage.Values[ 3 ], ExpandConstant( '{app}' ) + '\konfig.ini' ); |
===========================================================
Berikut contoh file INI yang dihasilkan dari kode diatas

Sedangkan untuk menyimpan langsung ke registry windows menggunakan perintah
RegWriteStringValue
===========================================================
1 | // jika semua input form oke, simpan ke registry windows |
2 | RegWriteStringValue(HKEY_CURRENT_USER, 'Software\K4m4r82`s Laboratory\Sistem Informasi Sekolah' , 'Nama' , INIInputPage.Values[ 0 ]); |
3 | RegWriteStringValue(HKEY_CURRENT_USER, 'Software\K4m4r82`s Laboratory\Sistem Informasi Sekolah' , 'Telepon' , INIInputPage.Values[ 1 ]); |
4 | RegWriteStringValue(HKEY_CURRENT_USER, 'Software\K4m4r82`s Laboratory\Sistem Informasi Sekolah' , 'Alamat' , INIInputPage.Values[ 2 ]); |
5 | RegWriteStringValue(HKEY_CURRENT_USER, 'Software\K4m4r82`s Laboratory\Sistem Informasi Sekolah' , 'Kota' , INIInputPage.Values[ 3 ]); | |
============================================================
Jika kita lihat di registry windows, hasilnya lebih kurang seperti berikut :

Selamat mencoba
source : https://coding4ever.wordpress.com/2010/12/12/menambahkan-form-input-pada-saat-instalasi-inno-setup/
0 komentar:
Posting Komentar