서브루틴 및 함수

VBScript 서브루틴 및 함수

이 섹션에서는 Altum Designer VisualBasic 스크립트에서 서브루틴과 프로시저를 사용하는 방법을 개괄적으로 설명합니다.

프로시저에 매개변수 전달

매개변수를 받을 수 있는 함수 또는 서브루틴(프로시저/메서드)이 스크립트에 정의되어 있을 때, 변수는 ByRef 또는 ByVal를 사용하여 각각 참조에 의한 전달(by reference) 또는 값에 의한 전달(by value) 두 가지 방식으로 함수/서브루틴에 전달할 수 있습니다.

매개변수가 전달될 메서드를 선언하려면, Sub 또는 Function 문에서 함수/서브루틴을 정의할 때 매개변수 목록에 ByRef 또는 ByVal 키워드를 사용합니다. 예를 들어, 다음 코드 조각은 두 개의 매개변수를 받는 서브루틴을 정의합니다. 첫 번째는 값으로 전달되고 두 번째는 참조로 전달됩니다:

Sub Test (ByVal Param1 As Integer , ByRef B As String)

두 방식의 차이는 ByRef가 변수에 대한 참조를 전달하여, 서브루틴/함수가 매개변수로 전달된 실제 변수를 변경할 수 있게 한다는 점입니다. 이는 매개변수 전달의 기본 방식이며, 메서드가 명시적으로 선언되지 않은 경우 이 방식이 사용됩니다.

ByVal는 변수의 값만 전달합니다. 서브루틴 또는 함수는 이 값을 사용할 수 있지만, 전달된 원래 변수는 변경되지 않습니다.

다음 예제는 두 방식의 차이를 보여줍니다. 메인 프로시저는 다음과 같습니다:

Sub Main
  Dim X, Y
  X = 45 : Y = "Number"
  Test X, Y   ' Call to a subprocedure called Test.
  MsgBox X
   MsgBox Y
End Sub

위 프로시저에는 서브프로시저 Test 호출이 포함되어 있습니다 — 아래를 참조하세요.

서브루틴이 다음과 같이 정의되어 있다면:

Sub Test (ByRef A, ByRef B)
  B = B & " = " & A : A = 10*A
End Sub

메인 프로시저의 변수 XY는 서브루틴에서 직접 참조됩니다. 그 결과 XY의 값이 서브루틴에 의해 변경되며, Test 실행 후에는 X = 450이고 Y = "Number = 45"가 됩니다. 이는 메서드가 명시적으로 선언되지 않았을 때의 기본 동작입니다.

하지만 서브루틴이 다음과 같이 정의되어 있다면:

Sub Test (ByVal A, ByVal B)
B = B & " = " & A : A = 10*A
End Sub

Test 실행 후 메인 프로시저는 X = 45 및 Y = "Number"를 보고합니다 — 즉, 값이 변경되지 않은 채로 유지됩니다.

또는 서브루틴이 다음과 같이(혼합 방식으로) 정의되어 있다면:

Sub Test (ByRef A, ByVal B)
  B = B & " = " & A : A = 10*A
End Sub

Test 실행 후 X = 450이고 Y = "Number"가 됩니다. Y는 값으로 전달되었기 때문에 변경되지 않습니다.

호출 문에서 변수 이름을 괄호로 감싸면 함수 또는 서브루틴의 ByRef 설정을 재정의할 수 있습니다.

다음 문으로 Test를 호출하면:

Test (X), Y

...프로시저 정의에서 해당 매개변수에 대해 어떤 방식이 정의되어 있든 상관없이 변수 X는 값으로 전달됩니다.

날짜 및 시간 루틴

VBScript 언어는 아래에 요약된 날짜/시간 루틴 집합을 지원합니다:

Date

Day

Hour

IsDate

Minute

Month

Now

Second

Time

Year

 

 

파일 IO 루틴

VBScript 언어는 다음과 같은 파일 IO 루틴 집합을 지원합니다:

Dir

FileLen

FileTimeDate

FileCopy

Kill

Name

RmDir

MkDir

 

수학 루틴

VBScript 언어는 다음과 같은 수학 루틴 집합을 지원합니다:

Abs

Atn

Cos

Exp

Log

Not

Oct

Rnd

Sin

Sqn

Tan

 

문자열 루틴

VBScript 언어는 아래에 요약된 다양한 문자열 루틴을 지원합니다:

Asc

Chr

Format

InStr

InStrRev

LCase

Len

Left

Mid

Right

Str

Trim

LTrim

RTrim

UCase

서버 프로세스 루틴

서버 프로세스 루틴은 스크립트에서 프로세스를 다룰 때 사용되며, 특히 프로세스 매개변수에 대한 문자열을 추출(가져오기)하거나 설정해야 하는 경우에 사용됩니다.

스크립트에서 프로세스와 매개변수를 실행하려면 다음 함수를 사용합니다:

AddColorParameter

AddIntegerParameter

AddLongIntParameter

AddSingleParameter

AddWordParameter

GetIntegerParameter

GetStringParameter

ResetParameters

RunProcess

Useful functions

SetCursorBusy

ResetCursor

CheckActiveServer

GetActiveServerName

GetCurrentDocumentFileName

RunApplication

SaveCurrentDocument

 

 

Useful Dialogs

ConfirmNoYes

ConfirmNoYesCancel

ShowError

ShowInfo

ShowWarning

 

AI-LocalizedAI로 번역됨
만약 문제가 있으시다면, 텍스트/이미지를 선택하신 상태에서 Ctrl + Enter를 누르셔서 저희에게 피드백을 보내주세요.
기능 제공 여부

사용 가능한 기능은 보유하고 계시는 Altium 솔루션에 따라 달라집니다. 해당 솔루션은 Altium Develop, Altium Agile의 에디션(Agile Teams 또는 Agile Enterprise), 또는 활성기간 내의 Altium Designer 중 하나입니다.

안내된 기능이 고객님의 소프트웨어에서 보이지 않는 경우, 보다 자세한 내용을 위해 Altium 영업팀 에 문의해 주세요.

구버전 문서

Altium Designer 문서는 더 이상 버전별로 제공되지 않습니다. 이전 버전의 Altium Designer 문서가 필요하신 경우, Other Installers 페이지의 Legacy Documentation 섹션을 방문해 주세요.

콘텐츠