[VB Classic] Mengambil Data Resource
| 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.

ryan pada 2 October 2011 10:22

pas drop keluar :
[Drop Error]
Resource with identifier ’0′ not found

itu kenapa ya ?

Agung Novian pada 2 October 2011 11:40

Untuk kode yang ini:

If DropFile("CUSTOM", i, App.Path & "\Contoh.dll") Then
    Msgbox "Silakan periksa folder project Anda", vbInformation
End If

Silakan ubah “i” menjadi 1, jadi seperti ini:

If DropFile("CUSTOM", 1, App.Path & "\Contoh.dll") Then
    Msgbox "Silakan periksa folder project Anda", vbInformation
End If

Angka 1 merupakan ID dari file resource.

ryan pada 2 October 2011 18:16

wah iya udah bisa nih… thx y

tapi kok malah ke detek antivirus ya ?

Agung Novian pada 3 October 2011 11:24

Beberapa AV yang sensitif (baca: malas mendiagnosa file) memang menganggap aplikasi (exe) yang mengandung file resource sebagai virus.

Tulis Komentar
:
:
:
Komentar :
Ditulis di: Fundamental, Pemograman, Visual Basic Classic
Penanda: , , ,
 
Ikuti Quiz.Diajar.Com