- 締切済み
VB6 実行ファイルにデータの保存
VB6を使用しています。 例えば、予めあるテキストボックスに任意の言葉を入れて 次回立ち上げたときにその言葉が表示されるようにしたいです。 恐らく、こういう事をしたい場合には、別ファイルにデータ保存して読み込む等になると思うのですが、 今回は実行ファイルのみで上記のような事をしたいです。 VB2005やNETとかではあるみたいですが、VB6ではないのでしょうか? わかる方よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- nda23
- ベストアンサー率54% (777/1415)
方法としては以下の通りです。 (1)私物ファイル (2)レジストリ (3)アプリケーションログ (1)や(2)は既に回答も出ているかと思います。 (3)は本筋ではないんですが、安直な方法なので紹介します。 Const MY_EVENT As Long = 8 '★ 0,2,4,8,16 が使用可能 Sub イベント記録(ByVal 文字列) CreateObject("Wscript.Shell").LogEvent MY_EVENT, 文字列 End Sub Function イベント取得() As String Dim A, B Set A = CreateObject("WBemScripting.SWBemLocator"). _ ConnectServer(".").ExecQuery("SELECT * FROM " & _ "Win32_NTLogEvent WHERE LogFile='Application'" & _ " AND SourceName='WSH' And EventCode=" & CStr(MY_EVENT)) For Each B In A イベント取得 = B.Message Exit For Next End Function 書き込んだ内容はイベントビューアで参照できます。 イベントコード毎にアイコンが異なるので、お好みで選んでください。 本当はレジストリ(あるいはiniファイル)を使うべきだと思いますが、 APIの定義や面倒なキー指定をしなくて良いという利点があります。 イベントなので、記録は累積されます。クエリは日時の降順になって います。「一つ前の設定値」なんてのも取り出せます。
- AKARI0418
- ベストアンサー率67% (112/166)
失礼しました。 レジストリかファイルしかありませんね。 iniファイルかレジストリをお勧めします。 http://www.vbstation.net/sample/0217.htm を参考になさってみてください。
お礼
回答ありがとうございます。 レジストリですね。 ちょっと調べてみます。 でも、レジストリはやはり怖いです。 普通のテキストよりiniファイルの方が使いやすそうですね。 ありがとうございます。
- wolf03
- ベストアンサー率22% (241/1086)
普通にファイルを使いたくなければレジストリを使ってください。
お礼
回答ありがとうございます。 レジストリですね。 ちょっと調べてみます。 でも、レジストリは少し怖いですね。 ありがとうございます。
- AKARI0418
- ベストアンサー率67% (112/166)
変数をStatic宣言にしてみてください。
お礼
回答ありがとうございます。 Staticで宣言しても、実行ファイルを再起動(再読込ではなく)する際には、データは保持されていませんよね。 僕がしたいのは、実行ファイルを閉じて また、開いたときにそのデータが保持されているようにしたいです。 申し訳ありませんが、よろしくお願いいたします。
お礼
お礼遅くなってすみません。 アプリケーションログ少し勉強してみます。 ありがとうございます。