반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

LearningNote

[오토핫키] 변수와 표현식(1) 본문

오토핫키

[오토핫키] 변수와 표현식(1)

LN 2020. 6. 29. 13:48
반응형

[오토핫키] 변수와 표현식(1)

 

변수란 무엇일까요?

앞 시간에 마우스 제어에 대해 배우면서 이미 은근슬쩍 언급하긴 했었네요.

 

사전적인 의미부터 바로 살펴보겠습니다.

 

어떤 관계나 범위 안에서 여러 가지 값으로 변할 수 있는 수

 

 

별 것 없어 보이네요.

간단하게 말씀드리면, '변할 수 있는 수' 가 변수입니다.

영어로는 Variable 이라고 합니다.

 

마우스 포인터의 위치를 담아두었던 인자가 있었죠. 그것이 변수입니다.

기억나시나요?

 

이런 명령어였죠. 기억이 잘 나지 않으실 수 있으니 간단히 한번 살펴볼게요.

MouseGetPos [, OutputVarX, OutputVarY, OutputVarWin, OutputVarControl, 1|2|3]

 

이 명령어 줄에서 시작하는 인자들이 다 변수입니다.

 

어? 이렇게 복잡하지 않았던 것 같은데? 라고 생각하셨던 분들은 맞습니다.

모든 인자에 대해 다루지 않고 자주 쓰이는 OutputVarX 와 OutputVarY 까지만 배웠었죠.

 

이렇게요.

 

!1::
MouseGetPos, vx, vy
MsgBox, %vx% , %vy%
return

 

대괄호 안에 있기 때문에 필수적인 요소가 아니기 때문에 생략이 가능합니다.

이제 조금 기억나시나요?

 

마우스 포인터의 위치 값을 vx 라는 변수와 vy 라는 변수에 각각 넣는 명령어입니다.

이러한 형태로 변수에 값을 넣는 경우가 있고,

다른 일반적인 형태로 변수에 값을 넣는 경우가 있습니다.

 

좌변에는 변수명을 쓰고,

우변에는 변수값을 입력하는 형태입니다.

 

!2::
vx := 100
vy := 200
Click, %vx%, %vy%, 0
return

 

보통의 프로그래밍 언어에서는 등호(=)를 기준으로 좌변과 우변에 각각 변수명과 변수값을 넣습니다.

하지만 오토핫키에서는 등호(=) 대신 콜론(:) 과 등호(=) 를 같이 씁니다.

주의하셔야 할 것은 띄어쓰기가 없어야 하고 순서를 지키셔야 한다는 점입니다.

 

콜론 + 등호 말고 등호만 적는 문법도 있지만, 굳이 설명을 드리지는 않겠습니다.

왜냐하면 그렇게 사용할 수 있는 경우가 제한적이며, 콜론 + 등호를 이용하는 방법으로도 커버가 가능하기 때문입니다.

 

더 알고 싶으시다면 다음의 링크를 참고하시기 바랍니다.

http://autohotkeykr.sourceforge.net/docs/Variables.htm

 

코드 설명으로 돌아와서,

앞에서 작성한 코드 블록의 의미는,

vx 변수에 100 을 입력하고

vy 변수에 200 을 입력하여

Click 명령어의 인자에 그 값들을 대입하여 마우스를 이동하는 것입니다.

 

변수에 변수값을 입력하는 방법에는 두 가지가 있다는 것을 말씀드렸습니다.

명령어에 따라 변수 대입하는 방법이 다르니

그때그때 알맞은 방법을 선택하시면 됩니다.

 

#SingleInstance, Force


F4::
ExitApp


!1::
MouseGetPos, vx, vy
MsgBox, %vx% , %vy%
return


!2::
vx := 100
vy := 200
Click, %vx%, %vy%, 0
return

 

변수 대입법 두 가지

 

반응형

'오토핫키' 카테고리의 다른 글

[오토핫키] 메시지 박스(1)  (0) 2020.07.02
[오토핫키] 변수와 표현식(2)  (0) 2020.06.30
[오토핫키] 타이밍 제어  (0) 2020.06.26
[오토핫키] 좌표계(2)  (0) 2020.06.25
[오토핫키] 좌표계(1)  (0) 2020.06.24
Comments