매크로

조회 수 315 추천 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
분류 제목 글쓴이 최근변경 추천
정보 (안내) 글내용확인하시고 자삭하세요 27 snf 2015.02.23 0/0
정보 (펌)픽셀서치를 대체할 수 있는 비활성픽셀칼라 활용 ... 6 앙꼬호빵 2019.05.26 0/0
정보 adb 관련 비활성화 이미지 서치 쉽게하기 6 운하파는 2016.07.02 1/0
정보 adb를 이용한 연속 터치 및 키입력 TIP 7 하연데디 2019.03.05 1/0
정보 AHK_Helper.exe 오토핫키 도움말 프로그램 입니다. 2 월드걸스 2023.02.24 0/0
정보 Array 확장 13 모바게 2015.07.16 3/0
정보 Autohotkey에서 함수와 ByRef 사용에 대해... 12 류Macro 2015.07.12 1/0
정보 ControlSend 명령을 이용한, 카톡으로 알림받기 간단하... 10 죠케빈 2018.01.02 0/0
정보 DllCall "mouse_event" 속도조절하는 법 rkfdma 2016.12.08 0/0
정보 DynaScript - Child 프로세스로 코드 실행 13 예지력1 2019.07.16 3/0
정보 gdip 간단 응용 팁들 13 매크로맨서 2015.04.18 0/0
정보 gdip 비활성 이미지 서치, postmessage 모모 소스입니다. 6 사이다업 2021.01.23 1/0
정보 Gdip_all.ahk를 이용한 Bitmap의 size 변경 함수 6 할거엄따구 2022.12.14 1/0
정보 Gdip를 이용한 클립보드에 있는 이미지를 통한 이미지서치 11 암드래 2016.07.19 0/0
정보 GUI - 파일(폴더) 목록을 DropDownList로 만들기 14 모바게 2016.06.13 3/0
정보 Gui- dropdownlist 사용하기 기초내용 (모르시는 분만 ... 3 으뜸어린이 2017.09.07 1/0
정보 g라벨? v라벨? 설명좀해주세요 5 이리오리오 2016.10.25 0/0
정보 INI 를 쉽게 사용해봅시다. 11 모바게 2017.11.01 3/0
정보 ListBox로 로그창을 만들어보자! 고음l 2017.11.18 1/0
정보 List에 해당하는 GUI 팁 9 외치기 2015.08.24 2/0
Board Pagination Prev 1 23456 7 Next
/ 7

전체 최신 인기글

전체 주간 인기글