naver / guitar

76 stars 18 forks source link

'GUICtrlCreateInput' Au3변수읽기 관련 질문 드립니다. #334

Open karnellin opened 7 years ago

karnellin commented 7 years ago

안녕하세요. 오토잇 GUI를 이용하여 테스트관련 설정 값 들을 받아들이고 그 값을 기반으로 테스트를 진행하는 스크립트를 작성하려 하고있습니다.

문제는 Inputbox 를 이용하여 하나씩 값을 받아들이는 경우엔 변수읽기가 잘 작동하는데 GUICtrlCreateInput 를 이용하여 여러개의 값을 한번에 받으려 할 땐, 값을 자꾸 이상하게 읽네요..

일단 오토잇에서 실험용으로 작성한 코드는


include-once

include

include

include

include

GUICreate("테스트 설정", 200, 140) Local $textheigh = 25 GUICtrlCreateLabel("반복 횟수 : ", 10, $textheigh, 70, 20) Local $repeatnum = GUICtrlCreateInput("", 80, $textheigh-4 , 100, 20) GUICtrlCreateLabel("현재 재화 : ", 10, $textheigh 2, 70, 20) Local $nowmoney = GUICtrlCreateInput("", 80, $textheigh 2 -4 , 100, 20) GUICtrlCreateLabel("이건 더미 : ", 10, $textheigh 3, 70, 20) Local $thisisdummy = GUICtrlCreateInput("", 80, $textheigh 3 -4 , 100, 20) Local $idBtn = GUICtrlCreateButton("확인", 70, $textheigh * 4, 60, 20) _GUITAR_AU3VARWrite ("오토잇반복횟수", $repeatnum) _GUITAR_AU3VARWrite ("오토잇현재재화", $nowmoney) _GUITAR_AU3VARWrite ("오토잇더미", $thisisdummy)

GUISetState(@SW_SHOW)

While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop Case $idBtn ExitLoop EndSwitch WEnd MsgBox($MB_SYSTEMMODAL, "drag drop file", GUICtrlRead($repeatnum))


이렇고요. GUITAR 에서는


GUIexam2.au3 au3실행

$반복횟수설정=오토잇반복횟수 AU3변수읽기 $시작재화설정=오토잇현재재화 AU3변수읽기 $더미변수=오토잇더미 AU3변수읽기

"|$반복횟수설정|,|$시작재화설정|,|$더미변수|" 로그쓰기


이렇게 했는데

오토잇 GUICtrlRead 에서는 값을 제대로 읽는데 GUITAR 에서는 저 세가지 값을 무슨 숫자를 넣든 상관없이 4,6,8 로만 읽네요. 제가 하는 방식에 뭔가 문제가 있는 걸까요?

ssmmhh commented 7 years ago

GUI 입력상자에서 값을 읽으려면 "GUICtrlRead" 함수를 사용해야 합니다. 알려주신것과 같이 쓰게 되면 오프젝트의 ID값만 리턴되어 의미 없는 숫자처럼 보이게 됩니다. 아래와 같이 변경해서 쓰시면 될것 같습니다.

_GUITAR_AU3VARWrite ("오토잇반복횟수", GUICtrlRead($repeatnum))

참고 : https://www.autoitscript.com/autoit3/docs/functions/GUICtrlCreateInput.htm https://www.autoitscript.com/autoit3/docs/functions/GUICtrlRead.htm

karnellin commented 7 years ago

빠른 답변 감사합니다. 알려주신 방법으로 해결하였습니다. 오토잇 예시에도 GUICtrlRead( ) 로 사용되어 있는데 간단한걸 놓쳐버렸군요 ㅠ