문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다: 사용자.
== Autoit ini파일 memory 캐시 == * AutoIt에서 .ini 파일을 메모리에 로드해두고 필요할 때마다 읽어오는 방법은 IniRead 또는 IniReadSection 함수를 활용하여 파일의 내용을 변수에 저장하는 것임. * .ini 파일 전체를 메모리에 올려두려면 IniReadSectionNames와 IniReadSection 함수 사용 * ini 파일의 내용을 메모리에 저장해두면, 파일을 매번 다시 읽지 않고도 데이터를 손쉽게 접근. === .ini 파일을 메모리에 로드한 후 필요할 때마다 데이터를 불러오는 방법 === ==== .ini 파일 예시 ==== * 예를 들어 config.ini 파일이라고 가정 <source lang=python> [Settings] username=admin password=1234 [Network] ip=192.168.1.1 port=8080 </source> ==== .ini 파일을 메모리에 로드하고 읽기 ==== <source lang=autoit> #include <Array.au3> #include <MsgBoxConstants.au3> Global $g_Config = _ReadIniToMemory("config.ini") ; 예시 조회 MsgBox(0, "MYKEY", _GetConfig("username", "username")) MsgBox(0, "FONT_NAME", _GetConfig("Network", "ip")) ; ============================ ; INI 읽고 메모리에 저장하는 함수 Func _ReadIniToMemory($sFilePath) Local $config = ObjCreate("Scripting.Dictionary") If Not FileExists($sFilePath) Then MsgBox(16, "오류", "INI 파일을 찾을 수 없습니다: " & $sFilePath) Exit EndIf Local $sections = IniReadSectionNames($sFilePath) If @error Then Return $config For $i = 1 To $sections[0] Local $section = $sections[$i] Local $keyValues = IniReadSection($sFilePath, $section) If @error Then ContinueLoop Local $innerDict = ObjCreate("Scripting.Dictionary") For $j = 1 To $keyValues[0][0] $innerDict.Add($keyValues[$j][0], $keyValues[$j][1]) Next $config.Add($section, $innerDict) Next Return $config EndFunc ; 설정값을 조회하는 함수 Func _GetConfig($sSection, $sKey) If Not $g_Config.Exists($sSection) Then Return "" Local $sectionDict = $g_Config.Item($sSection) If Not $sectionDict.Exists($sKey) Then Return "" Return $sectionDict.Item($sKey) EndFunc </source> [[category:autoit]]
문서 저장 미리 보기 차이 보기 취소