2010. 3. 13. 09:43
VBScript 에서 .NET 클래스 이용하기
2010. 3. 13. 09:43 in 3. Implementation/VB / Java Script
.NET Framework 에는 COM-Callable wrapper 를 가지고 있는 .NET Class 가 많이 있다. 이러한 클래스들은 VBScript 에서 접근하여 사용할 수 있다는 것을 의미한다.
HKEY_CLASSES_ROOT 하위의 레지스트리를 보면 아래와 같이 System 으로 시작하는 클래스들을 볼 수 있다.
이러한 .NET Framework 클래스들은 VBScript 에서 생성하여 사용할 수 있다. 이러한 클래스들 중의 일부는 System.ContextMarshalException 클래스와 같이 생성해봐야 아무 쓸모가 없는 것들이 많다.
하지만 그중에는 VBScript 에서 아주 유용하게 사용할 수 있는 것들이 있다.
스크립트에서 정렬을 아이템 하려면 아래와 같이 정렬 함수를 직접 작성해야만 한다.
하지만 이때 .NET 클래스를 이용하면 아주 쉽게 해결할 수 있다. 아래는 오름차순으로 알파벳을 정렬하는 예이다.
내림차순으로 정렬하는 것 역시 아주 쉽다.
이외에도 Random 수를 생성하는 경우에도 .NET 클래스를 사용할 수 있다.
스크립트상에서 1~100 까지의 수중에서 임의의 수를 생성하는 방법은 아래와 같다.
이를 .NET Framework System.Random.Random 클래스를 사용하면 다음과 같다.
출처 : http://207.46.16.252/en-us/magazine/2007.01.heyscriptingguy.aspx
HKEY_CLASSES_ROOT 하위의 레지스트리를 보면 아래와 같이 System 으로 시작하는 클래스들을 볼 수 있다.
이러한 .NET Framework 클래스들은 VBScript 에서 생성하여 사용할 수 있다. 이러한 클래스들 중의 일부는 System.ContextMarshalException 클래스와 같이 생성해봐야 아무 쓸모가 없는 것들이 많다.
하지만 그중에는 VBScript 에서 아주 유용하게 사용할 수 있는 것들이 있다.
스크립트에서 정렬을 아이템 하려면 아래와 같이 정렬 함수를 직접 작성해야만 한다.
For i = (UBound(arrNames) - 1) to 0 Step -1 For j= 0 to i If UCase(arrNames(j)) > UCase(arrNames(j+1)) Then strHolder = arrNames(j+1) arrNames(j+1) = arrNames(j) arrNames(j) = strHolder End If Next Next |
하지만 이때 .NET 클래스를 이용하면 아주 쉽게 해결할 수 있다. 아래는 오름차순으로 알파벳을 정렬하는 예이다.
Set DataList = CreateObject _ ("System.Collections.ArrayList") DataList.Add "B" DataList.Add "C" DataList.Add "E" DataList.Add "D" DataList.Add "A" DataList.Sort() For Each strItem in DataList Wscript.Echo strItem Next |
내림차순으로 정렬하는 것 역시 아주 쉽다.
Set DataList = CreateObject _ |
이외에도 Random 수를 생성하는 경우에도 .NET 클래스를 사용할 수 있다.
스크립트상에서 1~100 까지의 수중에서 임의의 수를 생성하는 방법은 아래와 같다.
Randomize Wscript.Echo Int((100 - 1 + 1) * Rnd + 1) |
이를 .NET Framework System.Random.Random 클래스를 사용하면 다음과 같다.
Set objRandom = CreateObject("System.Random") Wscript.Echo objRandom.Next_2(1,100) |
출처 : http://207.46.16.252/en-us/magazine/2007.01.heyscriptingguy.aspx