'************************************************ * * ' 설명: 개인 클래스 ' 작성자: gwd 2002-11-06 ' 참조: pub/constpub.asp '************************************************ * * Class Cls_Person Private m_intId 'Id, Persons 컬렉션의 Person 노드 위치에 해당 비공개 m_strName ' 이름 Private m_strNick ' 영어 이름 개인 m_strMobile '휴대폰 개인 m_strTel '전화 비공개 m_strEmail ' 이메일 비공개 m_strQQ 'QQ 번호 비공개 m_strCompany ' 회사 비공개 m_strError '오류 메시지 ' 클래스 초기화 비공개 하위 클래스_Initialize() m_strError = "" m_intId = -1 End Sub ' 클래스 릴리스 비공개 하위 클래스_Terminate() m_strError = "" End Sub '------각 속성 읽기 및 쓰기--------------- 공용 속성 ID 가져오기 ID = m_intId 끝 속성 공용 속성 Let Id(intId) m_intId = intId 끝 속성 공용 속성 이름 가져오기 이름 = m_strName 끝 속성 공용 속성 Let Name(strName) m_strName = str이름 끝 속성 공공 속성 Get Nick 닉 = m_strNick 끝 속성 공용 속성 Let Nick(strNick) m_strNick = strNick 끝 속성 공공 속성 모바일 받기 모바일 = m_strMobile 끝 속성 공공 속성 Let Mobile(strMobile) m_strMobile = strMobile 최종 재산 공공 재산 전화 받기 전화 = m_strTel 끝 속성 공공 속성 Let Tel(strTel) m_strTel = strTel 끝 속성 공공 속성 이메일 받기 이메일 = m_strEmail 끝 속성 공용 속성 Let Email(strEmail) m_strEmail = strEmail 끝 속성 공용 속성 QQ 가져오기 QQ = m_strQQ 끝 속성 공용 속성 Let QQ(strQQ) m_strQQ = strQQ 최종 자산 공공 자산 회사 가져오기 회사 = m_strCompany 최종 재산 공공 재산 Let Company(strCompany) m_strCompany = str회사 끝 속성 '--------------------- -- '오류 정보 가져오기 공용 함수 GetLastError() GetLastError = m_strError End Function ' 개인 메소드, 오류 메시지 추가 개인 하위 AddErr(strEcho) m_strError = m_strError + "<Div CLASS=""alert"">" & strEcho & "</Div>" End Sub '오류 메시지 지우기 공용 함수 ClearError() m_strError = "" End Function 'Xml에서 지정된 노드의 데이터를 읽고 각 속성을 채웁니다. 'ID를 먼저 설정해야 합니다. 공용 함수 GetInfoFromXml(objXmlDoc) 희미한 objNodeList Dim I ClearError If objXmlDoc Is Nothing Then GetInfoFromXml = 거짓 AddErr "Dom 개체가 null입니다." 종료 기능 End If If 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("이름").Text m_strNick = objNodeList(I).selectSingleNode("닉").Text m_strMobile = objNodeList(I).selectSingleNode("모바일").Text m_strTel = objNodeList(I).selectSingleNode("Tel").Text m_strEmail = objNodeList(I).selectSingleNode("이메일").Text m_strQQ = objNodeList(I).selectSingleNode("QQ").Text m_strCompany = objNodeList(I).selectSingleNode("회사").Text GetInfoFromXml = 참 또 다른 GetInfoFromXml = 거짓 AddErr "연락처 정보를 검색하는 중 오류가 발생했습니다" objNodeList = 아무것도 설정하지 않음 종료 기능 종료 조건 objNodeList = 아무것도 설정하지 않음 End Function 'XML 파일에 정보를 추가합니다. '먼저 채워질 속성을 설정해야 합니다 공용 함수 AddToXml(objXmlDoc) Dim objPerson, objNode ClearError If objXmlDoc Is Nothing Then AddToXml = 거짓 AddErr "Dom 개체가 null입니다." 종료 기능 End If ' 개인 노드 만들기 Set objPerson = objXmlDoc.createElement("Person") objXmlDoc.documentElement.appendChild objPerson '각 하위 노드 생성'------------------------- --- --------------- objNode = objXmlDoc.createElement("이름") 설정 objNode.Text = m_strName objPerson.appendChild objNode 설정 objNode = objXmlDoc.createElement("Nick") objNode.Text = m_strNick objPerson.appendChild objNode 설정 objNode = objXmlDoc.createElement("모바일") objNode.Text = m_strMobile objPerson.appendChild objNode 설정 objNode = objXmlDoc.createElement("Tel") objNode.Text = m_strTel objPerson.appendChild objNode 설정 objNode = objXmlDoc.createElement("Email") 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 = 오류 발생 시 아무것도 설정하지 않음 다음 재개 objXmlDoc.save Server.MapPath(C_XMLFILE) 'XML 파일 저장If Err.Number = 0 Then AddToXml = 참 또 다른 AddToXml = 거짓 AddErr Err.설명 종료 조건 End Function 'XML 파일에서 데이터 제거 'ID를 먼저 설정해야 합니다. 공용 함수 DeleteFromXml(objXmlDoc) Dim objNodeList, objNode ClearError If objXmlDoc Is Nothing Then DeleteFromXml = 거짓 AddErr "Dom 개체가 null입니다." 종료 기능 End If If CStr(m_intId) = "-1" 그러면 DeleteFromXml = 거짓 AddErr "연락처 개체의 ID 속성이 올바르게 설정되지 않았습니다." 종료 기능 End If Set objNodeList = objXmlDoc.getElementsByTagName("Person") 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 = Nothing 설정 Err.Number = 0이면 DeleteFromXml = 참 또 다른 DeleteFromXml = 거짓 AddErr Err.설명 종료 조건 End Function 'XML 파일의 데이터를 수정합니다. 'ID를 먼저 설정해야 합니다. 공용 함수 EditToXml(objXmlDoc) Dim objPersonList, objOldPerson, objNewPerson, objNode ClearError If objXmlDoc Is Nothing Then EditToXml = 거짓 AddErr "Dom 개체가 null입니다." 종료 기능 End If If CStr(m_intId) = "-1" 그러면 EditToXml = 거짓 AddErr "연락처 개체의 ID 속성이 올바르게 설정되지 않았습니다." 종료 기능 End If Set objPersonList = objXmlDoc.getElementsByTagName("Person") objPersonList.length - m_intId < 0인 경우 DeleteFromXml = 거짓 AddErr "해당 연락처를 찾을 수 없습니다" objPersonList = 아무것도 설정하지 않음 종료 기능 End If 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("Nick") objNode.Text = m_strNick objNewPerson.appendChild objNode 설정 objNode = objXmlDoc.createElement("모바일") objNode.Text = m_strMobile objNewPerson.appendChild objNode 설정 objNode = objXmlDoc.createElement("Tel") objNode.Text = m_strTel objNewPerson.appendChild objNode 설정 objNode = objXmlDoc.createElement("Email") 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) End If Set objOldPerson = 없음 objNewPerson = 없음 설정 objPersonList = Nothing으로 설정합니다 . Err.Number = 0인 경우 그런 다음 EditToXml = 참 또 다른 EditToXml = 거짓 AddErr Err.설명 종료 조건 종료 함수 종료 클래스 |