ファイル関連:INIファイルの書き込みと読込み(WritePrivateProfileStringA, GetPrivateProfileStringA)

VB2008でINIファイルを操作する実行例サンプルです。

ファイル関連へ



書き込むのはWindows APIの「WritePrivateProfileStringA」を使います。
読み込むのはWindows APIの「GetPrivateProfileStringA」を使います。

■実行画面
INIファイルへ過去込みボタンをクリックすると、2つのキーに書き込みます。
INIファイルから読込みボタンをクリックすると、2つのキーを読み込み、下のテキストボックスに表示します。
INIファイルサンプルテスト

■実行コード

Public Class Form1
'Windows API
Declare Function WritePrivateProfileString _
Lib "KERNEL32.DLL" Alias "WritePrivateProfileStringA" ( _
ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Integer

Declare Function GetPrivateProfileString _
Lib "KERNEL32.DLL" Alias "GetPrivateProfileStringA" ( _
ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefValue As String, ByVal lpReturnedString As String, _
ByVal nSize As Integer, ByVal lpFileName As String) As Integer


'INIファイルの読込み
'引数:セクション , キー , 初期値 ,ファイル名
Public Function IniFileRead(ByVal SecName As String, ByVal KeyName As String, _
ByVal DefValue As String, ByVal Filename As String) As String

Dim strResult As String = Space(255)

Call GetPrivateProfileString(SecName, KeyName, DefValue, strResult, Len(strResult), Filename)
'文末のNULL文字を取り除き返す
IniFileRead = Microsoft.VisualBasic.Left(strResult, InStr(strResult, Chr(0)) - 1)
End Function

'INIファイルへ書き込み
'引数:セクション , キー , 書き込む値 ,ファイル名
Public Sub IniFileWrite(ByVal SecName As String, ByVal KeyName As String, _
ByVal Param As String, ByVal Filename As String)

Call WritePrivateProfileString(SecName, KeyName, Param, Filename)
End Sub

'書き込み
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
IniFileWrite("VB", "2005", "INIファイルテスト", "C:\FileTest.ini")
IniFileWrite("VB", "2008", "書き込みデータ", "C:\FileTest.ini")
End Sub

'読み込み
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim s1 As String

s1 = IniFileRead("VB", "2005", "", "C:\FileTest.ini")
TextBox1.Text = s1

s1 = IniFileRead("VB", "2008", "", "C:\FileTest.ini")
TextBox1.Text = TextBox1.Text & vbCrLf & s1

End Sub
End Class


Visual Basic 2008 Express Edition実践入門