2012-12-23 2 views
0

아마도 AutoHotKey 기능이 어떻게 작동하는지 오해하고 있습니다.InStr() functionality

pos = InStr(123abc789, abc) 
MsgBox, abc is at pos "%pos%" 
Exit 

있는 MsgBox 읽기 : 여기에 몇 가지 테스트 코드의

ABC는 POS에있다 "는 InStr이 (123abc789, ABC)"

나는 것으로 POS의 값을 기대하고 있습니다 4.

이제 AutoHotkey를 도움말 파일에 대한 InStr() 상태 :

가 건초 더미 문자열 ...에서 문자열 니들의 발생의 위치를 ​​돌려줍니다 예를 들어, "123abc789"에서 "ABC"의 위치가 무슨 일이야 항상 4

입니까 ??

답변

2

당신은 2 가지를 놓치고 있습니다. := 지정을 사용하고 문자열을 따옴표로 묶어야합니다. 또한

pos := InStr("123abc789", "abc") ; strings must be in quotes unless variables 
MsgBox, abc is at pos "%pos%" 
-1

: 아래의 수정 된 코드를 참조하십시오

MsgBox, abc is at pos "%pos%" 

이 작동하지 않을 수, 변수는 비율 표지판, 따옴표 사이해야합니다.

이 작동합니다 :

MsgBox, abc is at pos %pos% 
+0

이것은 잘못된 것입니다. 따옴표가 출력됩니다 : abc가 pos "% pos %" 일 때 이 될 것입니다. abc가 pos "4" – PGilm