• ベストアンサー

設定ファイルの読み込み方法について

あるプログラムにおいて、設定ファイル(~.ini)を読込む必要が出てきました。 INIファイルといってもただのテキストファイルですから 1行づつ読み込んで処理しても構わないのですが、 確か、もう少し効率よく処理する為の関数が用意されていたと思うのです。 うろ覚えなのですが、ファイルを指定し、セクション単位にその内容が読込めると いったものだったと記憶しているのですが・・・。 思い出せずにイライラしています。 ちなみにVBのVerは6です。 どうかよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • rally
  • ベストアンサー率28% (32/111)
回答No.1

VB5 での経験しかないのですが、VB6 はもっと便利なのかな? 設定ファイルの読みこみ、書きこみを行なうAPI関数が用意されています。 GetPrivateProfileString WritePrivateProfileString この関数で、任意の設定ファイルの読み込み、書きこみができます。 使う場合には、適当な場所に以下で宣言しておかなければなりません。 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 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 設定ファイルの内容取得の方法は、だいたいこんな感じ。 :::::::::::::::::::::::::::::::::::::::::::::::: Dim StrFileName As String Dim StrSectionName As String Dim StrEntryName As String Dim StrData As String Dim LngRet As Long Dim StrBuff As String * 1024 : : LngRet = GetPrivateProfileString(StrSectionName,_ StrEntryName, "", StrBuff, 1024, StrFileName) StrData = Left(StrBuff, InStr(StrBuff, Chr(0)) - 1) :::::::::::::::::::::::::::::::::::::::::::::::: 設定ファイルの内容変更の方法は、だいたいこんな感じ。 :::::::::::::::::::::::::::::::::::::::::::::::: Dim StrFileName As String Dim StrSectionName As String Dim StrEntryName As String Dim StrData As String Dim LngRet As Long : : LngRet = WritePrivateProfileString(StrSectionName,_ StrEntryName, StrData, StrFileName) :::::::::::::::::::::::::::::::::::::::::::::::: VBに関するQAなら、以下のURLが参考になると思います。

参考URL:
http://www2j.biglobe.ne.jp/~little-g/vbtomo.html
BAD_LIFE
質問者

お礼

思い出しました! 丁寧な書き込みありがとうございます!

その他の回答 (1)

  • msystem
  • ベストアンサー率42% (79/186)
回答No.2

APIのGetPrivateProfileStringのことでしょうか? 使い方は、APIビューアーをどうぞ

BAD_LIFE
質問者

お礼

思い出せてすっきりしました。 ありがとうございます。

関連するQ&A