iniファイルのキーを消すには、vbNullStringをいれておけばいいって聞いて、
たしかにいつもは気にすることもないんですけど、
下の書きこみのLoadmenu関数で通し番号のついたメニューを読みこむときには、
削除した番号が欠番になってしまいます。
(空っぽでも"2="だけ残ってるため)
キーの=以前も含め、跡形もなく消すにはどうしましょう?
セクションごと一旦消して、書きなおすという方法もあるにはありますが…。
WritePrivateProfileStringの第3引数にNothingを指定して下さい。
はずしていたらすみません。
遅れました。
…で、消えていないようです…。
環境確認をさせて下さい。
VB5 + SP3 以上 & IE5 以上でしょうか?
http://homepage2.nifty.com/_omp/Download/Statas.htmに書いてあります。
メモリ面ではさらに悪化してます^^;
私が試すと、問題なく削除されるのですが・・
例
[Section1]
Key1=Data1
で、
Call WritePrivateProfileString("Section1", "Key1",Nothing, IniFilePath)を実行すると、
[Section1]のみになります。
因みに、私の環境は VB6 + SP5 & IE5.5 SP2です。
AKIさんが作成された、INIファイル関連操作用のクラスモジュールが下記よりDL出来ますので、参考にして下さい。
http://versionup.banbi.net/src/classlibrary/inifile/clsini.lzh
あ、作業環境のページにはVBのバージョンがなかったですね^^;
VB6(Pro)のSP5です。
見てみたところ、たしかにわたしのやってることとちがう。
そのへんが問題発生の原因かも…。
後は数字だけで管理していたので、判別つきにくいところもありますし…。
何とかなりそうでしょうか?
力不足で申し訳ありません。
ごめんなさい、どうやら直後のステートメントで消したものを復活させてしまっていたようです^^;
それもなおり(ほんとは数字の数え間違えもあったんですけど)ちゃんと消えました。
ありがとうございます。
わたしの最後のミスってだいたいこんなのだったりします…。
無事に解決出来たみたいでよかったです。
あ、解決し忘れてた^^;
ツイート | ![]() |