Iniファイルからの文字列を取得する
Iniファイルから文字列を取得するテクニックです。
サンプル(32bit)
'INIファイルから文字列の取得 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 LongPublic Sub GET_INI() 'INIファイルより各設定を取得します。 Dim INI_PATH As String Dim nRC As Long INI_PATH = PATH_CHECK(App.Path) 'バッファ確保 DATA_PATH = Space$(255) 'INIファイル読み込み nRC = GetPrivateProfileString("Setting", "DataPath", "", DATA_PATH, 255, INI_PATH + "PRG32.INI") '末尾のNull除去 DATA_PATH = Left(DATA_PATH, InStr(DATA_PATH, Chr(0)) - 1) End Sub
サンプル解説
GetPrivateProfileString関数でIniファイルから文字列を取得しています。
引数は次の通りです。
(引数の名前は、Declare Functionで指定したものです)
メンバー I/O 説明 lpApplicationName In セクション名 lpKeyName In キー名 lpDefault In キーが存在しない場合の初期値 lpReturnedString Out 取得してきた値が入ります。
キーが存在しない場合はlpDefaultで設定した値が入ります。nSize In lpReturnedStringのサイズ(バイト数) lpFileName In Iniファイル名 引数 lpReturnedStringにセットする変数は、予めSpaceなどをセットしてバッファを確保しておく必要があります。
引数 nSizeには先ほど確保したバッファのバイト数をセットします。引数 lpReturnedStringには末尾にNullが入るので取得後にNullを削除します。
セクションまたはキーが存在しない場合は、引数 lpReturnedStringには引数 lpDefaultにセットした値がセットされます。
[ Window Close ]