본문 바로가기

오토핫키/오토핫키 강좌

오토핫키 :: 7강 서브루틴을 애용하세요

오토핫키로 스크립트를 작성하는데 서브루틴이라는 것이 있습니다.
서브루틴은 스크립트를 작성하는데 있어서 메인 루틴을 도와주는
루틴을 의미합니다.

실질적인 사용은 메인스크립트의 간편화로 가시력을 올려주며
다양한 응용을 가능하게 합니다.

오늘은 서브루틴의 간단한 이용을 배워보겠습니다.

서브루틴은 Gosub와 Goto의 명령어를 이용합니다.

오토핫키 강좌


Gosub, Label ; 해당 레이블로 뛰어서 Return 만날 때까지 계속 실행. Return을 만나면 불린 곳으로 돌아감.
Goto, Label ; 해당 레이블로 뛰어서 계속 실행. Return을 만나면 종료.


명령어는 위와같습니다.
설명을 조금해드리자면 Label 부분에는  사용하시고자 하는 변수를 이용하시면 됩니다.

Gosub는 서브루틴으로 가서 Return을 만나면 다시 Gosub가 실행되었던 곳으로 돌아가서 그 다음 명령어를 실행하죠.

Home::
msgbox, 명령어1
gosub, test
msgbox, 명령어3
return

test:
msgbox, 명령어2
return 


위와 같은 경우 실행되는 것은 msgbox, 명령어1, 명령어2, 명령어3 입니다.
Gosub명령어를 받고 test라는 서브루틴으로가서 메세지박스를 실행하고 불려왔던 곳으로 다시돌아가 다음 명령어를 실행하게 되는 것이지요.
이를 응용한다면 다양한 작업을 하실 수 있습니다.

Home::
msgbox, 명령어1
goto, test
msgbox, 명령어3
return

test:
msgbox, 명령어2
return 


goto명령어를 이용하신다면 메시지박스는 명령어1을 출력하고 그다음 test라는 서브루틴으로 이동해서 명령어2를 실행하고
종료되죠. 물론 조건문을 이용해서 return을 만나기 전에 원래 메인루틴으로 보내버리거나 다른 서브루틴으로 날려버릴 수 있지만 스크립트가 지저분해지고 분석하기 어려울 수 있기떄문에 추천하지 않습니다.

오토핫키 이번에는 서브루틴에 대한 간단한 강좌였습니다. 한번 확인해보시고 도전해보세오.