매크로

조회 수 292 추천 2 댓글 3


 https://i.imgur.com/a3xr2nj.png

블로그에서 작성한 글을 가져왔습니다. 원본 글을 보려면 여기를 클릭하세요


오토핫키에서 값을 저장하고 불러오는 목적으로 .ini 파일을 사용할 수 있습니다

근데 단점은 너무 느리다는거죠, IniWrite으로 값을 저장할때 ~10개정도까지는 그렇다해도 양이 늘어나면 많이 느리다는걸 느끼실꺼에요

또한, 문법이 길고 FileName을 계속 지정해줘야 한다는 귀찮은 문제도 있겠네요

 

이러한 기존 Ini의 문제를 해결하고자 Verdlin 이 새로운 클래스를 만들어냈었습니다, 바로 Easyini

벤치마킹의 결과를 보시면 알겠지만, 기존 IniWrite 보다 1162% 더 빠릅니다

5만개의 값을 저장하는데 Easyini 클래스는 21초, IniWrite 은 4분 4초가 걸립니다

{
 iAhkPID := DllCall("GetCurrentProcessId")
 Process, Priority, iAhkPID, H
 
 vIni := class_EasyIni("test.ini")
 
 Loop 50000
 {
  if (!vIni.AddSection(A_Index, A_Index, A_Index, sError))
   sErrors .= sError "`n"
 } ; ~ 1초
 
 vIni.Save() ; ~ 20초
 
 Loop 50000
  IniWrite, %A_Index%, IniWrite.ini, %A_Index%, %A_Index%
 ; ~ 4분 4초
 return
}

 

또한 커스텀 클래스덕분에 네이티브 오브젝트처럼 접근해 사용할 수 있습니다

 

EasyIni 다운로드 \Lib 폴더에 저장하거나 #include 하세요

 

문법

; ini 오브젝트를 생성,설정하기
vIni := class_EasyIni("파일명.ini")
 
; 어레이(배열)로 받고싶을때
for section, aKeysAndVals in vIni
   for key, val in aKeysInVals
      vIni[Section][key] := 1
 

; 배열로 ini 값을 가져올때 (ini 파일을 파싱할때)
vIni[SectionName을 변수로 받음][KeyName을 변수로받음] := 값

 

; 가장 일반적인 방법, 기존 ini 문법하고 비슷하죠?
vIni.Section이름.Key이름:= 값

vIni.Section이름[Key이름 변수로받음] := 값

vIni[Section이름 변수로받음].Key이름:= 값

 

예제

MyName := "예지력"

 

; ini 파일 오브젝트 생성하기
vIni := class_EasyIni("TEST.ini")

 

vIni.Section1["키이름1"] := "설정값1"

vIni.Section1["키이름2"] := "설정값2"

 

vIni.Section2["키이름1"] := "설정값1"
vIni.Section2["키이름2"] := "설정값2"

 

vIni.Section3["이름"] := MyName

 

; 저장하기 - 스크립트 경로에서 'TEST.ini' 파일이 생성됨
vIni.Save()

 

; 확인 목적으로 ini 파일 열기
try
 Run, TEST.ini
return



List of Articles
분류 제목 글쓴이 최근변경 추천
정보 이미지파일 세밀하게 캡쳐하기 12 부비수달 2017.08.13 0/0
정보 브레이브 헌터 ... 매크로.. 1 제발등업좀2 2015.07.10 4/0
정보 많은분들이 공유하신 확장모니터 사용법입니다. 골부리 2015.07.14 0/0
정보 INI 를 쉽게 사용해봅시다. 11 모바게 2017.11.01 3/0
정보 한/영 전환 및 한글인지 영어인지 체크하는 방법 3 sistt 2017.04.08 1/0
정보 해당이미지를 검색영역에서 모두 찾기 3 와이로 2015.11.11 1/0
정보 테일스타 내 포인트 조회기 16 와이로 2017.07.04 4/0
정보 제가 쓰는 픽셀피커입니다(스크립트) 6 와이로 2017.02.11 3/0
정보 지니모션 디바이스(타이틀) 검색 ddl 소스 9 핸콕 2015.10.11 3/0
정보 레이븐 블루스택용 소스2탄 - 필요하신분쓰세요 추천X T7GG 2015.09.13 1/0
정보 레이븐 블루스택용 소스3탄 - 필요하신분쓰세요 추천X T7GG 2015.09.13 1/0
정보 레이븐 블루스택용 소스4탄 - 필요하신분쓰세요 추천X T7GG 2015.09.13 1/0
정보 레이븐 블루스택용 소스5탄 - 필요하신분쓰세요 추천X 1 T7GG 2016.11.14 1/0
정보 레이븐 블루스택용 소스6탄 - 필요하신분쓰세요 추천X T7GG 2015.09.13 1/0
정보 레이븐 블루스택용 소스7탄 - 필요하신분쓰세요 추천X 1 T7GG 2016.11.14 1/0
정보 레이븐 블루스택용 소스8탄 - 필요하신분쓰세요 추천X 4 T7GG 2016.11.14 1/0
정보 레이븐 블루스택용 소스 오픈 9탄 - 마지막 추천X 9 T7GG 2015.10.12 1/0
정보 제가 쓰는 비활성 드래그입니다.. 10 제발등업좀2 2021.01.23 0/0
정보 네이버에서 현재시간 가져오기 6 와이로 2016.11.14 1/0
정보 [라이브러리] EasyINI 네이티브 ini 3 예지력1 2016.02.09 2/0
Board Pagination Prev 1 23456 7 Next
/ 7

전체 최신 인기글

전체 주간 인기글