[VB] .INI 사용

2012. 4. 25. 13:37NOTE/IT

.INI 파일 사용하기

프로그램 개발시 변경되는 데이타의 정보를 담아두기 위해 ini 파일을 이용합니다.

비쥬얼베이직에서 API FUNCTION 을 이용하여 ini 파일에 데이타를 쓰고 읽는 방법

을 살펴보겠습니다. 


1. ini 파일의 구조 

[AppName1]

KeyName1=Value

KeyName2=Value 



[AppName2]

KeyName1=Value 


AppName은 KeyName이 들어가는 일반화된 범주에 표시한다. AppName은 옵션인데 

사용할 경우 각괄호([]) 안에 넣어야 하며 KeyName은 프로그램이 .ini 파일에서 

읽거나 파일에 쓸 때 참조할 값에 대한 텍스트 참조에 해당한다. Value는 KeyName에

할당된 값을 표시한다. 

문자열은 인용 부호 속에 넣을 필요는 없으며 숫자 값은 직접 입력한다. 


2. WritePrivateProfileString Function 을 이용하여 ini 쓰기

모듈에 다음의 API Function 을 선언한다 


Public Declare Function WritePrivateProfileString Lib "kernel32" _

Alias "WritePrivateProfileStringA" _

(ByVal lpApplicationName As String, _

ByVal lpKeyName As Any, _

ByVal lpString As Any, _

ByVal lpFileName As String) As Long 



인수 설명

----------------------------------------------------------------------------

lpApplicationName lpApplication Name 인수는 위의 (1)에서 설명한

ApplicationName 문자열에 해당한다.

lpKeyName lpKeyName 인수는 위의 (1)에서 설명한 KeyName에 해당한다

lpString lpString 인수는 위의 (1)에서 설명한 Value 문자열에 

해당한다.

lpFileName lpFileName 인수는 참조중인 .ini파일의 완전히 규정된 

경로와 파일 이름에 해당한다.

---------------------------------------------------------------------------- 


사용법 : temp.ini 에서 내용쓰기

temp.ini 파일구조

[APPNAME]

COUNT=10 


Private Sub PutINIData()

Dim strFile As String 


strFile = "temp.ini"

WritePrivateProfileString "APPNAME", "COUNT", "20", strFile

End Sub 


위의 PutINIData Sub를 부르게 되면 ini 파일의 COUNT 값이

COUNT=10 에서 COUNT=20 으로 변경됩니다. 


3. GetPrivateProfileString Function 을 이용하여 ini 읽기

모듈에 다음의 API Function 을 선언한다 


Public Declare Function GetPrivateProfileString Lib "kernel32" _

Alias "GetPrivateProfileStringA" _

(ByVal lpApplicationName As String, _

ByVal lpKeyName As Any, _

ByVal lpDefault As String, _

ByVal lpReturnedString As String, _

ByVal nSize As Long, _

ByVal lpFileName As String) As Long


GetPrivateProfileString은 String 타입의 값을 리턴한다 



인수 설명

----------------------------------------------------------------------------

lpApplicationName lpApplication Name 인수는 위의 (1)에서 설명한 

ApplicationName 문자열에 해당한다.

lpKeyName lpKeyName 인수는 위의 (1)에서 설명한 KeyName에 해당한다

lpDefault lpDefault 인수는 문자열에 대해 유지되는 디폴트 값에 

해당한다. 일반적으로 프로그램은 이 매개 변수를 사용하지

않는다.

lpReturnedString lpReturnedString 인수는 위의 (1)에서 설명한 

Value문자열에 해당한다.

nSize nSize 인수는 lpReturnedString 인수 내의 리턴된 문자열 

길이에 해당한다. 

lpFileName lpFileName 인수는 참조중인 .ini파일의 완전히 규정된 

경로와 파일 이름에 해당한다.

---------------------------------------------------------------------------- 


사용법 : temp.ini 에서 내용읽기

temp.ini 파일구조

[APPNAME]

COUNT=10 


Private Sub GetINIData()

Dim strFile As String

Dim strTemp As String

Dim intLen As Long

Dim strCount As String

strFile = "temp.ini"

strTemp = String$(100, 0) 


intLen = GetPrivateProfileString("APPNAME", "COUNT", "0", strTemp, _

Len(strTemp), strFile)

strCount = Left$(strTemp, lntLen)

End Sub 


위의 GetINIData Sub를 부르게 되면 strCount 변수에 10 이란 값이 들어가게 됩니다.

만약 파일에 COUNT란 항목이 없게되면 API Function의 세번째 필드의 "0" 이란 값이 대신

들어가게 됩니다.

'NOTE > IT' 카테고리의 다른 글

[포토샾] 간락 팁  (0) 2012.04.29
[ASP]파일 다루기  (0) 2012.04.25
[CHART FX]간략 문법 모음  (0) 2012.04.25
[ASP] 간략 팁 모음  (0) 2012.04.25
[SQL]CURSOR 사용  (0) 2012.04.25