- Elkha - Blue
- 오토핫키 커뮤니티
- 오토핫키
ini read, load, write에 대해서 간단한 예제같은거 없을까요?
-
-
오핫 공식 포럼은 죄다 영어라 알아 듣기 힘들더라구요 ㅜㅜ
국내 사이트를 봐도 자세하게 설명이 없어서 찾기 힘들었는데 정말로 감사합니다 (__)
2,3링크가 도움이 많이 되네요 ㅎㅎ -
제 글중에 ini 편하게 사용하자는 글이 있습니다 ^^;;
http://tailstar.net/autohotkey/11076931
-
아 물론 모바게님의 글도 봤습니다만..
아직 ini에 대한 기초적인 개념이 없는제게 어렵더라구요..
[Options]
font=Vernda
[Window]
positionX=100
positionY=100
inifile = inifile.ini
;here is where we use our new user library functions.
INI_Init(inifile)
INI_Load(inifile)
Gui, Add, Text, , Options_font
Gui, Add, Edit, vOptions_font, % Options_font
Gui, Add, Button, gSave, 저장
Gui, Add, Button, gRestart, 재시작
Gui, Show, x%Window_positionX% y%Window_positionY% w150 h130
Return
GuiClose:
WinGetPos, Window_positionX, Window_positionY
INI_Save(inifile)
ExitApp
Return
Save:
Gui, Submit, NoHide
INI_Save(inifile)
MsgBox, 저장완료
Return
Restart:
WinGetPos, Window_positionX, Window_positionY
INI_Save(inifile)
Reload
/*
INI_Init(inifile) ;prepares the global variables to be populated
INI_Load(inifile) ;Reads all the settings into the global variables from the file
INI_Save(inifile) ;Saves all the settings from the global variables into the file
INI_ReadAll(inifile) ;Synonym for INI_Load
INI_WriteAll(inifile) ;Synonym for INI_Save
*/
INI_Init(inifile = "inifile.ini"){
global
local key
inisections:=0
loop,read,%inifile%
{
if regexmatch(A_Loopreadline,"\[(\w+)]")
{
inisections+= 1
section%inisections%:=regexreplace(A_loopreadline,"(\[)(\w+)(])","$2")
section%inisections%_keys:=0
}
else if regexmatch(A_LoopReadLine,"(\w+)=(\w+)")
{
section%inisections%_keys+= 1
key:=section%inisections%_keys
section%inisections%_key%key%:=regexreplace(A_LoopReadLine,"(\w+)=(.*)","$1")
}
}
}
INI_readAll(inifile="inifile.ini"){
INI_load(inifile)
}
INI_load(inifile="inifile.ini"){
global
local sec,var
loop,%inisections%
{
sec:=A_index
loop,% section%a_index%_keys
{
var:=section%sec% "_" section%sec%_key%A_index%
iniread,%var%,%inifile%,% section%sec%,% section%sec%_key%A_index%
}
}
}
INI_writeAll(inifile="inifile.ini"){
INI_Save(inifile)
}
INI_Save(inifile="inifile.ini"){
global
local sec,var
loop,%inisections%
{
sec:=A_index
loop,% section%a_index%_keys
{
var:=section%sec% "_" section%sec%_key%A_index%,var:=%var%
iniwrite,%var%,%inifile%,% section%sec%,% section%sec%_key%A_index%
}
}
}
이런식으로 써봤지만 제것으로 만들기엔 부족하단 판단이 들어 좀더 찾아 보고 쓰려고 했습니다 ㅎ.
댓글과 관심 감사합니다 (__) -
아 그리구 외람된 말이지만 모바게님이 정리해주신 함수들 잘쓰구 있습니다!
감사합니다 ! -
아차 그리구.. 모바게님 스크립트 쓸때
[Options]
font=Vernda
[Window]
positionX=100
positionY=100
이부분에서
==> This line does not contain a recognized action.
와같은 에러가 나면서 실행이 되지않습니다.
조언 부탁드리겠습니다 ㅜ -
특정 줄에서 잘못됬다는 말인데..
ahk 버전 문제일 수도 있고..
파일에서 구문에 맞지 않는 부분이 있거나..
파일 인코딩 문제일수도 있겠죠..;
http://ahkscript.org/docs/commands/IniRead.htm
http://jogamja.tistory.com/33
http://ahkplant.tistory.com/213
찾아보셨겠지만.. 일단 공식 오토핫키 사이트와, 몇몇 블로그에 있는 글들만 참고하셔도 충분히 예제를 만드실 수 있을 거라 생각합니다. ^^