Bekerja dengan File XML
Bekerja dengan File XML
Okay, apa itu file XML? File XML (Extensible Markup Language) adalah format bahasa universal di dunia web/internet. Secara definitif dapat dilihat di Wikipedia, atau sumber relevan kita yaitu di Microsoft XML.
Anda bisa mengakses (baca: menghubungkan) project anda dengan versi XML melalui IDE Visual Basic 6.0, yakni dari menu, pilih [Project] lalu pilih dan klik [References...]. Selanjutnya, cari tulisan "Microsoft XML, v3.0" atau versi ke 4 (v4.0), dst. Agar project XML anda bisa berjalan tanpa hambatan, penulis sarankan untuk tidak mereferensikan versi XML melalui [References] tersebut oleh karena bisa tidak kompatibel bila anda, misalnya, mereferensi v3.0, sedangkan windows yang digunakan win 8 atau lebih tinggi. Jadi, biarkan saja tanpa harus mencentangnya. Dengan demikian versi yang berlaku adalah versi 2.0. Perlu diketahui bahwa module project kali ini bekerja baik di versi 2 maupun versi 3.
Tujuan Menggunakan File XML di Visual Basic 6.0
Tujuan utama dari tutorial ini yaitu setelah menginput data pada ComboBox dan logout/ keluar dari program, maka program kita ini akan menyimpan data tersebut kedalam file dalam wujud XML yang nantinya akan ditampilkan pada saat program tersebut diaktifkan atau load kembali.
Proses penyimpanan data tunggal ini tidak memerlukan Database MS.Access atau lainnya. Jadi, hanya file XML yang kita jadikan sebagai tempat penyimpanannya.
Untuk tujuan ini, diperlukan komponen ActiveX Component ringan sbb:
- 1 ComboBox dan beri nama: cbNoHP
- 1 CommandButton, name: cmdExit
- 1 file XML yang kita beri nama: dataHP.XML
Private Sub PersistHP()
Dim X As Integer
Dim oXML As Object
Dim oMain As Object
Dim onomorHP As Object
On Error Resume Next
Set oXML = CreateObject("MSXML2.DOMDocument")
If oXML Is Nothing Then Set oXML = CreateObject("MSXML.DOMDocument")
If oXML Is Nothing Then
MsgBox "Telah terjadi Error pada saat menyimpan data di XML"
End
End If
On Error GoTo 0
Set oMain = oXML.createNode(1, "dataHP", "")
oXML.appendChild oMain
For X = 1 To Me.cbNoHP.ListCount
Set onomorHP = oXML.createNode(1, "nomorHP", "")
onomorHP.Text = Me.cbNoHP.List(X - 1)
oMain.appendChild onomorHP
Next
oXML.save App.Path & "\dataHP.xml"
Set oXML = Nothing
Set oMain = Nothing
Set onomorHP = Nothing
End Sub
Perhatikan! pada script diatas, terdapat baris kode seperti berikut ini:
oXML.save App.Path & "\dataHP.xml"
App.path memiliki makna: "bahwa file dataHP.xml terletak di directory (baca: path) dimana file EXE project ini juga berada.
Selanjutnya, blok script Private Sub PersistHP() akan kita letakkan sebelum Unload me atau End terjadi sehingga data input pada combobox tersebut akan tersimpan sebelum program ditutup.
Private sub cmdExit_Click()
PersistHP
End
End Sub
dan, pada Form_Unload, sbb:
Private Sub Form_Unload(Cancel As Integer)
PersistHP
Unload Me
End Sub
Selanjutnya, kita buat blok script untuk menampilkan data yang telah tersimpan didalam XML kedalam ComboBox tersebut:
Private Sub LoadHP()
Dim X As Long
Dim oXML As Object
If Len(Dir(App.Path & "\dataHP.xml")) = 0 Then Exit Sub
On Error Resume Next
Set oXML = CreateObject("MSXML2.DOMDocument")
If oXML Is Nothing Then Set oXML = CreateObject("MSXML.DOMDocument")
If oXML Is Nothing Then
MsgBox "Telah terjadi error saat akan menampilkan data XML pada ComboBox"
End
End If
On Error GoTo 0
oXML.async = False
If oXML.Load(App.Path & "\dataHP.xml") = False Then
MsgBox "Telah terjadi error saat akan menampilkan data XML pada ComboBox"
Else
For X = 0 To oXML.documentElement.childNodes.length - 1
Me.cbNoHP.AddItem oXML.documentElement.childNodes.Item(X).Text
Next
End If
Me.cbNoHP.ListIndex = 0
Set oXML = Nothing
End Sub
Kemudian, letakkan LoadHP() pada Form_Load agar data yang tersimpan didalam file dataHP.xml dapat ditampilkan pada ComboBox:
Private Sub Form_Load()
LoadHP
End Sub
Agar tidak terjadi Input dua kali atas data yang sama pada ComboBox tersebut, kita akan memvalidasi atau mengeceknya dengan script berikut ini:
Private Sub cbNoHP_Validate(Cancel As Boolean)
Dim sNoHP As String
Dim X As Integer
Dim bDitemukan As Boolean
bDitemukan = False
sNoHP = Me.cbNoHP.Text
For X = 1 To Me.cbNoHP.ListCount
If sNoHP = Me.cbNoHP.List(X - 1) Then
bDitemukan = True
Exit For
End If
Next
If bDitemukan = False Then
Me.cbNoHP.AddItem sNoHP
End If
End Sub
Post a Comment for "Bekerja dengan File XML"