FC2ブログ

iniファイルの登録・更新・削除について

iniファイルの登録・更新・削除

iniファイルへの登録・読込み。削除方法です。
※.iniファイルとは,PC或いはPCログインユーザ個別の設定情報が登録されているファイルです。
  (通常,"*.ini"という名前で作られています。エクスプローラなどで"*.ini"を検索するとたくさん出てきます。)この設定ファイルを利用して,アプリケーション起動時の画面サイズや色や位置,或いは表示内容などを制御できます。

'=======================================================================
'
' ini関連
'
'=======================================================================

'--------------------
' API宣言
'--------------------

'---iniファイルより読み込み(key)
  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

'---iniファイルより読み込み(Section)
  Declare Function GetPrivateProfileSection Lib "Kernel32.dll" Alias "GetPrivateProfileSectionA" _
  (ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Long, _
  ByVal lpFileName As String) As Long

'---iniファイルに書き込み
  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


'--------------------
' API呼出関数
'--------------------
'---iniファイルより値を読み込む(key)
  Public Function fnc_Ini_Read(sSection As String, sKey As String) As String
    Dim sWkStr As String * 1024 '戻り値格納用
    Dim lRet As Long '戻り値

    '---戻り値初期化
      fnc_Ini_Read = ""

    '---iniファイル読み込み
      lRet = GetPrivateProfileString(sSection, sKey, "", sWkStr, 1024, App.Path & "\" & App.EXEName & ".ini")

    '---戻り値設定
      fnc_Ini_Read = Left(sWkStr, InStr(sWkStr, Chr(0)) - 1)

  End Function


'---iniファイル読み込み(Section)
  Public Function fnc_IniSection_Read(sSection As String, sKey() As String) As String
    Dim W As String * 4096
    Dim S As String
    Dim lRet As Long

    '---iniファイル読み込み
      lRet = GetPrivateProfileSection(sSection, W, Len(W), App.Path & "\" & App.EXEName & ".ini")
      S = Left(W, InStr(1, W, vbNullChar & vbNullChar) - 1)
      sKey = Split(S, vbNullChar)

  End Function


'---iniファイルへ値を書込む
  Public Sub sub_Ini_Write(sSection As String, sKey As String, sValue As String)
    Dim lRet As Long '戻り値

    '---iniファイル書込み
      lRet = WritePrivateProfileString(sSection, sKey, sValue, App.Path & "\" & App.EXEName & ".ini")

  End Sub


'---------------------------------------------------
' 利用方法(以下必要に応じてプロシージャに貼り付けて下さい。)
'---------------------------------------------------

'---iniファイル読み込み(Section)
  sRet = fnc_IniSection_Read(sSectionName, sValue())

  '戻り値に,指定したSectionの"Key=Value"が配列で格納されます。

  'Keyを取り出す場合の例
  'MsgBox Mid(sRet(0), 1, InStr(sRet(0), "=") - 1)

  'Valueを取り出す場合の例
  'MsgBox Mid(sRet(0), InStr(sRet(0), "=") + 1)


'---iniファイル読み込み(key)
  sValue = fnc_Ini_Read(sSectionName, sKeyName)

'---iniファイルに登録
  Call sub_Ini_Write(sSectionName, sKeyName, sValue)

'---iniファイルから削除(Section)
  Call sub_Ini_Write(sSectionName, vbNullString, vbNullString)

'---iniファイルから削除(key)
  Call sub_Ini_Write(sSectionName, sKeyName, vbNullString)



【宣伝・・・(*´ω`)】

タイトルロゴ3

 システム葵では、個人様向けでも企業様向けでも、パソコン修理から、パソコン設定、パソコンの使い方、LAN環境構築、ソフトウェア開発まで、様々な実績がありますので、困ったことがあれば、お気軽にご相談下さい。
関連記事

テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

非公開コメント

検索フォーム
最新記事
カテゴリ
全記事表示リンク

全ての記事を表示する

最新コメント
プロフィール

ITLife

Author:ITLife
システム葵新井聡太です。
東京都東村山市に生まれ、ここで育ち、ここで結婚し、システムエンジニア一筋で十数年やってきました。
ここでは主に、パソコンを中心にITに関わることを備忘録として残していきたいと思います。
少しでも来ていただいた方のお役に立てたら幸いです。
m(_ _)m

p.s
ここで紹介している内容は一例です。すべては、自己責任でお願いします。

カレンダー
07 | 2019/08 | 09
- - - - 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
訪問数
月別アーカイブ
リンク