매크로

조회 수 191 추천 0 댓글 5

열심히 인터넷 돌아다니면서 짜보곤 있는 초보입니다.

if문만 엄청나게 나오다 보니 함수를 써서 줄여볼려고 하는데 여기서 막히네요


Start:

GuiControl, Disabled, start

loop

{

시작("imgA")

시작("imgB")

시작("imgC")

시작("imgD")

if(IsImageCheck(imgsearch_x, imgsearch_y, "Image\imgE.bmp",60,0))

break

}

return


시작(이미지파일명)

{

if(IsImageCheck(imgsearch_x, imgsearch_y, "Image\%이미지파일명%.bmp",60,0))  ;이미지파일명만 바뀔뿐 반복되는부분

click(imgsearch_x, imgsearch_y)  ;반복되는부분

}


위와같이 반복되는 구문을 함수로 정의해주고 이미지파일만 바꿔줘서 실행하게끔했는데..뭐가 문제인건가요?

설마 함수사용할때 if문 들어가면 안되는건가요? 초보라서..좀 갈쳐주세요



  • 공유야우 2017.12.20 18:02
    loop
    {
    if(IsImageCheck(imgsearch_x, imgsearch_y, "Image\imgA.bmp",60,0))
    click(imgsearch_x, imgsearch_y)
    if(IsImageCheck(imgsearch_x, imgsearch_y, "Image\imgB.bmp",60,0))
    click(imgsearch_x, imgsearch_y)
    }
    return
    참고로 위와같이 반복해서 쓰면 검색및클릭은 잘되는데 저렇게 대입만 하면 안됩니다.. ㅜㅜ
  • Hangoon 2017.12.21 01:00
    따옴표 안에 퍼센트 싸인은 안되지요...
    “image\” . 이미지파일명 . “.bmp”
    표현식 작성법 숙지하시기 바랍니다
  • 공유야우 2017.12.21 04:04

    답변감사합니다.
    말씀하신데로 하면 함수호출이 되지않는것같네요.
    포기해야할것같네요 ㅜㅜ
    "Image\imgB.bmp" <- 요부분 따움표는 꼭있어야 실행되는거같고...
    함수대입을위해선 퍼센트가 있어야 하는데...따옴표안에 퍼센트 넣는건 불가능한것이므로 답이 없네요 ㅎㅎ;;
    감사합니다~

  • Hangoon 2017.12.21 10:41
    따옴표안에 퍼센트싸인으로 변수를 쓰는것은 잘못된 사용법입니다

    함수호출이 되지 않는것 "같네요"
    따옴표는 꼭 있어야 실행되는거 "같고"....  이런 추측성 지식은 코딩할때는 별로 도움이 되지 않습니다.

    결과를 보았고 과정을 추측을 할수는 있겠지요. 그런데 추측을 하셨으면 내가 추측한게 맞는지, 왜그런지 검증을 하셔야 되는것입니다. 
    해봤는데 잘 안되고, 잘안되는 이유에 대한 검증없이 추측만 해보고 답이 없다고 생각하시면 절대 원하는 스크립트를 완성 못하실 겁니다. 다 알고 짜도 버그가 나오고, 짜는것보다 버그잡는게 사실 더 일이됩니다. 하물며 잘모르는 영역을 테스트 하는것인데 추측만으로 답을 찾을 수 있을까요?

    코드 한줄한줄 데이터 하나하나 검증을 하여 잘못 작성된 부분을 찾아야 됩니다.
    좀 헷갈리는 부분은 원리나 문법도 찾아보고 정확하게 작성했는지 확인을 하고요..... 오토핫키는 공식홈페이지에 문법과 명령어 등 모든 설명이 다 있습니다. 
    심지어 한글로된 페이지도 있습니다. 찾아보세요... 누가 찾아주지 않습니다. 이런게 있다고 누가 말을 해주면 그 다음에는 내가 찾고 내가 공부해야 됩니다. 어떤게 있다고 알려주는것으로 사실 다 가르쳐준거나 다름이 없어야 됩니다.

    오토핫키 뿐 아니라 다른 언어도...... 표현식 작성법은 반드시 숙지하셔야 됩니다. 
    데이터를 다루는 기본중의 기본입니다.

    표현식은 넓은 의미의 수식입니다. 쉽게 생각해 괄호안은 모두 표현식으로 작성한다고 생각하시면 됩니다. 또한 문자열에서는 퍼센트싸인으로 표현식이라느 표기를 합니다. 단 따옴표 안은 모두 문자열로 인식합니다.
    표현식에서는 변수에 퍼센트싸인을 붙이지 않습니다. 그냥 변수명을 쓰면 변수에 대입된 값을 불러옵니다.
    반면 문자열은 따옴표 사이에 작성합니다. 문자열과 변수의 조합은 사이에 .(콤마)를 사용하거나 그냥 공백으로 띄우고 사용합니다.

    IsImageCheck(imgsearch_x, imgsearch_y, "Image\" . 이미지파일명 . ".bmp",60,0) 혹은
    IsImageCheck(imgsearch_x, imgsearch_y, "Image\" 이미지파일명 ".bmp",60,0)
    오토핫키에서는 둘다 맞는 표현식입니다.

    이렇게 했는데 안된다? 함수자체의 문제거나 '이미지파일명' 이라는 변수에 들어있는 값이 문제겠지요.

    제가 말씀드린게 표현식의 전부는 아닙니다.... 
    정말 기본일뿐이고 수많은 연산자와 특수기호들이 있습니다.
    기본만 알고 연산기호들은 몰라도 당장 코드짜는데 큰 상관은 없을 수 있지만
    한번 찾아보고 공부해보시면 내가 그동안 뭔 삽질을 한건가 싶을정도로 코드가 효율적으로 변할 수 있습니다.
    이런 하나하나가 스크립트의 수행 퍼포먼스에도 영향을 주게 되고요.
  • 공유야우 2017.12.21 16:02
    아직 초보라서 그래요 제말 오해하지 마셔요 ㅜㅜ
    여러군데 뒤져보면서 공부중입니다.

List of Articles
분류 제목 글쓴이 최근변경 추천
질문 GUI Combobox (콤보박스) 에 대한 질문좀 드립니다. 4 우후훅 2015.06.19 0/0
질문 Gui child parent 관계에서 gui var 가져오기 방법 질... 14 아잉뿌잉 2015.07.09 0/0
질문 Gui ActiveX. 에서 Tab입력시 입력이들어가질않네요. ... 5 _Crash 2015.10.17 0/0
질문 Gui ActiveX 에 Send,{Enter} 가 안들어가네요 ㅠㅠ. 3 _Crash 2015.10.20 0/0
질문 GUI 2개가 있는 경우 질문입니다. 넌내꺼다솜 2020.04.11 0/0
정보 GUI - 파일(폴더) 목록을 DropDownList로 만들기 14 모바게 2016.06.13 3/0
질문 gui 저장 문제 질문입니다 5 T7GG 2015.08.31 0/0
질문 gui 드롭다운리스트 질문드려요 6 쵸쵸 2016.03.05 0/0
질문 GraySclae,화면단색화 질문올립니다. 2 Hoya2 2017.10.29 0/0
질문 GOTO문 질문입니다!! 소스 확인 부탁드립니다. 4 잘크 2016.09.11 0/0
질문 goto로 탈출했다 생각했는데 loop1회가 더돌아보리는 ... 19 독이든사과 2014.12.31 0/0
질문 gosub을 2개 더 추가 시켰을뿐인데 왜 start 한번 클릭... 8 꿈을낚는아이 2015.08.22 0/0
질문 gocr.exe 이나 vis2 말고 다른 ocr 소스도 있을까요? HyunsD 2021.03.06 0/0
질문 global 변수 질문 1 왜6자냐 2016.05.23 0/0
질문 gidp 이미지검색관련 함수질문이요 5 공유야우 2017.12.21 0/0
질문 GetkeyState 키를 여러개 지정하는법 질문! 7 Jaram 2016.01.12 0/0
질문 getkeystate 정지 시키는방법도 잇나요? 2 바유무 2015.07.04 0/0
질문 GetKeyState 여러키 질문좀요 .. 3 모짱 2016.01.27 0/0
질문 Genymotion에서 PostMessage를 이용하기 에러 질문 6 무림공작 2015.09.07 0/0
질문 Gdi관련 질문좀 부탁드립니다 안녕하세요254 2017.04.05 0/0
Board Pagination Prev 1 ... 188189190191192193194195196 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글