다른 명령
Autoit ini파일 memory 캐시
- AutoIt에서 .ini 파일을 메모리에 로드해두고 필요할 때마다 읽어오는 방법은 IniRead 또는 IniReadSection 함수를 활용하여 파일의 내용을 변수에 저장하는 것임.
- .ini 파일 전체를 메모리에 올려두려면 IniReadSectionNames와 IniReadSection 함수 사용
- ini 파일의 내용을 메모리에 저장해두면, 파일을 매번 다시 읽지 않고도 데이터를 손쉽게 접근.
.ini 파일을 메모리에 로드한 후 필요할 때마다 데이터를 불러오는 방법
.ini 파일 예시
- 예를 들어 config.ini 파일이라고 가정
[Settings] username=admin password=1234 [Network] ip=192.168.1.1 port=8080
.ini 파일을 메모리에 로드하고 읽기
; .ini 파일 경로 Local $sIniFile = "config.ini" ; .ini 파일을 메모리에 로드 Global $iniData = IniLoad($sIniFile) ; 설정 값을 가져오는 함수 Func GetIniValue($section, $key, $default = "") ; 섹션이 존재하는지 확인 If Not MapExists($iniData[$section]) Then Return $default EndIf ; 키가 존재하는지 확인 If Not MapExists($iniData[$section][$key]) Then Return $default EndIf ; 값 반환 Return $iniData[$section][$key] EndFunc ; 예시: 데이터 읽기 Local $username = GetIniValue("Settings", "username", "defaultUser") Local $password = GetIniValue("Settings", "password", "defaultPass") Local $ip = GetIniValue("Network", "ip", "127.0.0.1") Local $port = GetIniValue("Network", "port", "80") ; 출력 MsgBox(0, "INI Data", "Username: " & $username & @CRLF & "Password: " & $password & @CRLF & "IP: " & $ip & @CRLF & "Port: " & $port)
- 코드 설명
1. IniLoad 함수: .ini 파일을 메모리에 로드합니다. IniLoad는 각 섹션을 딕셔너리로 읽고, 각 섹션 아래 키-값 쌍으로 저장. 2. GetIniValue 함수: 메모리에 저장된 데이터를 읽기 위해 섹션, 키, 그리고 기본값(값이 없을 경우)을 인자로 받아 해당 값을 반환. 3. 예제 읽기: Settings 섹션에서 username, password와 Network 섹션에서 ip, port 값을 읽어옵니다.
- .ini 파일 변경시 리로딩 기능 추거개발 필요