Oleh: Agung Novian
| 22 September 2011
Melanjutkan pembahasan kemarin mengenai Membuat File Resource, jika Anda sudah memiliki file resource pada project Anda, sekarang pertanyaannya adalah “Bagaimana caranya mengambil isi file resource?”.
Ternyata ada yang terlupa dari pembahasan sebelumnya. Setelah Anda berhasil membuat sebuah file reource (*.res) dengan teknik kompilasi manual, simpan file (*.res) tersebut pada folder tempat Anda menyimpan project Visual Basic Anda. Kemudian dari IDE Visual Basic, klik menu Project->Add New Resource File, kemudian pilih file resource (*.res) Anda.
Visual Basic Classic mempunyai fungsi untuk mengambil isi dari file resource. Seperti telah dijelaskan sebelumnya, Anda telah menambahkan dua tipe data ke dalam file resource yaitu berupa data string (teks) dan data custom berupa file.
Untuk dapat mengambil data string, gunakan fungsi sebagai berikut:
VB.LoadResString(id)
Pada pembahasan sebelumnya, Anda pernah menambahkan suatu data string sebagai berikut:
1, "C:|WINDOWS|system32|COMDLG32.OCX"
Anda dapat mengambil nilai string dari data tersebut, yaitu teks “C:|WINDOWS|system32|COMDLG32.OCX” dengan cara berikut ini:
'Deklarasikan variabel untuk menampung data string
Dim strData As String
'Muatkan data string
strData = VB.LoadResString(1) 'Angka 1 merupakan ID dari data string
Lalu bagaimana untuk mengambil data dari resource bertipe custom? Caranya adalah dengan menyimpannya ke dalam sebuah file, sebagai berikut:
Private Function DropFile(ByVal strTipe As Variant, _
ByVal strID As Variant, ByVal strPath As String) As Boolean
Dim DROP() As Byte
Dim blnSuccess As Boolean
Dim intFree As Long
intFree = FreeFile
On Error GoTo ErrorDrop
'Membaca data pada resource
'dan menyimpannya pada variabel dengan tipe Byte
DROP = LoadResData(strID, strTipe)
'Menyimpan data pada sebuah file
Open strPath For Binary As #intFree
Put #intFree, , DROP
Close #intFree
DropFile = blnSuccess
Exit Function
ErrorDrop:
MsgBox Err.Description, vbExclamation, "Drop Error"
End Function
Pada kode di atas, kita membuat suatu fungsi general untuk menampung data dari resource ke dalam suatu variabel kemudian menyimpannya menjadi sebuah file. Cara penggunaan fungsi di atas, adalah sebagai berikut:
If DropFile("CUSTOM", i, App.Path & "\Contoh.dll") Then
Msgbox "Silakan periksa folder project Anda", vbInformation
End If
Dengan kode di atas, Visual Basic Akan membuatkan sebuah file dengan nama “Contoh.dll”. Silakan periksa folder tempat Anda menyimpan file project Anda dengan Windows Explorer.
Ditulis di:
Fundamental,
Pemograman,
Visual Basic Classic
Penanda:
Classic,
Resource,
VB6,
Visual Basic
« [VB Classic] Membuat file resource (*.res)
| [VB Classic] iImsakiyah v2.0 »
pas drop keluar :
[Drop Error]
Resource with identifier ’0′ not found
itu kenapa ya ?
Untuk kode yang ini:
If DropFile("CUSTOM", i, App.Path & "\Contoh.dll") Then Msgbox "Silakan periksa folder project Anda", vbInformation End IfSilakan ubah “i” menjadi 1, jadi seperti ini:
If DropFile("CUSTOM", 1, App.Path & "\Contoh.dll") Then Msgbox "Silakan periksa folder project Anda", vbInformation End IfAngka 1 merupakan ID dari file resource.
wah iya udah bisa nih… thx y
tapi kok malah ke detek antivirus ya ?
Beberapa AV yang sensitif (baca: malas mendiagnosa file) memang menganggap aplikasi (exe) yang mengandung file resource sebagai virus.