• ベストアンサー

VB2008 iniファイルの指定セクション内の値のみを取得

VB2008 iniファイルの指定セクション内の値のみを取得 VB2008でiniファイルの読込みを行いたいと思っています。 指定セクション内の値のみを取得したいのですが、自分の知る限りではキー名も一緒についてきて しまいます。 簡単に値のみを取得する方法を助言いただきたいと思います。 自分が検討した一番近かった方法は、GetPrivateProfileSection関数を使用し、キー名と値を取得。 ↑ただし、キー名はいらない。 関数で出来ればいいのですが、出来なければ、プログラミングで値のみを抜き取る方法でもいいので なるべく簡単な方法を宜しくお願いします。   

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

  • ベストアンサー
回答No.3

通常のiniファイルなら下記で取得できるかと。 Private Sub Button1_Click(ByVal sender As System.Object, _                ByVal e As System.EventArgs) Handles Button1.Click   Dim fileName As String = "test.ini"   Dim sr As New System.IO.StreamReader(fileName, System.Text.Encoding.Default)   Do Until sr.Peek() = -1     Dim temp() As String     temp = Split(sr.ReadLine(), "=")     If temp.GetUpperBound(0) = 1 Then       Debug.WriteLine(temp(1))     End If   Loop   sr.Close() End Sub

すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.2

最初の質問の要件は満たしているはずですが。 そもそも何の為に、何をしたいのかが良く解りません。 全ての値だけ取得したいという事でしょうか? キーを指定しないと何の値かどこで判断するのですか? iniファイルは、通常のテキストファイルだから1行毎に読み込み = 以降の値を取得すれば 全ての値だけ取得する事はできます。 (メモ帳等で開いて中を見て下さい) ***.Split("=") でキーと値とを分離するもよし、= の位置から値を求めてもよいし。

butman11
質問者

お礼

返信有難うございました。そもそも何がしたいかというと、 読み込みしたいiniファイルのセクションは複数あるので、セクション名は指定したいんですが、 その中のキーもかなりあるので、キー名は指定しないで値だけを全て取ってきたかったのです。 確かに、キーと値を取ってきた後にsplitで区切れば、値だけ取ってこれますね! 上記の方法でトライしてみます。有難うございました。

すると、全ての回答が全文表示されます。
回答No.1

VB2008でiniファイルを使用しなければならない理由はさておいて、GetPrivateProfileInt や GetPrivateProfileString で取得するのが一般的ですが試されたのでしょうか?

butman11
質問者

お礼

返事遅くなりすいませんでした。回答ありがとうございました。 キー名を指定しないでセクション内の全ての値を 取得する方法がわかりません。 再度助言の方お願いします。

すると、全ての回答が全文表示されます。

関連するQ&A