どうも!リョクちゃです。
今回は、iniファイルへ書き込む方法を例を交えて紹介していきます。
iniファイルを読み込む方法については、下の記事で紹介しています。
ちなみに前回はこちら、
目次
準備編:フォームの作成
今回下のようなフォーム画面を作成します。
ちなみに筆者の環境は、
- VisualStudio2019
- Windows 10 64bit
- .Net Framework 4.5.1
です。
準備編:iniファイルの作成(テキストファイル)
iniファイルを任意の場所に作成します。
この場所については、各自のパソコンの環境に合わせて作成ください。
筆者は今回、下のようなiniファイルを作成しました。
アプリケーションの目的
ボタンを押したら、セクション名とキー名、書き込みたい文字列が入力されていれば
iniファイルへ書き込みが出来ることを目的とします。
プログラム編
ここからは、実際にプログラムを書いていきます。
Iniファイルへ書き込む準備
まずIniファイルへ書き込む前に、書き込むために用意されているWIN API関数を宣言します。
APIとは、
アプリケーションプログラミングインタフェース(API、英: Application Programming Interface)とは、広義ではソフトウェアコンポーネント同士が互いに情報をやりとりするのに使用するインタフェースの仕様である。
引用元:Wikipedia
と説明されています。
APIを使うことで、すでに用意されているサービスを使えるため、自身でプログラムする必要が省け、開発効率が上がります。
最近では、フリーで公開されているAPIも増えてきたので、
開発工数が大幅に削減できるようになりました。
APIを例えば、企業が公開するメリットとしては、個々の開発者に自社の製品を使ったアプリケーションを個々が作ることで製品の認知度向上からの企業のサービス利用向上につながるといった狙いがあると筆者は考えています。
企業では、FacebookやLINE、Amazon、楽天などがAPIを公開しています。
興味がある方は、一度調べてみるとよいと思います。様々なAPIが公開されていますよ。
iniファイルへ書き込むための準備は下のようなコードになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
Imports System.Runtime.InteropServices Public Class TestWriteIni ' iniファイルの場所 Private Shared INIFILEPATH As String = "./ini/TestWriteIni.ini" ' ------------------------------------------------------ ' ini ファイルへ書き込み ' ------------------------------------------------------ <DllImport("Kernel32.dll")> Private Shared Function WritePrivateProfileString( ByVal lpAppName As String, ' セクション名 ByVal lpKeyName As String, ' キー名 ByVal lpString As String, ' 書き込む文字列 ByVal lpFileName As String) As Integer ' iniファイル名 End Function ''' <summary> ''' INIファイルに書き込みする ''' </summary> ''' <param name="lpAppName">セクション</param> ''' <param name="lpKeyName">キー</param> ''' <param name="lpString">書き込む文字列</param> Public Shared Sub WriteIniString(ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpString As String) Call WritePrivateProfileString(lpAppName, lpKeyName, lpString, INIFILEPATH) End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click End Sub End Class |
入力がされているか確認
書き込む内容が入力されているか確認をするようにします。
入力されていなければ処理をしないコードを下のように書きます。
1 2 3 4 5 6 7 8 9 |
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click ' テキストボックスに入力されているか確認する If Me.TextBox1.Text <> "" And Me.TextBox2.Text <> "" And Me.TextBox3.Text <> "" Then End If End Sub |
iniファイルへ書き込んでいく
テキストボックスに入力されている値を各変数に代入し、
これら変数を使って、iniファイルへ書き込む関数を呼び出し実行します。
コードは下のようになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click ' テキストボックスに入力されているか確認する If Me.TextBox1.Text <> "" And Me.TextBox2.Text <> "" And Me.TextBox3.Text <> "" Then ' それぞれ変数に格納していく Dim lpAppName As String = Me.TextBox1.Text Dim lpKeyName As String = Me.TextBox2.Text Dim lpString As String = Me.TextBox3.Text ' Iniファイルへ 書き込んでいく Call WriteIniString(lpAppName, lpKeyName, lpString) End If |
実際に実行してボタンを押し、動作を確認しましょう。
下図に実行例を示します。
各項目に入力をしています。
実際に書きこまれたiniファイルが下になります。
ここで既にiniファイルにセクション名とキーが書き込まれていて、
値が違う場合は更新がされます。
例えば、既にセクション”TEST”のキー”Mode”の値が1のとき
これを0に変更したい場合は下のようにします。
更新されたiniファイルがこちらです。
まとめ
今回は、iniファイルへセクション名、キー、
値を書き込む方法について例を交えて解説していきました。
iniファイルはアプリケーションの設定などを書き込んでおくファイルです。
アプリケーション動作中に設定を変更する際などに今回の方法は使えますので、
ぜひ活用してみてください。
ご覧いただきありがとうございます。
・こちらの書籍を参考にVB.Net勉強しています。