1. Dictionary 개체와 개체 멤버
Dictionary는 VBScript와 JScript에서 모두 지원하는 개체로, 2차원 배열과 비슷하게 작동하며,
연관된 데이터를 이름/값 쌍으로 함께 저장한다.
Dictionary는 배열과 비슷하기는 하지만 인덱스틀 포함하지 않으며,
VBScript 배열과 같이 배열의 멤버 개수를 미리 정하지 않아도 유연하게 확장할 수 있다.
==========================================================================================
속성
- Count : Dictionary 안에 저장된 멤버 개수를 리턴한다. 읽기 전용
- Item(Key) : Dictionary 개체에서 지정한 key에 해당하는 item을 설정하거나 반환한다.
컬렉션에서는 지정한 key를 기반으로 하는 item을 반환한다. 읽기/쓰기 가능함.
ex) object.Item(key)[= newitem]
- Key(key) : Dictionary 개체에 key를 설정한다.
ex) object.Key(key) = newkey
메서드
- Add(key, item) : Dictionary 개체에 key/item 쌍을 삽입한다.
기존에 같은 이름의 key가 존재하면 오류가 발생한다.
- Exists(key) : Dictionary 개체에 지정한 키가 존재하면 true, 아니면 false다.
- Items() : Dictionary 개체의 모든 항목을 포함한 배열을 반환한다.
ex) Dim arrA
arrA = dic.items
- Keys() : Dictionary 개체의 모든 키를 포함한 배열을 반환한다.
ex) Dim arrB
arrB = dic.Keys
- Remove(key) : Dictionary 개체에서 key에 해당하는 항목과 값을 삭제한다.
- RemoveAll() : Dictionary 개체에서 모든 항목과 값을 삭제한다.
==========================================================================================
2. Dictionary 개체 제어
Dictionary 개체를 사용하는 방법은
① 개체를 생성하고
② Add() 메서드로 값을 지정한 후
③ Item(key) 메서드로 값을 반환하거나 변경하고
④ Remove(key) 메서드로 특정 항목을 삭제하는 등 매우 간단하고 직관적이다.
======================================Dictionary.asp======================================
<%
OPTION EXPLICIT
Dim dicCart, arrKey, arrItem, i
'Dictionary 개체 생성
Set dicCart = Server.CreateObject("Scripting.Dictionary")
'항목 추가
dicCart.Add "메모리카드", "Jtek 1G CP"
dicCart.Add "디지털카메라", "Canon G5"
'구매 내역 출력
Response.Write "<h3>Dictionary 개체를 이용한 예제<hr noshade></h3>" & Chr(13)
Response.Write "<p>현재까지 구매 상품 수는 총 " & dicCart.Count & "가지 입니다.</p>" & Chr(13)
Response.Write "<b>구매 내역</b><br>" & Chr(13)
Response.Write "---------------------------<br>" & Chr(13)
'구매 상품 변경
dicCart.Item("디지털카메라") = "Nikon Coolpix SQ"
'항목과 아이템을 배열에 저장
arrKey = dicCart.Keys
arrItem = dicCart.Items
'배열에 저장된 장바구니 정보 출력
For i = 0 To dicCart.Count-1
Response.Write arrkey(i) & " : " & arrItem(i) & "<br>" & Chr(13)
Next
'Dictionary 개체에서 항목 삭제
dicCart.Remove("디지털카메라")
Response.Write "<br><br>디지털카메라를 삭제<br>" & Chr(13)
Response.Write "------------------------------<br>" & Chr(13)
'항목과 아이템을 배열에 저장
arrKey = dicCart.Keys
arrItem = dicCart.Items
'배열에 저장된 장바구니 정보 출력
For i = 0 To dicCart.Count-1
Response.Write arrkey(i) & " : " & arrItem(i) & "<br>" & Chr(13)
Next
'Dictionary 개체 내의 모든 항목 삭제
dicCart.RemoveAll
Response.Write "<br><br>모든 항목 삭제<br>" & Chr(13)
Response.Write "------------------------------<br>" & Chr(13)
Response.Write "최종 구매 상품 수는 총 " & dicCart.Count & "가지 입니다." & Chr(13)
%>
'asp' 카테고리의 다른 글
ASP문법과 함수들 (0) | 2010.03.19 |
---|---|
ASP 날짜 함수 (0) | 2010.03.19 |
ASP 윈2003의 CDONTS와 CDOSYS - 메일보내 (0) | 2010.03.10 |
해외 IP 접속 차단하기 (0) | 2010.03.10 |
가상디렉토리 (0) | 2010.03.03 |