Membuat Form Otomatis dengan Visual Basic dan XML
komentarAnda bisa membuat form otomatis dengan visual basic.
Apa yang dimaksud dengan otomatis di sini?
Sebelumnya mari kita lihat bagaimana membuat form standard.
Yang pasti kita ambil object yang ada di Toolbox lalu kita letakkan di form, kemudian kita atur property name atau property captionnya.
Demikian seterusnya untuk setiap panambahan field-field lainnya.
Visual Basic juga menyediakan Tool Add-in Data Form Wizard untuk keperluan pembuatan form otomatis ini. Pada Menu Add-In - Add-In Manager - vb6 Data Form Wizard.
Saya pernah menggunakan wizard ini, tapi entah kenapa rasanya ada saja yang kurang tidak sesuai dengan keinginan saya.
Diantara kekurangannya adalah pada form otomatis bawaan Visual Basic masih ada error yang tidak bisa saya kendalikan pada waktu itu.
Posisi objek seperti texbox atau pun kontrol data juga tidak bisa saya kendalikan. Jadi kita tidak bebas membuat bentuk form yang sesuai dengan keinginan.
Pada project kita kali ini, untuk membuat form otomatis kita menggunakan jurus-jurus:
1. Control Array
Untuk melihat pembahasan control array klik di sini
2. Pembacaan XML
Untuk melihat pembacaan XML klik di sini
OK kita langsung saja membuat form otomatis yang sesuai dengan keinginan kita.
Buka project baru lalu klik Project - Refrence - Pilih Microsoft XML, version 2.0
Mengapa pakai refrence XML, karena kita akan membuat form otomatis dari file xml.
Di bawah ini adalah gambar struktur file xml yang kita pergunakan:

Kita lanjut. Ambil object satu textbox dan satu label ke form lalu atur property index dari masing-masing objek menjadi 0. Kemudian atur property visiblenya menjadi False.
Atur juga property text dari text1 menjadi kosong.
Private Sub Form_Load()
Dim sXmlFile As String
sXmlFile = App.Path & "\customer.xml"
Dim oXML As New MSXML.DOMDocument
oXML.Load sXmlFile
Do
DoEvents
Loop Until oXML.readyState = 4
Set oNode = oXML.selectSingleNode("//editform[@name=""" & "myform" & """]")
For i = 0 To oNode.childNodes.length - 1
Load Text1(i + 1)
Text1(i + 1).Tag = oNode.childNodes(i).Attributes(1).Text
Text1(i + 1).Left = oNode.childNodes(i).Attributes(3).Text
Text1(i + 1).Top = oNode.childNodes(i).Attributes(4).Text
Text1(i + 1).Width = oNode.childNodes(i).Attributes(5).Text
Text1(i + 1).Visible = True
Load Label1(i + 1)
Label1(i + 1).Top = oNode.childNodes(i).Attributes(4).Text
Label1(i + 1).Caption = oNode.childNodes(i).Attributes(6).Text
Label1(i + 1).Left = Text1(i + 1).Left - Label1(i + 1).Width - 320
Label1(i + 1).Visible = True
Next i
End Sub
Jalankan program anda. Jika anda melakukannya dengan benar maka hasilnya akan seperti gambar di bawah ini:

Sampai di sini mungkin Anda sudah mengerti mengapa saya tidak repot-repot lagi membuat kode manual dan menulis ulang setiap membuat form-form transaksi pada project-project baru.
Cukup hanya dengan mengedit file customer.xml untuk disesuaikan dengan permintaan-permintaan pelanggan. Bahkan database dan semua operasi standard database sudah otomatis.
Ini bisa menghilangkan BUG dari program yang kita buat, karena hanya berpusat pada satu acuan yaitu file customer.xml
Untuk mendownload contoh project klik di sini
Saya juga sudah melakukannya pada project-project yang berbasis Visual Basic .NET
Untuk melihat pemakaian nya pada project database klik di sini
Untuk melihat pemakaian nya pada program POS (Kasir Supermarket) klik di sini
Ripiu.com © 2010 Kreatifroom - Best View with All Major Browser except Internet Explorer


