Autoit iniread utf()
DB CAFE
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
1 autoit fileread utf8[편집]
1.1 IniRead UTF8 방식[편집]
Func _IniRead($filename, $section, $key, $default)
Local $filename_format = 0
Local $hFile
Local $data_ini = ""
Local $filename_temp = "_temp.ini"
Local $key_ini = ""
SetError(0)
$filename_format = FileGetEncoding($filename, 1)
If (@error) Then
SetError(1)
Return
EndIf
If ($filename_format = 512) Then
$key_ini = IniRead($filename, $section, $key, $default)
If (@error) Then
SetError(2)
Return
EndIf
Else
$hFile = FileOpen($filename, 0+$filename_format)
If (@error) Then
SetError(3)
Return
Else
$data_ini = FileRead($hFile)
If (@error) Then
SetError(4)
Return
EndIf
EndIf
FileClose($hFile)
If (@error) Then
SetError(5)
Return
EndIf
$hFile = FileOpen($filename_temp, 1+512)
If (@error) Then
SetError(6)
Return
EndIf
FileWrite($hFile, $data_ini)
If (@error) Then
SetError(7)
Return
EndIf
FileClose($hFile)
If (@error) Then
SetError(8)
Return
EndIf
$key_ini = IniRead($filename_temp, $section, $key, $default)
FileDelete($filename_temp)
If (@error) Then
SetError(9)
Return
EndIf
EndIf
Return ($key_ini)
EndFunc
1.2 IniReadSectionUTF8[편집]
func IniReadSectionUTF8(const $filename, const $section)
local const $file = FileOpen($filename, $FO_UTF8_NOBOM)
if @error then return SetError(1)
FileSetPos($file, 0, 0)
while FileReadLine($file) <> "[" & $section & "]"
if @error then
FileClose($filename)
return SetError(2)
endif
wend
local $result[1][2]
$result[0][0] = 0
local $line
while True
$line = FileReadLine($file)
if @error or StringRegExp($line, "^\[.*\]$") then exitloop
$line = StringSplit($line, "=", $STR_NOCOUNT)
if @error then continueloop
redim $result[UBound($result) + 1][2]
$result[0][0] += 1
$result[UBound($result) - 1][0] = $line[0]
$result[UBound($result) - 1][1] = $line[1]
wend
FileClose($file)
return $result
endfunc