매크로

조회 수 314 추천 0 댓글 4

오토핫키 갓 입문이라 이것저것 하고있었는데



ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

F1::

Loop

{

if (상태 = 하이)

{

gosub, 1

}


else if (상태 = 바이)

{

gosub, 2

}

}

return







1:

sendinput, {enter}

sleep 100

sendinput, {1}

sleep 100

return


2:

sendinput, {enter}

sleep 100

sendinput, {2}

sleep 100

return


F2::

상태 := 하이

return


F3::

상태 := 바이

return

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ


상태가 하이 일때 1을 출력하고

상태가 바이 일때 2를 출력하는걸 만든건데


이걸 실행시키고 


F1을 누르면 1이 계속 타이핑 되다가


F3을 누르면 상태가 바이로 변경되서


2가 출력되야대는데



001: Return (1.83)

002: Loop

004: if (상태 = 하이)  

006: Gosub,1

022: SendInput,{enter}

023: Sleep,100 (0.11)

024: SendInput,{1}

025: Sleep,100 (0.11)

026: Return

007: }

013: }

004: if (상태 = 하이)  

006: Gosub,1

022: SendInput,{enter}

023: Sleep,100 (0.02)

040: 상태 := 바이                  (F3을 누름)

041: Return (0.09)

024: SendInput,{1}

025: Sleep,100 (0.11)

026: Return

007: }

013: }

004: if (상태 = 하이)     

006: Gosub,1

022: SendInput,{enter}

023: Sleep,100 (0.11)

024: SendInput,{1}

025: Sleep,100 (0.11)

026: Return

007: }



빨간색 색칠한 글씨부분보면 F3을 눌러서 상태를 바이로 변경했는데


왜 계속 if문은 상태 하이 인 상태로 도는건가요?


제가 if문 이해를 잘 못하는건가요?


  • slka 2018.09.29 19:06

    F1::

    Loop

    {

    if (상태 = 하이)

    {

    gosub, 1

    }


    else if (상태 = 바이)

    {

    gosub, 2

    }

    }

    return

    부분에서 


    else if (상태 = 바이)

    if (상태 = 바이)

    로 만들면 

    1

    2

    1

    2

    로 출력이 되네요


    상태는 하이 or 바이 둘중 하나인데


    else if를 넣는것과 if로 한것과 왜 차이가 있나요?

  • 허간지 2018.10.01 16:15

    이렇게해보세요


    #SingleInstance force


    F1::


    상태 = 하이


    Loop

    {

    if (상태 = "하이")


    {

    SplashTextOn, ,30 , 제목 없음 ,"하이"

    }



    else if (상태 = "바이")


    {

    SplashTextOn, ,30 , 제목 없음 ,"바이"

    }

    sleep,500

    }


    return



    F4::

    exitapp

     


    F2::


    상태 = 하이


    return




    F3::

    상태 = 바이

    return



    참고로

    상태 := 하이 대입은 잘못된걸로 알고있습니다. : 대입은 숫자일떄만 가능한걸로..
  • Hangoon 2018.10.02 11:32

    변수 값 정의할때 := 기호 다음은 표현식이 들어갑니다

    if구문에서도 조건문을 괄호안에 작성하면 표현식이 들어가야 합니다


    표현식에서 문자열은 따옴표로 둘러쌓아야 합니다. 그렇지 않으면 해당 문자열을 이름으로 가진 변수를 참조하게 됩니다.


    상태:=하이

    상태:=바이


    하이 나 바이 란 이름의 변수안에는 아무런 값이 없기 때문에 저 두 명령의 결과는 같습니다 (상태 변수 안에 값은 NULL 로 변동이 없음)


    원하시는대로 되려면

    상태:="하이" 와 같은 형식이 되어야 하며


    if문의 조건문도 (상태="하이") 와 같은 형식이 되어야 합니다.


    표현식은 기본중에 기본입니다. 오토핫키 공식 홈페이지에 가면 표현식 부분을 따로 떼어서 길게 설명하고 있습니다.

    소스포지에 한글 번역 페이지도 있으니 (본 게시판 공지 링크) 가서 깊게 공부해보세요.

    오토핫키 코딩에 있어서 두번세번 강조해도 지나치지 않을만큼 중요한 사항입니다

  • sama 2018.10.16 15:50
    변수 인자 표현식 중요합니다.. 저도 이거때문에 소스 몇전 갈아 덮었습니다 흑흑

List of Articles
분류 제목 글쓴이 최근변경 추천
질문 함수에 오류나는데 무슨 뜻인가요 ?? 1 wngo 2019.07.18 0/0
질문 함수안에서 다른 함수를 호출할 수 있나요? 3 거룩한검 2016.03.13 0/0
질문 함수사용과 이미지서치 도움좀 부탁드립니다.. 5 소다맛사탕 2018.01.04 0/0
질문 함수를 중복(동시)에 2~3개를 할 수 있을까요? 9 Rabbit 2016.05.17 0/0
질문 함수를 만들었는데 원하는대로 작동을 안하네요. 좀 봐... 3 cis105 2022.09.29 0/0
질문 함수를 랜덤으로 중복없이 실행시키려면 어떻게 하면될... MC하얀늑대 2016.02.15 0/0
질문 함수가 1일 경우 명령어를 실행 하는방법 없을까요? 4 아키만점 2015.02.16 0/0
자유 함수 파라메터 질문좀 드리겠습니다. 7 횬히 2015.10.08 0/0
질문 함수 질문드립니다 2 광대승천 2020.07.28 0/0
질문 함수 질문 있습니다!!! 2 adde 2018.07.24 0/0
질문 함수 이미지서치 투명!!베스트글 모바게님의 함수 질문... 2 혜띠뿌뿌 2016.03.29 0/0
질문 함수 안에서 gui체크박스 여부에 따라 적용되는건 어떻... 2 복권상인 2017.04.12 0/0
질문 함수 사용 질문입니다 ( 드랍다운리스트와 비활성 클릭) 1 몬길러축협 2015.11.16 0/0
질문 함수 사용 질문 6 빵글빵글 2018.10.03 0/0
질문 함수 불러와서 쓸 때 함수 내의 특정부분만 예외처리 ... 14 아이나인 2015.10.26 0/0
질문 함수 winmove 질문드립니다 4 PlusK 2016.05.29 0/0
질문 한창 공부 중인데 추천 해줄만한 책 있나요?? 1 Minuya 2017.07.05 0/0
질문 한줄짜리 비활성 클릭이 안되는 이유가 뭘까요... 데프픗 2017.12.10 0/0
질문 한영전환 문제 혹시 해결가능할가요 6 오핫정보공유 2015.08.25 0/0
질문 한스크립트안에 여러가지 스크립트를 넣어 놓을수 있나요? 4 세나블텍 2015.04.22 0/0
Board Pagination Prev 1 ... 456789101112 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글