오토 핫키에서는 특정 구간을 나누는 레이블이라는 게 존재합니다.
Label:
코드 내용
return
레이블은 : 한개만 사용합니다.
코딩을 할때 하드코딩과 중복 코드는 되도록 안 해야 됩니다.
Label을 사용해서 모듈화를 할 수있고 함수를 이용해 모듈화를 할수 있지만
이번에는 라벨을 알아보겠습니다.
일단 메시지 박스를 보내는 레이블을 2개 만들어보겠습니다.
Label1:
msgbox, Label1 실행
return
Label2:
msgbox,Label2 실행
return
Label1을 실행하게 되면 Label1의 메시지 박스가 나타나게 됩니다.
Label2를 실행하게 되면 Label2의 메시지 박스가 나타나게 됩니다.
그러면 해당 레이블로 이동하기 위해 사용하는 방법은 2가지가 있습니다.
goto, Label1
Label1으로 이동하라는 뜻입니다.
Label1의 내용이 실행되고 보냈던 곳으로 돌아가지 않고 return을 만나 끝나게 됩니다.
goto를 사용하게 되면 이전 코드로 돌아가지 않고 문장이 끝나게 됩니다
gosub, Label2
Label2으로 이동하고 완료되면 원래대로 돌아오라는 뜻입니다.
Label2의 내용이 실행되고 보냈던 곳으로 다시 돌아오게 됩니다
Start:
goto, label1
goto, label2
return
label1:
msgbox, label1 실행
return
label2:
msgbpx, label2 실행
return
위에 코드를 실행하게 되면 출력 결과는
메시지 박스로 label1 실행이 출력되고 끝입니다.
goto는 label1 레이블로 보내고 return을 만나 문장이 끝났기 때문입니다.
Start:
gosub, label1
gosub, label2
return
label1:
msgbox, label1 실행
return
label2:
msgbpx, label2 실행
return
gosub을 사용하면 출력 결과는
메시지 박스로 label1 실행, label2 실행이 출력됩니다.
label1으로 갔다가 다시 돌아와 Start레이블이 계속 실행되며
gosub, label2를 만나 코드를 실행하게 됩니다.
두 개의 차이점을 알고 사용한다면 프로그램을 보기 좋게 짤 수 있습니다.
'언어 > AUTOHOTKEY' 카테고리의 다른 글
[오토핫키] 9강 키보드 입력 (send, sendinput) 사용하기 (1) | 2020.03.11 |
---|---|
[오토핫키] 8강 함수만들고 사용하기 (0) | 2020.03.11 |
[오토핫키] 6강 핫키와 핫스트링 알아보기 (0) | 2020.03.11 |
[오토핫키] 5강 내장 변수 알아보기 (0) | 2020.01.15 |
[오토핫키] 4강 이스케이프문자 사용법 (0) | 2019.11.07 |