• 締切済み

VB6 実行ファイルにデータの保存

VB6を使用しています。 例えば、予めあるテキストボックスに任意の言葉を入れて 次回立ち上げたときにその言葉が表示されるようにしたいです。 恐らく、こういう事をしたい場合には、別ファイルにデータ保存して読み込む等になると思うのですが、 今回は実行ファイルのみで上記のような事をしたいです。 VB2005やNETとかではあるみたいですが、VB6ではないのでしょうか? わかる方よろしくお願いします。

みんなの回答

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.4

方法としては以下の通りです。 (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の定義や面倒なキー指定をしなくて良いという利点があります。 イベントなので、記録は累積されます。クエリは日時の降順になって います。「一つ前の設定値」なんてのも取り出せます。

koolm
質問者

お礼

お礼遅くなってすみません。 アプリケーションログ少し勉強してみます。 ありがとうございます。

  • AKARI0418
  • ベストアンサー率67% (112/166)
回答No.3

失礼しました。 レジストリかファイルしかありませんね。 iniファイルかレジストリをお勧めします。 http://www.vbstation.net/sample/0217.htm を参考になさってみてください。

koolm
質問者

お礼

回答ありがとうございます。 レジストリですね。 ちょっと調べてみます。 でも、レジストリはやはり怖いです。 普通のテキストよりiniファイルの方が使いやすそうですね。 ありがとうございます。

  • wolf03
  • ベストアンサー率22% (241/1086)
回答No.2

普通にファイルを使いたくなければレジストリを使ってください。

koolm
質問者

お礼

回答ありがとうございます。 レジストリですね。 ちょっと調べてみます。 でも、レジストリは少し怖いですね。 ありがとうございます。

  • AKARI0418
  • ベストアンサー率67% (112/166)
回答No.1

変数をStatic宣言にしてみてください。

koolm
質問者

お礼

回答ありがとうございます。 Staticで宣言しても、実行ファイルを再起動(再読込ではなく)する際には、データは保持されていませんよね。 僕がしたいのは、実行ファイルを閉じて また、開いたときにそのデータが保持されているようにしたいです。 申し訳ありませんが、よろしくお願いいたします。

関連するQ&A