'************************************************ * * ' คำอธิบาย: คลาสบุคคล ' ผู้เขียน: gwd 2002-11-06 ' อ้างอิง: pub/constpub.asp '************************************************ * * Class Cls_Person Private m_intId 'Id ซึ่งสอดคล้องกับตำแหน่งของโหนด Person ในคอลเลกชัน Persons m_strName ส่วนตัว ' ชื่อ ส่วนตัว m_strNick ' ชื่อภาษาอังกฤษ m_strMobile ส่วนตัว 'โทรศัพท์มือถือ' m_strTel ส่วนตัว 'โทรศัพท์ m_strEmail ส่วนตัว ' อีเมล m_strQQ ส่วนตัว 'หมายเลข QQ เอกชน m_strCompany ' บริษัท m_strError ส่วนตัว 'ข้อความแสดงข้อผิดพลาด ' การเริ่มต้นคลาส Class_Initialize ส่วนตัว () m_strError = "" m_intId = -1
ปล่อยคลาส Sub 'End Class_Terminate ส่วนตัวย่อย () m_strError = "" สิ้นสุด Sub '----- อ่านและเขียนแต่ละคุณสมบัติ ------------------------------- Public Property Get Id รหัส = m_intId สิ้นสุดทรัพย์สิน ทรัพย์สินสาธารณะ Let Id(intId) m_intId = intId ทรัพย์สินปลายทาง ทรัพย์สินสาธารณะ รับชื่อ ชื่อ = m_strName ทรัพย์สินปลายทาง ทรัพย์สิน สาธารณะ ชื่อให้เช่า(strName) m_strName = strName ทรัพย์สินส่วนปลาย ทรัพย์สินสาธารณะ รับนิค นิค = m_strNick End Property ทรัพย์สินสาธารณะ Let Nick(strNick) m_strNick = strNick End Property ทรัพย์สินสาธารณะรับมือถือ มือถือ = m_strMobile
ทรัพย์สิน ปลายทาง ทรัพย์สิน สาธารณะ Let Mobile(strMobile) m_strMobile = strMobile ทรัพย์สินปลายทาง ทรัพย์สินสาธารณะ รับโทรศัพท์ โทร = m_strTel อสังหาริมทรัพย์ปลายทาง อสังหาริมทรัพย์ สาธารณะ Let Tel(strTel) m_strTel = strTel End Property ทรัพย์สินสาธารณะ รับอีเมล อีเมล = m_strอีเมล ทรัพย์สินปลายทาง ทรัพย์สิน สาธารณะ ให้อีเมล์(strEmail) m_strEmail = strEmail End Property ทรัพย์สินสาธารณะ รับ QQ QQ = m_strQQ อสังหาริมทรัพย์ปลายทาง อสังหาริมทรัพย์ สาธารณะ Let QQ(strQQ) m_strQQ = strQQ ทรัพย์สินปลายทาง ทรัพย์สินสาธารณะ รับบริษัท บริษัท = m_strบริษัท End Property อสังหาริมทรัพย์สาธารณะ Let Company(strCompany) m_strCompany = strบริษัท สิ้นสุดคุณสมบัติ '-------------------------------------------------- -- 'รับข้อมูลข้อผิดพลาด ฟังก์ชั่นสาธารณะ GetLastError() GetLastError = m_strError End Function ' วิธีการส่วนตัว เพิ่มข้อความแสดงข้อผิดพลาด AddErr ย่อยส่วนตัว (strEcho) m_strError = m_strError + "<Div CLASS=""alert"">" & strEcho & "</Div>" สิ้นสุดย่อย 'ล้างข้อความแสดงข้อผิดพลาด ฟังก์ชั่นสาธารณะ ClearError() m_strError = "" ฟังก์ชันสิ้นสุด 'อ่านข้อมูลของโหนดที่ระบุจาก Xml และกรอกแอตทริบิวต์แต่ละรายการ 'คุณต้องตั้งค่า ID ก่อน' ฟังก์ชั่นสาธารณะ GetInfoFromXml (objXmlDoc) ติ่ม objNodeList Dim I ClearError ถ้า objXmlDoc ไม่มีอะไรแล้ว GetInfoFromXml = เท็จ AddErr "วัตถุ Dom เป็นโมฆะ" ออกจากฟังก์ชัน สิ้นสุดถ้า ถ้า CStr(m_intId) = "-1" แล้ว GetInfoFromXml = เท็จ AddErr "แอตทริบิวต์ ID ของวัตถุผู้ติดต่อไม่ได้ตั้งค่าอย่างถูกต้อง" ออกจากฟังก์ชัน อื่น I = m_intId - 1 'หากต้องการอ่านตำแหน่งโหนดEnd ถ้า 'เลือกและอ่านข้อมูลโหนด ให้กำหนดแอตทริบิวต์แต่ละรายการ Set objNodeList = objXmlDoc.getElementsByTagName("Person") ถ้า objNodeList.length - m_intId >= 0 จากนั้น เมื่อเกิดข้อผิดพลาด ดำเนินการต่อต่อไป m_strName = objNodeList(I).selectSingleNode("ชื่อ").ข้อความ m_strNick = objNodeList(I).selectSingleNode("Nick").ข้อความ m_strMobile = objNodeList(I).selectSingleNode("มือถือ").ข้อความ m_strTel = objNodeList(I).selectSingleNode("Tel").ข้อความ m_strEmail = objNodeList(I).selectSingleNode("อีเมล").ข้อความ m_strQQ = objNodeList(I).selectSingleNode("QQ").ข้อความ m_strCompany = objNodeList(I).selectSingleNode("บริษัท").ข้อความ GetInfoFromXml = จริง อื่น GetInfoFromXml = เท็จ AddErr "เกิดข้อผิดพลาดขณะดึงข้อมูลผู้ติดต่อ" ตั้ง objNodeList = ไม่มีเลย ออกจากฟังก์ชัน สิ้นสุดถ้า ตั้ง objNodeList = ไม่มีเลย ฟังก์ชันสิ้นสุด 'เพิ่มข้อมูลลงในไฟล์ XML 'คุณต้องตั้งค่าคุณสมบัติที่จะกรอกก่อน ฟังก์ชั่นสาธารณะ AddToXml (objXmlDoc) Dim objPerson, objNode ClearError ถ้า objXmlDoc ไม่มีอะไรแล้ว AddToXml = เท็จ AddErr "วัตถุ Dom เป็นโมฆะ" ออกจากฟังก์ชัน สิ้นสุดถ้า ' สร้างโหนดบุคคล ตั้ง objPerson = objXmlDoc.createElement("บุคคล") objXmlDoc.documentElement.appendChild objPerson 'สร้างแต่ละโหนดย่อย' -------------------------------------- --- --------------- ตั้งค่า objNode = objXmlDoc.createElement("ชื่อ") objNode.Text = m_strName objPerson.appendChild objNode ตั้ง objNode = objXmlDoc.createElement("นิค") objNode.Text = m_strNick objPerson.appendChild objNode ตั้ง objNode = objXmlDoc.createElement("มือถือ") objNode.Text = m_strMobile objPerson.appendChild objNode ตั้ง objNode = objXmlDoc.createElement("โทร") objNode.Text = m_strTel objPerson.appendChild objNode ตั้ง objNode = objXmlDoc.createElement("อีเมล") objNode.Text = m_strEmail objPerson.appendChild ชุด objNode objNode = objXmlDoc.createElement("QQ") objNode.Text = m_strQQ objPerson.appendChild ชุด objNode objNode = objXmlDoc.createElement("บริษัท") objNode.Text = m_strCompany objPerson.appendChild objNode '------------------------------------------------ - --- ตั้งค่า objNode = ไม่มีเลย ตั้งค่า objPerson = Nothing On Error Resume Next objXmlDoc.save Server.MapPath (C_XMLFILE) 'บันทึกไฟล์ XMLIf Err.Number = 0 แล้ว AddToXml = จริง อื่น AddToXml = เท็จ AddErr ข้อผิดพลาดคำอธิบาย สิ้นสุดถ้า ฟังก์ชันสิ้นสุด 'ลบข้อมูลจากไฟล์ XML 'คุณต้องตั้งค่า ID ก่อน' ฟังก์ชั่นสาธารณะ DeleteFromXml (objXmlDoc) Dim objNodeList, objNode ClearError ถ้า objXmlDoc ไม่มีอะไรแล้ว DeleteFromXml = เท็จ AddErr "วัตถุ Dom เป็นโมฆะ" ออกจากฟังก์ชัน สิ้นสุดถ้า ถ้า CStr(m_intId) = "-1" แล้ว DeleteFromXml = เท็จ AddErr "แอตทริบิวต์ ID ของวัตถุผู้ติดต่อไม่ได้ตั้งค่าอย่างถูกต้อง" ออกจากฟังก์ชัน สิ้นสุดถ้า ตั้งค่า objNodeList = objXmlDoc.getElementsByTagName("บุคคล") ถ้า objNodeList.length - m_intId < 0 จากนั้น DeleteFromXml = เท็จ AddErr "ไม่พบผู้ติดต่อที่เกี่ยวข้อง" ตั้ง objNodeList = ไม่มีเลย ออกจากฟังก์ชัน สิ้นสุดหาก เกิดข้อผิดพลาด ดำเนินการต่อถัดไป ตั้งค่า objNode = objXmlDoc.documentElement.removeChild(objNodeList(intId-1)) ถ้า objNode ไม่มีอะไรแล้ว DeleteFromXml = เท็จ AddErr "ไม่สามารถลบผู้ติดต่อ" ตั้ง objNodeList = ไม่มีเลย ออกจากฟังก์ชัน อื่น objXmlDoc.save Server.MapPath (C_XMLFILE) สิ้นสุดถ้า ตั้ง objNode = ไม่มีเลย ตั้งค่า objNodeList = ไม่มีเลย ถ้า Err.Number = 0 จากนั้น DeleteFromXml = จริง อื่น DeleteFromXml = เท็จ AddErr ข้อผิดพลาดคำอธิบาย สิ้นสุดถ้า ฟังก์ชันสิ้นสุด 'แก้ไขข้อมูลในไฟล์ XML 'คุณต้องตั้งค่า ID ก่อน' ฟังก์ชั่นสาธารณะ EditToXml (objXmlDoc) Dim objPersonList, objOldPerson, objNewPerson, objNode ClearError ถ้า objXmlDoc ไม่มีอะไรแล้ว EditToXml = เท็จ AddErr "วัตถุ Dom เป็นโมฆะ" ออกจากฟังก์ชัน สิ้นสุดถ้า ถ้า CStr(m_intId) = "-1" แล้ว EditToXml = เท็จ AddErr "แอตทริบิวต์ ID ของวัตถุผู้ติดต่อไม่ได้ตั้งค่าอย่างถูกต้อง" ออกจากฟังก์ชัน สิ้นสุดถ้า ตั้งค่า objPersonList = objXmlDoc.getElementsByTagName("บุคคล") ถ้า objPersonList.length - m_intId < 0 จากนั้น DeleteFromXml = เท็จ AddErr "ไม่พบผู้ติดต่อที่เกี่ยวข้อง" ตั้งค่า objPersonList = ไม่มีเลย ออกจากฟังก์ชัน สิ้นสุด ถ้า Set objOldPerson = objPersonList(m_intId-1) ' โหนดเก่าที่จะแก้ไข Set objNewPerson = objXmlDoc.createElement("Person") ' โหนดใหม่ที่ใช้แทนที่โหนดเก่า Set objNode = objXmlDoc.createElement("Name") objNode.Text = m_strName objNewPerson.appendChild objNode ตั้ง objNode = objXmlDoc.createElement("นิค") objNode.Text = m_strNick objNewPerson.appendChild objNode ตั้ง objNode = objXmlDoc.createElement("มือถือ") objNode.Text = m_strMobile objNewPerson.appendChild objNode ตั้ง objNode = objXmlDoc.createElement("โทร") objNode.Text = m_strTel objNewPerson.appendChild objNode ตั้ง objNode = objXmlDoc.createElement("อีเมล") objNode.Text = m_strEmail objNewPerson.appendChild objNode ตั้ง objNode = objXmlDoc.createElement("QQ") objNode.Text = m_strQQ objNewPerson.appendChild objNode ตั้ง objNode = objXmlDoc.createElement("บริษัท") objNode.Text = m_strCompany objNewPerson.appendChild objNode เมื่อเกิดข้อผิดพลาดดำเนินการต่อถัดไป 'แทนที่ชุด objNode = objXmlDoc.documentElement.replaceChild(objNewPerson, objOldPerson) ถ้า objNode ไม่มีอะไรแล้ว EditToXml = เท็จ AddErr "ไม่สามารถแก้ไขผู้ติดต่อ" ตั้ง objOldPerosn = ไม่มีเลย ตั้ง objNewPerson = ไม่มีเลย ตั้งค่า objPersonList = ไม่มีเลย ออกจากฟังก์ชัน อื่น objXmlDoc.save Server.MapPath (C_XMLFILE) สิ้นสุดถ้า ตั้งค่า objOldPerson = ไม่มีเลย ตั้ง objNewPerson = ไม่มีเลย ตั้งค่า objPersonList = Nothing If Err.Number = 0 จากนั้น แก้ไข ToXml = จริง อื่น EditToXml = เท็จ AddErr ข้อผิดพลาดคำอธิบาย สิ้นสุดถ้า ฟังก์ชันสิ้นสุด คลาสสิ้นสุด |