📣 더 깊은 내용이 담긴 '프날 오토핫키 강좌 v2'의 서적판이 공개되었습니다.
가장 최신의 오토핫키를 담은 '프날 오토핫키 강좌 v2'를 책으로 만나보세요!
v2 페이지에 공개된 분량보다 더욱 깊은 내용을 처음이라도 괜찮아, 오토핫키 프로그래밍을 통해 배울 수 있습니다.
전국 온/오프라인 서점에서 만나요!
책 더 알아보기 및 구매하기
지난 강좌에서 if와 else를 이용한 조건문을 배웠습니다. 이번 강좌에서는 이것들을 응용하는 방법 한 가지와, 내장변수 세 가지를 설명드리겠습니다.
else-if 문
사실 else-if문은 별도의 구문이 아니라 else와 if가 결합되어 나타나는 문장입니다. if와 else 사이에 조건을 추가할 때 사용하며, 이를 이용하면 여러개의 조건을 다르게 분기시킬 수 있습니다. 아래와 같이 사용합니다.
if (조건1)
{
// 조건1을 만족할 때의 행동
}
else if (조건 2)
{
// 조건 2를 만족할 때의 행동
}
else
{
// 조건 1과 2를 모두 만족하지 않을 때의 행동
}
만약 else-if문을 사용하지 않으면 아래와 같이 else문이 두 조건을 모두 감싸지 못합니다. 컴퓨터는 else를 바로 위 if문에만 걸리게 하기 때문입니다.
if (조건1)
{
// 조건1을 만족할 때의 행동
}
if (조건 2)
{
// 조건 2를 만족할 때의 행동
}
else
{
// 조건 2만 만족하지 않을 때의 행동이므로 조건 1의 행동을 했어도 이 부분이 실행된다.
}
else-if 문 예제
아래 예제를 통해 간단히 실험해볼 수 있습니다. 먼저 else if문을 사용하지 않았을 때 나타날 수 있는 문제를 예제로 보겠습니다.
var := 1
if (var = 1)
{
MsgBox, var는 1입니다.
}
if (var = 2)
{
MsgBox, var는 2입니다.
}
else
{
MsgBox, var는 1도 2도 아닙니다?
}
최하단에 있는 else문은 if (var = 2)에만 걸리기 때문에, var가 1임에도 불구하고 else문 부분이 실행이 됩니다.
이럴때는 다음과 같이 else-if문을 사용해준다면 문제가 해결되겠지요.
var := 1
if (var = 1)
{
MsgBox, var는 1입니다.
}
else if (var = 2)
{
MsgBox, var는 2입니다.
}
else
{
MsgBox, var는 1도 2도 아닙니다?
}
이모저모
눈치 채신 분들도 계시겠지만, else if문을 이용한 위 예제는 아래 구문이 줄어들은 것 뿐입니다. 관용 표현처럼, 이미 굳어져서 모두들 else if로 쓰는 것 뿐입니다.
var := 1
if (var = 1)
{
MsgBox, var는 1입니다.
}
else
{
if (var = 2)
{
MsgBox, var는 2입니다.
}
else
{
MsgBox, var는 1도 2도 아닙니다?
}
}
빨갛게 표시한 부분이 줄어들어서 else if가 되며, else에 걸린 중괄호(보라색)는 생략되었습니다.
시간을 표시하는 내장 변수
A_Hour, A_Min, A_Sec이라는 내장 변수 세 가지를 소개합니다.
이들은 컴퓨터의 시간을 담고 있으며, A_Hour에는 시, A_Min에는 분, A_Sec에는 초가 담겨있습니다.
아래 예제를 통해 어떻게 실행되는지만 보고, 강좌 마치겠습니다.
MsgBox, % "현재 시간: " A_Hour "시 " A_Min "분 " A_Sec "초"
< 27. 조건문 (상) | 28. 조건문 (하) | 29. 프로그래밍 문제 (7) >
⚠ 이 강좌는 오토핫키 v1을 다룹니다
지금 보시는 강좌는 구버전 오토핫키(v1.1)를 다루고 있습니다. 따라서 본 강좌의 내용은 현재 최신 오토핫키 버전 (v2.0)과 호환되지 않습니다. 구버전의 정보가 필요한 것이 아니라면, 가능한 한 새로운 사이트에 작성한 v2 강좌(https://ahkv2.pnal.dev)를 봐주시길 바랍니다.