TOP > カテゴリ > Visual Basic >

INIファイルのセクションを列挙する

INIファイルのセクションを列挙するサンプルです。

サンプルの実行画面

ソースコード

[ALLSectionName.frm]

'GetPrivateProfileSectionName=>iniファイルのセクション名を列挙する

'<引数>
'lpBuffer:列挙したセクションを格納するバッファ
'nSize:バッファのサイズ(サイズは大きい方が良い)
'lpFileName:iniファイル名

'<戻り値>
'正常終了1以外

Private Declare Function GetPrivateProfileSectionName Lib "kernel32" Alias "GetPrivateProfileSectionNamesA" (ByVal lpBuffer As String, ByVal nSize As Long, ByVal lpFileName As String) As Long


Private Sub Command1_Click()

  Dim Sections As String 'セクションが格納される変数
  Dim Ret As Long        '戻り値
  Dim Count As Long      '[・]がある位置を取得する
  
 
  List1.Clear
 
'バッファを確保
  Sections = String(32767, Chr(0))

'セクションを列挙する(「Section1・section2・」にのように格納される)
  Ret = GetPrivateProfileSectionName(Sections, Len(Sections), Text1.Text)
  
  If Ret = 1 Then MsgBox "列挙できませんでした。"
    
Do

 '「・」がある位置を取得する
   Count = InStr(Sections, vbNullChar)
 
 '「・」が先頭に来たら終了
   If Count = 1 Then Exit Do
 
 '前方にあるセクションを取得してリストに追加する
   List1.AddItem "[" & Left(Sections, Count - 1) & "]"

 '取得したセクションを削除する
  Sections = Right(Sections, Len(Sections) - Count)

Loop

End Sub

ソースコード一式のダウンロード

vbapi_allsectionname.zip 1.21 KB (1,241 バイト)

このサンプルの動作環境について

このサンプルは 「Windows98」及び「Microsoft Visual Basic 5.0 Professional Edition」で確認しております。環境が異なる場合は正常に動作しない場合もございますのでご了承下さい。





関連記事



公開日:2015年03月04日
記事NO:00356