dポイントプレゼントキャンペーン実施中!

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

関数で出来ればいいのですが、出来なければ、プログラミングで値のみを抜き取る方法でもいいので
なるべく簡単な方法を宜しくお願いします。

  

A 回答 (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
    • good
    • 0

最初の質問の要件は満たしているはずですが。



そもそも何の為に、何をしたいのかが良く解りません。
全ての値だけ取得したいという事でしょうか?
キーを指定しないと何の値かどこで判断するのですか?

iniファイルは、通常のテキストファイルだから1行毎に読み込み = 以降の値を取得すれば
全ての値だけ取得する事はできます。
(メモ帳等で開いて中を見て下さい)
***.Split("=") でキーと値とを分離するもよし、= の位置から値を求めてもよいし。
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/08/22 11:03

VB2008でiniファイルを使用しなければならない理由はさておいて、GetPrivateProfileInt や


GetPrivateProfileString で取得するのが一般的ですが試されたのでしょうか?
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/08/17 16:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています