- - PR -
レジストリへの保存方法
投稿者 | 投稿内容 | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-05-07 16:52
まあ、ちょろっとだけ。
書くことが悪いとはいいません。習うより慣れろとも言いますしね。 ただ、「最低限書ける」ようになってからでないと、「書くことで覚える」ところまでいけないと思うんです。
例えば key.GetValue("abc1", TextBox1.Text) key.GetValue("abc2", TextBox1.Text) key.GetValue("abc3", TextBox1.Text) key.GetValue("abc4", TextBox1.Text) このプログラムを書いて、「TextBoxに反映されない」っていうようなことを仰っていたところ等から判断して、とてもそうは思えないのです。
これについては、「読み込まれているTextboxの計算」がどのようなプログラムであるのか知っているのは「あなただけ」な訳です。 そのプログラムが正しいと思っていても、どこかで間違いをしている可能性があります。ここで、これまでのやり取りからいって、あなたが何かミスをしている可能性が非常に高いと思われるわけです。 まあそもそも、別にあなたでなくとも、プログラムが思ったように動作しない場合は、まず間違いなく「プログラムに」問題があります。 しかし、そのコードを書いていただけないと、どこがおかしいのか誰にも分かりません。 単にうまくいかないと仰っているだけでは愚痴にしかなりません(そこから先に進めないですよね)。 | ||||||||||||||||||||
|
投稿日時: 2004-05-07 17:20
とりあえず、これを読んで、その上で整理してください。
| ||||||||||||||||||||
|
投稿日時: 2004-05-07 21:13
ヘルプの読み方の話が出てるので。。。
こちらでも書きましたが、初心の方には「.NET Framework SDK ドキュメント」の方が目的の情報にたどり着きやすいと思いますよ。(私を含めて) # MSDNでも、フィルタを適切に設定できれば同等の検索ができるのは無論ですが。 以下でたどり着けると思います。(OSやバージョンなどで若干ちがうかも知れません) [スタート]-[プログラム]-[Microsoft .NET Framework SDK]-[ドキュメント] 参考までに、以下でJittaさんが示した場所とおなじ場所を表示させる手順を書いておきます。
1. クラスを特定する。 『Dim key1 As Microsoft.Win32.RegistryKey』と宣言しているので、対象となるのは Microsoft.Win32.RegistryKeyクラスであることがわかります。 [キーワード]で「Microsoft.Win32.RegistryKey」を検索します。 2. メソッドを特定する。 「RegistryKey メンバ」が表示されたら、その中から「SetValue」メソッドを探します。 「パブリック メソッド」欄にあります。 まずクラスを特定することが大事です。 SetValueメソッドはMicrosoft.Win32.RegistryKey以外のクラスにも存在しますが、それに惑わされないようにしましょう。 たとえメソッド名が同一でも、通常それらは全く無関係です。 勿論、手順は上記に限りません。あくまで一例ということで。 | ||||||||||||||||||||
|
投稿日時: 2004-05-07 21:28
ちょっと気になったので、質問です。
> Nakataさん せっかくなのでどんな本を参考にしているのか、具体的に教えて頂けますか? 具体的な書名がわかれば、おなじ本を持っている方からのレスも期待できますし。 > ご存じの方 私はWebアプリ専門でして、Windowsアプリには全く疎いんですが、 入門書でレジストリ操作って出てくるものなんですか? # Windowsアプリを作ったことのない身としましては、 # 「レジストリ=迂闊に弄ると危険」ってイメージがありますので。。。 # VB6からの移行ユーザ向けの書籍かなって思ってます。 以上、よろしくお願いします。連続投稿失礼しました。 | ||||||||||||||||||||
|
投稿日時: 2004-05-07 21:43
入門書とかは買っていないですが、レジストリの使用は、.NET Frameworkでは非推奨です。なぜなら、ノータッチデプロイメントや、他のPCにある共有ディレクトリから実行するときにはアクセスできません。その代わりとしてアプリケーション構成ファイルが用意されています。 というようなことがMSDN中に書いてあったと思うのだが、どこか探せなかった・・・ | ||||||||||||||||||||
|
投稿日時: 2004-05-07 23:59
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'レジストリから読み込む Dim key As Microsoft.Win32.RegistryKey=Microsoft.Win32.Registry.CurrentUser key = key.OpenSubKey( _ "software/VB and VBA Program Settings/VBTips") TextBox1.Text = key.GetValue("TextBox1.name") TextBox2.Text = key.GetValue("TextBox2.name") TextBox3.Text = key.GetValue("TextBox3.name") TextBox4.Text = key.GetValue("TextBox4.name") key.Close() Dim y As Single = Val(Me.TextBox1.Text) Dim m As Single = Val(Me.TextBox2.Text) Dim d As Single = Val(Me.TextBox3.Text) Dim Interval As Single '入力された年月日を日付に変換(dt1)し、現在の日付との差を求め Label1に反映する Dim dt As Date = Now() Dim dt1 As Date = New DateTime(y, m, d) Interval = DateDiff(DateInterval.Day, dt1, dt) Me.Label1.Text = Interval 詳しく書くとこのような処理をしたいのですが、Label1には数値が出てきませんでした。 試しにPrivate Sub Form1_Loadでは無く、ボタンクリックでこのような処理ができるようにして、Textbox2の数値を変更すると下から3行目 Dim dt1 As Date = New DateTime(y, m, d) でエラーがでました。(ボタンクリックの場合は読み込まれた(元の?)数値を変えなければLabel1には処理された数値が出てきました。) アドバイスお願いします。ご不明な点があれば言って下さい。 ちなみに参考書は 独習VB・逆引き大全・VisiaBasic.netハンドブック(白い表紙)・VisiaBasic.netの基本と仕組み を持っています。 | ||||||||||||||||||||
|
投稿日時: 2004-05-08 00:52
お返事ありがとうございます。 私も同様の記述をどこかでみたことがあります。(私もどこか探せませんでした) で、VB6からの移行VB6からの移行ユーザ向けの書籍かなと思った次第です。 (でも、Nakataさんがお持ちの書籍は必ずしもそうではないみたいですね。) | ||||||||||||||||||||
|
投稿日時: 2004-05-08 01:00
諸農です。
ご自分でデバッグされましたか?
引数が "" で括られていますが、それはそれでいいのですか? 何となく変な感じがしますけど。。
特定の日付から現在日付を引き算していますが、それでいいのですか? この関数の仕様が、差を絶対値で返すのでしたら問題なさそうですね。 ArgumentExceptionが発生していないですか?
Interval = DateDiff(DateInterval.Day, dt1, dt) Me.Label1.Text = Interval このコード部分にブレークポイントを仕掛けて「Interval」の 内容を確認する必要があります。 ちなみにTextBox4は何のためにあるのでしょうか?
まず、y,m,dの値が想定値になっているのか確認してください。 おわかりかとは思いますが。。Textbox2の値を13以上とかに したらエラーになりますよ。
Textbox2の数値を手作業で変更したのと、読み込みで表示されている ものとの違いは何ですか? 読み込みだと「1〜12」の範囲内で、手作業で変更したのが30とかでしょうか? 何を訴えられているのか判りませんでした。 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ |