Tech

Scripting Runtime Library

onesixx 2010. 5. 7. 13:14
반응형

Scripting Runtime Library

Dictionary Object

Object that stores data key, item pairs.

Remarks


A Dictionary object is the equivalent of a PERL associative array. Items can be any form of data, and are stored in the array. Each item is associated with a unique key. The key is used to retrieve an individual item and is usually an integer or a string, but can be anything except an array.

The following code illustrates how to create a Dictionary object:

 

 

Scripting.Dictionary

데이터베이스를 사용하지 않고 원하는 데이터를 뽑아서 사용하기란 쉽지가 않습니다.

파일로 저장을 해서 읽어오고 저장하고 정리하고 읽어오고 저장하고 읽어오고 저장하고...물론 배열로 만들면 기준이 되는 데이터를 처음부터 끝까지 반복해서 비교하면 원하는 결과가 나오기는 합니다.

하지만 데이터가 많이지고, 배열을 재정의하는 부분이 중간에라도 나온다면, 나중에 그 코드를 볼때의 느낌은 정말 깜깜합니다.

우선 배열과 차이점을 꼽아보면 몇가지가 나옵니다.

1. 데이터의 검색 및 추가, 수정, 삭제가 쉽다.

2. 사용법이 간단하다.

3. 모든 데이터를 넣어 사용할수 있다.

  ( 배열조차 넣어서 사용할수 있습니다. 같은 Scripting.Dictionary 조차 넣어서 사용할수 있습니다.)

저는 배열의 대용으로 사용을 합니다.

왜냐하면 검색하기 위해 따로 함수를 만들지 않아도 되고, 정렬도 가능해서 여러모로 활용도가 높기 때문입니다.

다음과 같은 설정값을 가집니다.

 

Methods


Add Method (Dictionary) | Exists Method | Items Method | Keys Method | Remove Method | RemoveAll Method

- Add Key, Value : 키와 값을 추가합니다. 존재하는 키이면 오류가 발생합니다.
- Remove Key : 지정한 키와 할당되어 있는 키값을 제거합니다. 존재하지 않는 키이면 오류가 발생합니다.
- RemoveAll :  모든 키와 값을 제거합니다.
- Exists(Key) : 지정한 키가 존재하면 True 반환하고, 아니면 False 반환합니다.
- keys : 모든 키들을 배열로 반환합니다.
- Items: 모든 값들을 배열로 반환합니다.

 

Properties


Count | Item | Key | CompareMode

- Count : 현재 저장된 개체의 갯수를 반환합니다.
- Item("KeyValue") : KeyValue 라는 키를 이용해서 할당되어 있는 값을 반환합니다.
                            키에 값이 없을경우 Null 값을 반환합니다.
- Key("ValueData") : ValueData 라는 값을 가지고 있는 키를 반환합니다.
- CompareMode : Dictionary 개체에서 문자열 키를 비교하는 모드를 설정하여 반환합니다.

 

소스를 보고 설명을 드리겠습니다.

'' InsertText   : 입력 되는 키값
' OutputText :  출력 값
1 : Dim objDic
2 : Dim InsertText
3 : Dim OutputText

4 : Set objDic =createObject("Scripting.Dictionary")
5 : objDic.Add "Zasfe", "code1"
6 : objDic.Item("Eseit") = "code2"

7 : InsertText = "Zasfe"
8 : OutputText = objDic.Item(InsertText)
9 : Wscript.Echo OutputText

10: For each aa in objDic.Keys
11:   wscript.echo aa&" "&objDic.item(aa)
12: Next

가장 간단히 값을 Dictionary개체에 입력하는 방법입니다.

위 코드는 sDic 라는 디렉토리 개체에서 Item값이 "InsertText" 라는 값을 갖는 키값을 반환합니다.

1~3 라인은 변수를 선언하는 부분이고, 4 라인은 Dictionary 개체를 선언하는 부분입니다.

5~6 라인은 Dictionary 개체에 값을 넣는 부분입니다. 2가지의 방법으로 가능합니다.

메서드를 이용한방법(5 라인)과 속성을 이용한 방법(6 라인)이다.

7~9 라인은 Key 값이 "Zasfe" 인 Item 값을 출력하는 부분입니다.

10~12 라인은 모든 키값을 배열로 받아와서 출력하는 방법입니다. 주로 어떤 값이 들어있는지 확인하는 방법으로

사용됩니다.
사용법은 생각보다 간단합니다.
다음은 위 코드의 실행결과 입니다.

 

 

 

<참조>
http://msdn.microsoft.com/en-us/library/x4k5wbx4(VS.85).aspx
http://zasfe.com/66
http://thesky.tistory.com/79

 

반응형

'Tech' 카테고리의 다른 글

Camtasia Studio 7  (0) 2010.10.12
케이블  (0) 2010.08.06
텍스트로 저장된 숫자 --&gt; 숫자로 변환  (0) 2010.05.10
Total commander 파일명 일괄 변경  (0) 2010.04.29
Web Server와 WAS(Web Application Server)  (0) 2010.04.06
Ultraedit DOS형태로 변환하시겠습니까  (0) 2010.03.20