'******************************************************* * 'Deskripsi: Kelas orang ' Penulis: gwd 2002-11-06 ' Referensi: pub/constpub.asp '******************************************************* * Class Cls_Person Private m_intId 'Id, sesuai dengan posisi node Person di koleksi Persons m_strName Pribadi ' Nama Pribadi m_strNick ' Nama Inggris Pribadi m_strMobile 'Ponsel Pribadi m_strTel 'Telepon m_strEmail pribadi ' Email Nomor pribadi m_strQQ 'QQ Perusahaan m_strPerusahaan Swasta ' Perusahaan
Inisialisasi kelas 'pesan kesalahan' m_strError pribadi Sub Kelas Pribadi_Inisialisasi() m_strError = "" m_intId = -1 Akhiri rilis Sub ' Kelas Sub Kelas_Terminate() Pribadi m_strError = "" Sub Akhir '-----Baca dan tulis setiap properti--------------------------- Properti Umum Dapatkan Id Id = m_intId Properti Akhir Properti Publik Biarkan Id(intId) m_intId = intId Properti Akhir Properti Umum Dapatkan Nama Nama = m_strNama Properti Akhir Properti Publik Biarkan Nama (strName) m_strNama = strNama Properti Akhir Properti Publik Dapatkan Nick Nama Panggilan = m_strNick Properti Akhir Properti Publik Biarkan Nick(strNick) m_strNick = strNick Properti Akhir Properti Umum Dapatkan Seluler Seluler = m_strMobile Properti Akhir Properti Publik Biarkan Seluler (strMobile) m_strMobile = strMobile Akhir Properti Properti Umum Dapatkan Telp Telp = m_strTel Properti Akhir Properti Umum Biarkan Tel(strTel) m_strTel = strTel Properti Akhir Properti Umum Dapatkan Email Email = m_strEmail Properti Akhir Properti Publik Izinkan Email(strEmail) m_strEmail = strEmail Properti Akhir Properti Umum Dapatkan QQ QQ = m_strQQ Properti Akhir Properti Publik Misalkan QQ(strQQ) m_strQQ = strQQ Properti Akhir Properti Umum Dapatkan Perusahaan Perusahaan = m_strPerusahaan Properti Akhir Properti Umum Biarkan Perusahaan (strPerusahaan) m_strPerusahaan = strPerusahaan Properti Akhir '----------------------------------------------- -- 'Dapatkan informasi kesalahan Fungsi Publik GetLastError() GetLastError = m_strError
Metode pribadi End Function ', tambahkan pesan kesalahan Sub AddErr Pribadi (strEcho) m_strError = m_strError + "<Div CLASS=""alert"">" & strEcho & "</Div>" Akhir Sub 'Hapus pesan kesalahan Fungsi Publik ClearError() m_strError = "" Fungsi Akhir 'Baca data node yang ditentukan dari Xml dan isi setiap atribut 'Anda perlu mengatur Id terlebih dahulu Fungsi Publik GetInfoFromXml(objXmlDoc) Redupkan objNodeList Redupkan Saya ClearError Jika objXmlDoc Bukan Apa-apa GetInfoFromXml = Salah AddErr "Objek Dom adalah nol" Fungsi Keluar Akhiri Jika Jika CStr(m_intId) = "-1" Lalu GetInfoFromXml = Salah AddErr "Atribut ID objek kontak tidak disetel dengan benar" Fungsi Keluar Kalau tidak I = m_intId - 1 'Untuk membaca posisi nodeEnd If 'Pilih dan baca informasi node, tetapkan setiap atribut Set objNodeList = objXmlDoc.getElementsByTagName("Person") Jika objNodeList.length - m_intId >= 0 Lalu Pada Kesalahan Lanjutkan Berikutnya m_strName = objNodeList(I).selectSingleNode("Nama").Teks m_strNick = objNodeList(I).selectSingleNode("Nick").Teks m_strMobile = objNodeList(I).selectSingleNode("Seluler").Teks m_strTel = objNodeList(I).selectSingleNode("Tel").Teks m_strEmail = objNodeList(I).selectSingleNode("Email").Teks m_strQQ = objNodeList(I).selectSingleNode("QQ").Teks m_strCompany = objNodeList(I).selectSingleNode("Perusahaan").Teks GetInfoFromXml = Benar Kalau tidak GetInfoFromXml = Salah AddErr "Terjadi kesalahan saat mengambil informasi kontak" Setel objNodeList = Tidak Ada Fungsi Keluar Akhiri Jika Setel objNodeList = Tidak Ada Fungsi Akhir 'Tambahkan informasi ke file XML 'Anda perlu mengatur atribut yang harus diisi terlebih dahulu Fungsi Publik AddToXml(objXmlDoc) Redupkan objPerson, objNode ClearError Jika objXmlDoc Bukan Apa-apa AddToXml = Salah AddErr "Objek Dom adalah nol" Fungsi Keluar Berakhir Jika ' Buat simpul Orang Setel objPerson = objXmlDoc.createElement("Orang") objXmlDoc.documentElement.appendChild objPerson 'Buat setiap node anak'-------------------------------------- --- --------------- Setel objNode = objXmlDoc.createElement("Nama") objNode.Teks = m_strName objPerson.appendChild objNode Setel objNode = objXmlDoc.createElement("Nick") objNode.Teks = m_strNick objPerson.appendChild objNode Setel objNode = objXmlDoc.createElement("Seluler") objNode.Teks = m_strMobile objPerson.appendChild objNode Setel objNode = objXmlDoc.createElement("Tel") objNode.Teks = m_strTel objPerson.appendChild objNode Setel objNode = objXmlDoc.createElement("Email") objNode.Teks = m_strEmail objPerson.appendChild objNode Setel objNode = objXmlDoc.createElement("QQ") objNode.Teks = m_strQQ objPerson.appendChild objNode Setel objNode = objXmlDoc.createElement("Perusahaan") objNode.Text = m_strPerusahaan objPerson.appendChild objNode '------------------------------------------------ - --- Tetapkan objNode = Tidak ada Setel objPerson = Tidak Ada Kesalahan Lanjutkan Berikutnya objXmlDoc.save Server.MapPath(C_XMLFILE) 'Simpan file XMLJika Err.Number = 0 Lalu AddToXml = Benar Kalau tidak AddToXml = Salah AddErr Err.Deskripsi Akhiri Jika Fungsi Akhir 'Hapus data dari file XML 'Anda perlu mengatur Id terlebih dahulu Fungsi Publik DeleteFromXml(objXmlDoc) Redupkan objNodeList, objNode ClearError Jika objXmlDoc Bukan Apa-apa HapusDariXml = Salah AddErr "Objek Dom adalah nol" Fungsi Keluar Akhiri Jika Jika CStr(m_intId) = "-1" Lalu HapusDariXml = Salah AddErr "Atribut ID objek kontak tidak disetel dengan benar" Fungsi Keluar Berakhir Jika Ditetapkan objNodeList = objXmlDoc.getElementsByTagName("Orang") Jika objNodeList.length - m_intId < 0 Lalu HapusDariXml = Salah AddErr "Kontak yang sesuai tidak ditemukan" Setel objNodeList = Tidak Ada Fungsi Keluar Selesai Jika Pada Error Lanjutkan Berikutnya Setel objNode = objXmlDoc.documentElement.removeChild(objNodeList(intId-1)) Jika objNode Bukan Apa-apa, Maka HapusDariXml = Salah AddErr "Gagal menghapus kontak" Setel objNodeList = Tidak Ada Fungsi Keluar Kalau tidak objXmlDoc.simpan Server.MapPath(C_XMLFILE) Akhiri Jika Setel objNode = Tidak Ada Setel objNodeList = Tidak Ada Jika Err.Number = 0 Lalu HapusDariXml = Benar Kalau tidak HapusDariXml = Salah AddErr Err.Deskripsi Akhiri Jika Fungsi Akhir 'Memodifikasi data dalam file XML 'Anda perlu mengatur Id terlebih dahulu Fungsi Publik EditToXml(objXmlDoc) Redupkan objPersonList, objOldPerson, objNewPerson, objNode ClearError Jika objXmlDoc Bukan Apa-apa Maka SuntingToXml = Salah AddErr "Objek Dom adalah nol" Fungsi Keluar Akhiri Jika Jika CStr(m_intId) = "-1" Lalu SuntingToXml = Salah AddErr "Atribut ID objek kontak tidak disetel dengan benar" Fungsi Keluar Berakhir Jika Ditetapkan objPersonList = objXmlDoc.getElementsByTagName("Orang") Jika objPersonList.length - m_intId < 0 Lalu HapusDariXml = Salah AddErr "Kontak yang sesuai tidak ditemukan" Setel objPersonList = Tidak Ada Fungsi Keluar End If Set objOldPerson = objPersonList(m_intId-1) ' Node lama yang akan diubah Set objNewPerson = objXmlDoc.createElement("Person") ' Node baru digunakan untuk menggantikan node lama Set objNode = objXmlDoc.createElement("Name") objNode.Teks = m_strName objNewPerson.appendChild objNode Setel objNode = objXmlDoc.createElement("Nick") objNode.Teks = m_strNick objNewPerson.appendChild objNode Setel objNode = objXmlDoc.createElement("Seluler") objNode.Teks = m_strMobile objNewPerson.appendChild objNode Setel objNode = objXmlDoc.createElement("Tel") objNode.Teks = m_strTel objNewPerson.appendChild objNode Setel objNode = objXmlDoc.createElement("Email") objNode.Teks = m_strEmail objNewPerson.appendChild objNode Setel objNode = objXmlDoc.createElement("QQ") objNode.Teks = m_strQQ objNewPerson.appendChild objNode Setel objNode = objXmlDoc.createElement("Perusahaan") objNode.Text = m_strPerusahaan objNewPerson.appendChild objNode Pada Kesalahan Lanjutkan Berikutnya 'Ganti Set objNode = objXmlDoc.documentElement.replaceChild(objNewPerson, objOldPerson) Jika objNode Bukan Apa-apa, Maka SuntingToXml = Salah AddErr "Gagal mengubah kontak" Setel objOldPerosn = Tidak Ada Setel objNewPerson = Tidak Ada Setel objPersonList = Tidak Ada Fungsi Keluar Kalau tidak objXmlDoc.simpan Server.MapPath(C_XMLFILE) Berakhir Jika Setel objOldPerson = Tidak Ada Setel objNewPerson = Tidak Ada Setel objPersonList = Tidak Ada Jika Err.Number = 0 Lalu SuntingToXml = Benar Kalau tidak SuntingToXml = Salah AddErr Err.Deskripsi Akhiri Jika Fungsi Akhir Kelas Akhir |