none
VB6でINIファイルのセクション内を削除するには? RRS feed

  • 質問

  • VB6使っています。
    INIファイルのセクション内を削除するにはどのようにすればよろしいでしょうか?
    例えば、

    [TEST]
    SET1=1
    SET2=2
    SET3=3

    とあるとすると、「SET1=1」の部分を削除して下記のようにしたいのです。
    [TEST]
    SET2=2
    SET3=3

    ご存知の方がいらしたら、よろしくお願い致します。

    2009年10月30日 5:28

回答

  • 横から失礼します。

    Null と 空文字(長さ0の文字列、"")は違うという認識を持つと良いかと思いますよ。
    2009年10月30日 8:27
  • 例えば WritePrivateProfileString API を使っているとすれば、書き込む値として NULL を指定するとか。

     WritePrivateProfileString 関数
     http://msdn.microsoft.com/ja-jp/library/cc429952.aspx

     lpString
      ファイルに書き込むべき、NULL で終わる文字列へのポインタを指定します。NULL を指定すると、この関数は、lpKeyName パラメータで指定されたキーを削除します。

    2009年10月30日 5:42
  • こんな感じで消えませんか?

        Call WritePrivateProfileString("TEST", "SET1", vbNullString, "c:\temp\test.ini")

    手元の環境で試したら消えたのですけれども。
    2009年10月30日 6:49

すべての返信

  • 例えば WritePrivateProfileString API を使っているとすれば、書き込む値として NULL を指定するとか。

     WritePrivateProfileString 関数
     http://msdn.microsoft.com/ja-jp/library/cc429952.aspx

     lpString
      ファイルに書き込むべき、NULL で終わる文字列へのポインタを指定します。NULL を指定すると、この関数は、lpKeyName パラメータで指定されたキーを削除します。

    2009年10月30日 5:42
  • NULLを指定すると

    [TEST]
    SET1=1
    SET2=2
    SET3=3


    [TEST]
    SET1=
    SET2=2
    SET3=3
    のように、「SET1=」となって残ってしまいました。
    2009年10月30日 6:28
  • こんな感じで消えませんか?

        Call WritePrivateProfileString("TEST", "SET1", vbNullString, "c:\temp\test.ini")

    手元の環境で試したら消えたのですけれども。
    2009年10月30日 6:49
  • WritePrivateProfileString 関数を使いましたが

    NULLの指定を
    ””
    とするとうまくいきませんでしたが

    vbNullString
    としたらうまくいきました。

    totojoさん、ありがとうございました。
    2009年10月30日 6:51
  • 横から失礼します。

    Null と 空文字(長さ0の文字列、"")は違うという認識を持つと良いかと思いますよ。
    2009年10月30日 8:27
  • フォオーラムオペレータの高橋春樹です。

    totojoさん、aviator_さん、こんにちは。
    アドバイスありがとうございました。

    すけさんさん、こんにちは。
    MSDNフォーラムのご利用ありがとうございます。

    問題が解決したようで良かったです!
    今回totojoさんとaviator_さんからの投稿が、有用な情報だと思いましたので、勝手ながら、回答マークを付けさせてもらいました。
    次回からで良いのですが、問題が解決したときに、有用な情報をくださった方の投稿に、回答マークをつけて頂きたいと思います。
    フォーラムの仕組みが少しわかりづらいですよね・・・すみません(^-^;)

    今後ともMSDNフォーラムをよろしくお願いします(^_^)


    マイクロソフト株式会社 フォーラム オペレーター 高橋春樹
    2009年11月6日 6:33