오토잇이 3.3.10.0으로 업데이트 되었습니다.
개인적으로 Autoit이 크게 변했다고 생각할 때는
오토잇 홈페이지의 웹 도움말이 변경된 경우인데, 이번에 웹 도움말이 변경이 되었습니다.
카페도 접근제한 걸렸고 (실명인증을 하지 않아서요)
그래서, 카페에 올릴글을 블로그에 써 봅니다.
일단,
Updated: 23rd December, 2013
History: View changelog
아직 SciTe가 업데이트 되지 않아서 "AutoIt- Self Extracting Archive"를 다운받아 압축풀고 테스트를 해 보시면 됩니다.
좀 달라지고 편해지는 부분이 생겼는데요.
저도 autoit 전체를 다 쓰는 부분이 아니라, 제가 자주 쓰는 부분 쪽에서 몇가지 설명을 달아 봅니다.
Added: Array access on expression: StringSplit("a,b", ",")[1]
Array를 반환받은 받아서 n번째 항목을 얻게 위해서는 아래와 같이 작성을 해야 합니다.
헛. _ArrayDisplay가 변경되었습니다.
$a = StringSplit("a,b", ",")
$a = $a[1]
ConsoleWrite($a & @LF)
변경후에는 아래와 같이 단순하게 작성할 수 있습니다.
$a = StringSplit("a,b", ",")[1]
ConsoleWrite($a & @LF)
그 외에도
;StringRegExp에서도 먹힌다.
$a = StringRegExp("a,b", "(\w+)", 3)[0]
ConsoleWrite($a & @LF)
;첫번째 실행파일.
Local $aFiles
$aFiles = _FileListToArray(@WindowsDir, '*.exe', 1)
ConsoleWrite($aFiles[1] & @LF)
ConsoleWrite(_FileListToArray(@WindowsDir, '*.exe', 1)[1] & @LF)
이런 방식의 사용이 가능해 집니다.
Added: C++ style ternary operators: Local $fResult = ("foo" = "bar") ? True : False
ternary operators [google]
이번에 추가된 연산자 입니다.
쉽게 설명하자면
Local $var
If 100 > 20 Then
$var = '크다'
Else
$var = '작다'
EndIf
ConsoleWrite($var & @LF)
위 와 같은 소스를
아래와 같이 표현이 가능해 집니다. (IF문을 간락히 했다고 생각하시고 사용하면 될 듯 합니다 !)
Local $var
$var = ("100 > 20") ? '크다' : '작다'
ConsoleWrite($var & @LF)
전공공부 하는게 아니니 이정도면 충분할 것 입니다.
Changed: ShellExecute() will return the process ID.
기본의 ShellExecute 함수에서는 실행여부만을 반환했었는데,
Run 함수와 마찬가지로 "process ID"를 반환해 줍니다.
Added: ByRef with Call() function.
ByRef를 Call 함수에서도 사용이 가능해 졌습니다.
아래 소스를 각 버젼에서 실행 해 보시면 쉽게 이해 가능합니다.
Local $var_func, $var_call
$var_func = 'A'
$var_call = 'A'
function($var_func)
Call('function', $var_call)
MsgBox(0, 'Autoit v' & @AutoItVersion, 'Func' & @TAB & $var_func & @LF & 'Call' & @TAB & $var_call)
Func function(ByRef $c)
$c = 'Change'
EndFunc
그림 처럼 v.3.3.8.1에서는 Call 함수로 호출된 function 함수에선 ByRef가 적용이 되지 않아서 $var_call 변수는 원래값 그래로 "A" 라는 값이 됩니다. 이것을 함수를 사용했을대 처럼 바뀌었다는 의미입니다.
Call이 함수를 호출 할 수 있다는 점에서, 더 잘된 것이지요.
이것이 안되었을 때엔 Call로 호출할 임시 함수를 만들어서 다시 원래 함수를 호출하는 2중 작업을 했었는데
이번에 업데이트 외면서 그런 귀찮은 작업을 하지 않아도되는 것이지요.
그 외에도
ProcessWaitClose의 CPU점유율을 줄였다는 것도 보이고,
Windows 2000 지원이 끝났다는 것도 보이고 그러네요..
찬찬이 더 봐야 할 듯합니다.
'AutoIt Example' 카테고리의 다른 글
SoundPlay 함수이용 mp3재생기 만들기 (0) | 2011.02.14 |
---|---|
파일명 변경하기 (1) | 2008.12.25 |
한글의 변환 (2) | 2008.10.25 |
Autoit으로 트레이 런쳐 만들어 보기.. (11) | 2008.06.16 |
[예제] @GUI_DRAGFILE (0) | 2008.01.23 |