'************************************************** * * ' Beschreibung: Personenklasse ' Autor: gwd 06.11.2002 ' Referenz: pub/constpub.asp '************************************************** * * Klasse Cls_Person Private m_intId 'ID, entsprechend der Position des Person-Knotens in der Persons-Sammlung Private m_strName ' Name Private m_strNick ' Englischer Name Privat m_strMobile 'Mobiltelefon Private m_strTel 'Telefon Privat m_strEmail ' E-Mail Private m_strQQ 'QQ-Nummer Private m_strCompany ' Firma Private m_strError 'Fehlermeldung ' Klasseninitialisierung Private Sub Class_Initialize() m_strError = "" m_intId = -1 End Sub ' Klassenfreigabe Private Sub Class_Terminate() m_strError = "" End Sub '-----Jede Eigenschaft lesen und schreiben------------ Public Property Get Id Id = m_intId End-Property Public Property Let Id(intId) m_intId = intId End-Property Public Property Get Name Name = m_strName End-Eigenschaft Öffentliche Eigenschaft Let Name(strName) m_strName = strName Ende Eigentum Öffentliches Eigentum Holen Sie sich Nick Nick = m_strNick Ende Eigentum Öffentliches Eigentum Let Nick(strNick) m_strNick = strNick Ende des Eigentums, öffentliches Eigentum, mobil werden Mobil = m_strMobile Ende Eigentum Öffentliches Eigentum Vermieten Mobile(strMobile) m_strMobile = strMobile Ende Eigentum Öffentliches Eigentum Get Tel Tel = m_strTel Ende Eigentum Öffentliches Eigentum Vermieten Tel(strTel) m_strTel = strTel Ende Eigentum Öffentliches Eigentum E-Mail erhalten E-Mail = m_strEmail End Property Public Property Let Email(strEmail) m_strEmail = strEmail Ende Eigentum Öffentliches Eigentum Holen Sie sich QQ QQ = m_strQQ End-Eigenschaft Öffentliches Eigentum Let QQ(strQQ) m_strQQ = strQQ Ende des Eigentums, öffentliches Eigentum, Gesellschaft bekommen Unternehmen = m_strCompany Ende Eigentum Öffentliches Eigentum Vermieten Unternehmen(strCompany) m_strCompany = strCompany End-Eigenschaft '---------------------------------------------- -- 'Fehlerinformationen abrufen Öffentliche Funktion GetLastError() GetLastError = m_strError Beenden Sie die private Methode der Funktion und fügen Sie eine Fehlermeldung hinzu Private Sub AddErr(strEcho) m_strError = m_strError + "<Div CLASS=""alert"">" & strEcho & "</Div>" End Sub 'Fehlermeldung löschen Öffentliche Funktion ClearError() m_strError = "" Endfunktion „Lesen Sie die Daten des angegebenen Knotens aus XML und füllen Sie jedes Attribut aus.“ „Zuerst müssen Sie die ID festlegen.“ Öffentliche Funktion GetInfoFromXml(objXmlDoc) Dimmen Sie objNodeList Dimme ich ClearError , wenn objXmlDoc nichts ist, dann GetInfoFromXml = False AddErr „Dom-Objekt ist null“ Exit-Funktion End If If CStr(m_intId) = „-1“ Then GetInfoFromXml = False AddErr „Das ID-Attribut des Kontaktobjekts wurde nicht korrekt gesetzt“ Exit-Funktion Anders I = m_intId - 1 'Zum Lesen der KnotenpositionEnd Wenn 'Knoteninformationen auswählen und lesen, jedes Attribut zuweisen Set objNodeList = objXmlDoc.getElementsByTagName("Person") Wenn objNodeList.length - m_intId >= 0 Dann Bei Fehler Weiter fortsetzen m_strName = objNodeList(I).selectSingleNode("Name").Text m_strNick = objNodeList(I).selectSingleNode("Nick").Text m_strMobile = objNodeList(I).selectSingleNode("Mobile").Text m_strTel = objNodeList(I).selectSingleNode("Tel").Text m_strEmail = objNodeList(I).selectSingleNode("Email").Text m_strQQ = objNodeList(I).selectSingleNode("QQ").Text m_strCompany = objNodeList(I).selectSingleNode("Company").Text GetInfoFromXml = True Anders GetInfoFromXml = False AddErr „Beim Abrufen der Kontaktinformationen ist ein Fehler aufgetreten.“ Setze objNodeList = Nothing Exit-Funktion Ende wenn Setze objNodeList = Nothing Endfunktion 'Informationen zur XML-Datei hinzufügen „Zuerst müssen Sie die auszufüllenden Attribute festlegen.“ Öffentliche Funktion AddToXml(objXmlDoc) Dim objPerson, objNode ClearError Wenn objXmlDoc nichts ist, dann AddToXml = Falsch AddErr „Dom-Objekt ist null“ Exit-Funktion End If ' Personenknoten erstellen Set objPerson = objXmlDoc.createElement("Person") objXmlDoc.documentElement.appendChild objPerson 'Jeden untergeordneten Knoten erstellen'-------------------------------------- --- --------------- Setze objNode = objXmlDoc.createElement("Name") objNode.Text = m_strName objPerson.appendChild objNode Set objNode = objXmlDoc.createElement("Nick") objNode.Text = m_strNick objPerson.appendChild objNode Set objNode = objXmlDoc.createElement("Mobile") objNode.Text = m_strMobile objPerson.appendChild objNode Set objNode = objXmlDoc.createElement("Tel") objNode.Text = m_strTel objPerson.appendChild objNode Set objNode = objXmlDoc.createElement("Email") objNode.Text = m_strEmail objPerson.appendChild objNode Set objNode = objXmlDoc.createElement("QQ") objNode.Text = m_strQQ objPerson.appendChild objNode Set objNode = objXmlDoc.createElement("Company") objNode.Text = m_strCompany objPerson.appendChild objNode '------------------------------------------------ - --- Setze objNode = Nothing Legen Sie objPerson = Nothing fest, wenn ein Fehler auftritt. Weiter fortsetzen objXmlDoc.save Server.MapPath(C_XMLFILE) 'XML-Datei speichernWenn Err.Number = 0 Dann AddToXml = True Anders AddToXml = Falsch AddErr Err.Description Ende wenn Endfunktion 'Daten aus XML-Datei entfernen „Zuerst müssen Sie die ID festlegen.“ Öffentliche Funktion DeleteFromXml(objXmlDoc) Dimmen Sie objNodeList, objNode ClearError , wenn objXmlDoc nichts ist, dann DeleteFromXml = Falsch AddErr „Dom-Objekt ist null“ Exit-Funktion End If If CStr(m_intId) = „-1“ Then DeleteFromXml = Falsch AddErr „Das ID-Attribut des Kontaktobjekts wurde nicht korrekt gesetzt“ Exit-Funktion End If Set objNodeList = objXmlDoc.getElementsByTagName("Person") Wenn objNodeList.length - m_intId < 0, dann DeleteFromXml = Falsch AddErr „Der entsprechende Kontakt wurde nicht gefunden“ Setze objNodeList = Nothing Exit-Funktion Beenden, wenn ein Fehler vorliegt. Weiter fortsetzen Set objNode = objXmlDoc.documentElement.removeChild(objNodeList(intId-1)) Wenn objNode nichts ist, dann DeleteFromXml = Falsch AddErr „Kontakt konnte nicht gelöscht werden“ Setze objNodeList = Nothing Exit-Funktion Anders objXmlDoc.save Server.MapPath(C_XMLFILE) Ende wenn Setze objNode = Nothing Setze objNodeList = Nothing Wenn Err.Number = 0 Dann DeleteFromXml = True Anders DeleteFromXml = Falsch AddErr Err.Description Ende wenn Endfunktion 'Daten in XML-Datei ändern „Zuerst müssen Sie die ID festlegen.“ Öffentliche Funktion EditToXml(objXmlDoc) Dim objPersonList, objOldPerson, objNewPerson, objNode ClearError Wenn objXmlDoc nichts ist, dann EditToXml = False AddErr „Dom-Objekt ist null“ Exit-Funktion End If If CStr(m_intId) = „-1“ Then EditToXml = False AddErr „Das ID-Attribut des Kontaktobjekts wurde nicht korrekt gesetzt“ Exit-Funktion End If Set objPersonList = objXmlDoc.getElementsByTagName("Person") Wenn objPersonList.length - m_intId < 0 Dann DeleteFromXml = Falsch AddErr „Der entsprechende Kontakt wurde nicht gefunden“ Setze objPersonList = Nothing Exit-Funktion End If Set objOldPerson = objPersonList(m_intId-1) ' Der alte Knoten, der geändert werden soll. Set objNewPerson = objXmlDoc.createElement("Person") ' Der neue Knoten, der zum Ersetzen des alten Knotens verwendet wird. Set objNode = objXmlDoc.createElement("Name") objNode.Text = m_strName objNewPerson.appendChild objNode Set objNode = objXmlDoc.createElement("Nick") objNode.Text = m_strNick objNewPerson.appendChild objNode Set objNode = objXmlDoc.createElement("Mobile") objNode.Text = m_strMobile objNewPerson.appendChild objNode Set objNode = objXmlDoc.createElement("Tel") objNode.Text = m_strTel objNewPerson.appendChild objNode Set objNode = objXmlDoc.createElement("Email") objNode.Text = m_strEmail objNewPerson.appendChild objNode Set objNode = objXmlDoc.createElement("QQ") objNode.Text = m_strQQ objNewPerson.appendChild objNode Set objNode = objXmlDoc.createElement("Company") objNode.Text = m_strCompany objNewPerson.appendChild objNode Bei Fehler Weiter fortsetzen 'Replace Set objNode = objXmlDoc.documentElement.replaceChild(objNewPerson, objOldPerson) Wenn objNode nichts ist, dann EditToXml = False AddErr „Kontakt konnte nicht geändert werden“ Setze objOldPerosn = Nothing Setze objNewPerson = Nothing Setze objPersonList = Nothing Exit-Funktion Anders objXmlDoc.save Server.MapPath(C_XMLFILE) End If Set objOldPerson = Nothing Setze objNewPerson = Nothing Setze objPersonList = Nothing Wenn Err.Number = 0 Dann EditToXml = True Anders EditToXml = False AddErr Err.Description Ende wenn Endfunktion Endklasse |