トップ ページ > VisualBasic 2010(express) > VisualBasic 2010(express)でのiniファイルの使用

VisualBasic 2010(express)でのiniファイルの使用

iniファイルの読み書きアプリケーションの作成

今回は、iniファイルの読み書きを行うだけのwindowアプリケーションを作成します。

  1. フォームのコードを書きます
    Public Class Form1
    
    	'iniファイルへの値セット、iniファイルからの値取得用APIの宣言
    	Public Declare Function GetPrivateProfileString _
    		Lib "kernel32" Alias "GetPrivateProfileStringA" _
    		(ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, _
    		ByVal lpReturnedString As System.Text.StringBuilder, ByVal nSize As Integer, _
    		ByVal inifilename As String) As Integer
    	Public Declare Function WritePrivateProfileString _
    		Lib "kernel32" Alias "WritePrivateProfileStringA" _
    		(ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, _
    		ByVal lpFileName As String) As Integer
    
    	'iniファイルをフルパスで指定
    	Public iniFileName = Application.StartupPath & "\default.ini"
    
    	'フォームを開いたとき、テキストボックスへiniファイルの内容を表示
    	Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
    		'iniファイルからの文字列取得用バッファ
    		Dim strBuffer As New System.Text.StringBuilder
    		strBuffer.Capacity = 1024
    		Dim Ret As String
    
    		'iniファイルからのリターン値をstrBufferへ取得。
    		'第3引数は、取得できなかった時のデフォルト値です。
    		Ret = GetPrivateProfileString("SectionName", "PropertyName1", "PropertyValue1", _
    			strBuffer, strBuffer.Capacity, iniFileName)
    
    		'テキストボックスへ取得した値をセット
    		Me.TextBox1.Text = strBuffer.ToString
    	End Sub
    
    	'ボタンを押したとき、テキストボックスの内容をiniファイルへ書き込み
    	Private Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click
    		Call WritePrivateProfileString("SectionName", "PropertyName1", Me.TextBox1.Text.ToString, iniFileName)
    	End Sub
    End Class