先生を募集します
先生!!
探検
ニートです1からプログラミングを教えてくれる [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1たかし
2015/12/25(金) 18:43:55.48441仕様書無しさん
2016/01/11(月) 15:33:10.17 C#やるなら、LINQPadがチョー便利
フリー版でも十分使えるぞ
これ豆な
フリー版でも十分使えるぞ
これ豆な
442takasi
2016/01/11(月) 19:17:14.85 おはようございます
443片山博文MZ ◆T6xkBnTXz7B0
2016/01/11(月) 19:22:20.87 https://github.com/katahiromz/JankenGUI
これをForkしたものをローカルにcloneしてみたまえ。
Forkとは、方向性の違う分家を作り、自分好みに変えるために、
自分のリポジトリとして複製することだ。
これをForkしたものをローカルにcloneしてみたまえ。
Forkとは、方向性の違う分家を作り、自分好みに変えるために、
自分のリポジトリとして複製することだ。
444takasi
2016/01/11(月) 19:24:50.91 >>440
分かりやすいですけど完全な初学者向けではないかもしれません
2進数やビットが何も解説無く出てくるので
別に知らなくても読み進められますけど、猫でも分かるはいいすぎかもしれませんにゃ
LINQはまだ学習していませんがそこまで行ったら使ってみますね
分かりやすいですけど完全な初学者向けではないかもしれません
2進数やビットが何も解説無く出てくるので
別に知らなくても読み進められますけど、猫でも分かるはいいすぎかもしれませんにゃ
LINQはまだ学習していませんがそこまで行ったら使ってみますね
445takasi
2016/01/11(月) 19:26:06.27 先生おはようございます
寝起きなので少々お待ち下さい
寝起きなので少々お待ち下さい
446片山博文MZ ◆T6xkBnTXz7B0
2016/01/11(月) 19:27:00.43 JankenGUI.slnを開き、デザインフォームで二つのPictureBoxのWidth,Heightを60にしなさい。
ドラッグやShiftキーでフォーム上のコントロールを複数選択し、VSの
「書式」メニューを使ってコントロールの位置を調整しなさい。
ドラッグやShiftキーでフォーム上のコントロールを複数選択し、VSの
「書式」メニューを使ってコントロールの位置を調整しなさい。
447片山博文MZ ◆T6xkBnTXz7B0
2016/01/11(月) 19:32:14.41 同じフォルダにある音声ファイル(*.wav)や画像ファイル(*.png)を確認。
ソリューションエクスプローラの「Properties」をダブルクリック。
リソースを選択。「リソースの追加」の右三角をクリック、
「既存のファイルの追加」を選ぶ。ファイルの種類を「ビットマップ」にし、
Shiftを押しながらpngファイルをすべて選択して開く。
オーディオのwavファイルも同様。
ソリューションエクスプローラの「Properties」をダブルクリック。
リソースを選択。「リソースの追加」の右三角をクリック、
「既存のファイルの追加」を選ぶ。ファイルの種類を「ビットマップ」にし、
Shiftを押しながらpngファイルをすべて選択して開く。
オーディオのwavファイルも同様。
448片山博文MZ ◆T6xkBnTXz7B0
2016/01/11(月) 19:35:33.57 ここで「リソース」というのは、EXEファイルにデータを埋め込む機構のことだ。
データが埋め込まれていないデータファイルなら、容易に第三者に盗用されてしまう。
リソースはある程度これを防ぐ。
データが埋め込まれていないデータファイルなら、容易に第三者に盗用されてしまう。
リソースはある程度これを防ぐ。
449takasi
2016/01/11(月) 19:36:51.66 今から始めます
スタート
スタート
450片山博文MZ ◆T6xkBnTXz7B0
2016/01/11(月) 19:40:31.55 button1をダブルクリック、次のコードを追加。
「pictureBox1.Image = Properties.Resources.gu;
var player = new System.Media.SoundPlayer(Properties.Resources.gu1);
player.PlaySync();」
できたら、デバッグ実行して、button1をクリックしてみよ。
「pictureBox1.Image = Properties.Resources.gu;
var player = new System.Media.SoundPlayer(Properties.Resources.gu1);
player.PlaySync();」
できたら、デバッグ実行して、button1をクリックしてみよ。
451片山博文MZ ◆T6xkBnTXz7B0
2016/01/11(月) 19:45:49.55 コントロールはFontプロパティで文字を大きくしている。
また、ボタンを大きくした文字列に合わせるためにAutoSizeをTrueにした。
また、ボタンを大きくした文字列に合わせるためにAutoSizeをTrueにした。
452takasi
2016/01/11(月) 19:48:37.97 デザインフォームはどうやって表示させるのでしょうか?
slnファイルを開きエクスプローラからファイル一つ一つクリックしたのですが
コードが表示されるだけです
slnファイルを開きエクスプローラからファイル一つ一つクリックしたのですが
コードが表示されるだけです
453takasi
2016/01/11(月) 19:49:16.22 右クリックからビューデザイナで表示できました失礼しました
454片山博文MZ ◆T6xkBnTXz7B0
2016/01/11(月) 19:50:06.53 課題。ジャンケンゲームを完成させなさい。
ボタンとフォームの背景色を変更しなさい。
フォームはサイズ変更できないようにしなさい。
ボタンとフォームの背景色を変更しなさい。
フォームはサイズ変更できないようにしなさい。
455takasi
2016/01/11(月) 20:03:30.19 課題始めます
456仕様書無しさん
2016/01/11(月) 20:05:49.76 >>444
あ、勘違いしてる
LINQPadはLINQ専用のツールじゃないよ
ちょっと試したいC#コードの断片がある時に、
わざわざVisual StudioでSolutionやProjectとか作らずに
気楽に試すことができるツール
あ、勘違いしてる
LINQPadはLINQ専用のツールじゃないよ
ちょっと試したいC#コードの断片がある時に、
わざわざVisual StudioでSolutionやProjectとか作らずに
気楽に試すことができるツール
457片山博文MZ ◆T6xkBnTXz7B0
2016/01/11(月) 20:06:34.60 フォームが読み込まれたときの処理はLoadイベントで行う。
表示されたときの処理はShownイベントで行う。
イベントはプロパティウィンドウのカミナリをクリックすれば見られる。
表示されたときの処理はShownイベントで行う。
イベントはプロパティウィンドウのカミナリをクリックすれば見られる。
458片山博文MZ ◆T6xkBnTXz7B0
2016/01/11(月) 20:13:34.58 画像がPictureBoxからはみ出る場合は
SizeModeプロパティをいじるとよかろう。
ちなみに、画像はGoogle画像検索で「ジャンケン フリー素材」を検索して拾った。
音声は自分で録音したものだ。
SizeModeプロパティをいじるとよかろう。
ちなみに、画像はGoogle画像検索で「ジャンケン フリー素材」を検索して拾った。
音声は自分で録音したものだ。
459片山博文MZ ◆T6xkBnTXz7B0
2016/01/11(月) 20:17:14.83 自分で画像を用意したい場合はGIMPやInkscapeといったフリーソフトで
作成・編集したり、カメラやスキャナで取り込んだりするとよい。
作成・編集したり、カメラやスキャナで取り込んだりするとよい。
461片山博文MZ ◆T6xkBnTXz7B0
2016/01/11(月) 20:29:58.66 リソースデータは名前で参照する。名前が重要だ。
どのリソースを使うかは、名前で決めないといけない。
どのリソースを使うかは、名前で決めないといけない。
463片山博文MZ ◆T6xkBnTXz7B0
2016/01/11(月) 21:01:55.05 ヒント:ボタンのクリック処理を関数で共通化
464片山博文MZ ◆T6xkBnTXz7B0
2016/01/11(月) 21:06:36.41 ヒント:勝ち負け判定関数
465takasi
2016/01/11(月) 21:11:19.73 最序盤でつまづいています
スタートボタンを押して開始→手をクリック→手を受け取り条件分岐
こういう流れで行きたいのですが
えーまず、メインのジャンケンの処理をどこに記述すればよいのかで混乱しています
スタートボタンを押して開始→手をクリック→手を受け取り条件分岐
こういう流れで行きたいのですが
えーまず、メインのジャンケンの処理をどこに記述すればよいのかで混乱しています
466takasi
2016/01/11(月) 21:17:10.61 頭のなかではこんな感じなのですがhttps://i.gyazo.com/18d3d208948dbd5047961437a72d9359.png
実装の仕方がわからず・・・
さっさと質問しとけばよかったですすみません
実装の仕方がわからず・・・
さっさと質問しとけばよかったですすみません
467片山博文MZ ◆T6xkBnTXz7B0
2016/01/11(月) 21:20:18.45 ... button1_click(...) {
show_hand(1);
}
... button2_click(...) {
show_hand(2);
}
... button3_click(...) {
show_hand(3);
}
void show_hand(int player_hand) {
int comp_hand = get_comp_hand();
...手を表示する処理をここに書く...
switch(hantei(player_hand, comp_hand)) {
...勝ち負けを表示...
}
}
show_hand(1);
}
... button2_click(...) {
show_hand(2);
}
... button3_click(...) {
show_hand(3);
}
void show_hand(int player_hand) {
int comp_hand = get_comp_hand();
...手を表示する処理をここに書く...
switch(hantei(player_hand, comp_hand)) {
...勝ち負けを表示...
}
}
468takasi
2016/01/11(月) 21:24:17.30 ありがとうございます
分からなかったらまた聞きます
行ってきます
分からなかったらまた聞きます
行ってきます
469takasi
2016/01/11(月) 22:30:37.72 今日中に終わらなそうです
470片山博文MZ ◆T6xkBnTXz7B0
2016/01/11(月) 22:32:51.24 残りは明日にするか。
どこまでできた?
どこまでできた?
471takasi
2016/01/11(月) 22:42:42.02 判定して結果を表示させる所まで来ました
あとはあいこのループ処理と画像の表示と音声のタイミングが合ってないのでそれを直すことです
あとはあいこのループ処理と画像の表示と音声のタイミングが合ってないのでそれを直すことです
472takasi
2016/01/11(月) 22:46:06.33 ・スタートおした時のジャンケンポンの効果音
・判定後のスタートをリセット
・画像のサイズをあわせる
まだまだありました
・判定後のスタートをリセット
・画像のサイズをあわせる
まだまだありました
473takasi
2016/01/11(月) 22:46:37.45 明日の授業までに終わらせておきます
474片山博文MZ ◆T6xkBnTXz7B0
2016/01/11(月) 22:48:43.00 PlaySyncを使うとそこで処理が動かなくなる。
画像を変えるなら再生の前にするとよい。
一方、Playは非同期で動く。
非同期再生処理のタイミングを調整したいなら、スレッドを使うことになる。
画像を変えるなら再生の前にするとよい。
一方、Playは非同期で動く。
非同期再生処理のタイミングを調整したいなら、スレッドを使うことになる。
475takasi
2016/01/11(月) 22:51:07.18 分かりました
頭をすっきりさせるためにお風呂に入ってきます
頭をすっきりさせるためにお風呂に入ってきます
476片山博文MZ ◆T6xkBnTXz7B0
2016/01/11(月) 22:51:07.43 今日もよくがんばった。おやすみ。
477takasi
2016/01/11(月) 22:51:32.48 本日もありがとうございました!!おやすみなさい
478takasi
2016/01/12(火) 00:56:08.92480takasi
2016/01/12(火) 16:48:13.54 おはようございます
プルリクエストしてみました。ちゃんとできていますでしょうか
体調不良のため途中で離脱するかもしれません
プルリクエストしてみました。ちゃんとできていますでしょうか
体調不良のため途中で離脱するかもしれません
481片山博文MZ ◆T6xkBnTXz7B0
2016/01/12(火) 17:14:09.31 今日の勉強会は休みにします。
482takasi
2016/01/12(火) 17:20:28.56 分かりました、自習します
483仕様書無しさん
2016/01/12(火) 18:49:16.21 先生、たかし君のペースでいいので是非データベースとの連携もご教示ください!
484takasi
2016/01/13(水) 13:50:41.92 病院行こうと思ったら午前で終わってました
おはようございます
おはようございます
485片山博文MZ ◆T6xkBnTXz7B0
2016/01/13(水) 19:10:53.68486takasi
2016/01/13(水) 19:26:21.36 おはようございます
始めます
始めます
487片山博文MZ ◆T6xkBnTXz7B0
2016/01/13(水) 19:32:23.31 Visibleプロパティをfalseにすると非表示になる。
SoundPlayer.Stopで音を止めることができる。
SoundPlayer.Stopで音を止めることができる。
488片山博文MZ ◆T6xkBnTXz7B0
2016/01/13(水) 19:37:24.49 コードを読んだ感想を述べよ。
489takasi
2016/01/13(水) 19:47:25.22 僕のぐっちゃぐちゃなコードに比べるとすごく綺麗にまとまっていて
これはどういう動作をするコードなのかひと目で分かります
条件分岐の負けの判定の仕方でelse if ((3 + player_hand - comp_hand) % 3 == 1)
を見てこれはすげえと思いました
全体のコード量は少ないですが、すっきりしていて感動しました
そして自分にこんな綺麗に書ける自信が無くて胃が痛くなりました
これはどういう動作をするコードなのかひと目で分かります
条件分岐の負けの判定の仕方でelse if ((3 + player_hand - comp_hand) % 3 == 1)
を見てこれはすげえと思いました
全体のコード量は少ないですが、すっきりしていて感動しました
そして自分にこんな綺麗に書ける自信が無くて胃が痛くなりました
490takasi
2016/01/13(水) 19:49:19.08 こういうやり方もあるのかと色々発見がありました
以上、小学生並みの感想文でした
以上、小学生並みの感想文でした
491takasi
2016/01/13(水) 19:52:11.35 あとじゃんけんゲームがなかなかおもしろいです
492片山博文MZ ◆T6xkBnTXz7B0
2016/01/13(水) 19:57:19.20 その判定は大学数学の剰余類という概念を使っている。
多分、大学一年生で習うだろう。
多分、大学一年生で習うだろう。
493takasi
2016/01/13(水) 20:04:12.87 初めて聞いた単語で胃が痛くなりました
とりあえず頑張ります
ちなみに僕は数学は大の苦手です
数学の知識があったほうがどう考えてもいいですね
とりあえず頑張ります
ちなみに僕は数学は大の苦手です
数学の知識があったほうがどう考えてもいいですね
494片山博文MZ ◆T6xkBnTXz7B0
2016/01/13(水) 20:04:33.55 今日はアプリの設定データについて勉強する。
アプリを終了した後でも、データを保存しておきたい場合、
ファイルやレジストリにデータを記録することになる。
レジストリはWindowsが持っている、階層構造を持ったデータベースで
あり、ファイルとは異なる。
アプリを終了した後でも、データを保存しておきたい場合、
ファイルやレジストリにデータを記録することになる。
レジストリはWindowsが持っている、階層構造を持ったデータベースで
あり、ファイルとは異なる。
495片山博文MZ ◆T6xkBnTXz7B0
2016/01/13(水) 20:10:02.84 二つのTextBoxをフォームに配置し、さらにOKボタンとキャンセルボタンを置く。
496takasi
2016/01/13(水) 20:12:34.79 置きました
497片山博文MZ ◆T6xkBnTXz7B0
2016/01/13(水) 20:18:30.96 OKボタンをダブルクリックして、次のコードを追加。
var key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(@"Software\Takashi\MySoftware");
key.SetValue("Text1", textBox1.Text);
key.SetValue("Text2", textBox2.Text);
key.Close();
var key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(@"Software\Takashi\MySoftware");
key.SetValue("Text1", textBox1.Text);
key.SetValue("Text2", textBox2.Text);
key.Close();
498takasi
2016/01/13(水) 20:20:17.35 追加しました
499片山博文MZ ◆T6xkBnTXz7B0
2016/01/13(水) 20:23:26.62 プログラムを実行してOKを押す。これでレジストリに書き込まれた。
Win+Rキーを押してregeditと入力してEnterキーを押す。
これでレジストリエディターが起動する。
HKEY_CURRENT_USER\Software\Takashi\MySoftwareがあることを
確認せよ。
Win+Rキーを押してregeditと入力してEnterキーを押す。
これでレジストリエディターが起動する。
HKEY_CURRENT_USER\Software\Takashi\MySoftwareがあることを
確認せよ。
500takasi
2016/01/13(水) 20:28:09.63 Tkashi\Mysofrwareとレジストリを確認しました
501片山博文MZ ◆T6xkBnTXz7B0
2016/01/13(水) 20:31:55.02 次は読み込みだ。フォームのLoadイベントに次のコードを追加。
var key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\Takashi\MySoftware");
textBox1.Text = key.GetValue("Text1");
textBox2.Text = key.GetValue("Text2");
key.Close();
var key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\Takashi\MySoftware");
textBox1.Text = key.GetValue("Text1");
textBox2.Text = key.GetValue("Text2");
key.Close();
502片山博文MZ ◆T6xkBnTXz7B0
2016/01/13(水) 20:36:28.82 文字列リテラルに@が付いているのは\によるエスケープシーケンスを解釈しないためだ。
以前、"\n"は改行を表すと言った。"\t"はタブ文字だ。このように通常、""の中の\は特殊な解釈をする。
以前、"\n"は改行を表すと言った。"\t"はタブ文字だ。このように通常、""の中の\は特殊な解釈をする。
503takasi
2016/01/13(水) 20:41:47.46 オブジェクト型はString型に代入できないと注意されたのでConvert.ToStringしましたが大丈夫でしょうか
private void Form1_Load(object sender, EventArgs e)
{
var key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\Takashi\MySoftware");
textBox1.Text = Convert.ToString(key.GetValue("Text1"));
textBox2.Text = Convert.ToString(key.GetValue("Text2"));
key.Close();
}
private void Form1_Load(object sender, EventArgs e)
{
var key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\Takashi\MySoftware");
textBox1.Text = Convert.ToString(key.GetValue("Text1"));
textBox2.Text = Convert.ToString(key.GetValue("Text2"));
key.Close();
}
504片山博文MZ ◆T6xkBnTXz7B0
2016/01/13(水) 20:41:56.00 レジストリはシステムの資源を占有するので、サイズの大きなデータを書き込むべきではない。
大きな設定データはファイルに記録する。
ではどこに設定ファイルを書き込めばいいか?
特殊フォルダのAppDataに書き込むのがいいとされる。
大きな設定データはファイルに記録する。
ではどこに設定ファイルを書き込めばいいか?
特殊フォルダのAppDataに書き込むのがいいとされる。
506片山博文MZ ◆T6xkBnTXz7B0
2016/01/13(水) 20:49:48.52 特殊フォルダの場所を取得するには次のように書く。
var path = System.Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
var path = System.Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
507片山博文MZ ◆T6xkBnTXz7B0
2016/01/13(水) 20:57:53.42 読み込みされるか実行して確認せよ。
次にレジストリエディタでMySoftwareキーを削除してプログラムを再起動せよ。
例外が発生するはずだ。実はキーが開けないときkeyはnullになる。
nullというのは無効なデータのことだ。
次にレジストリエディタでMySoftwareキーを削除してプログラムを再起動せよ。
例外が発生するはずだ。実はキーが開けないときkeyはnullになる。
nullというのは無効なデータのことだ。
508takasi
2016/01/13(水) 21:01:26.06 読み込まれないです!
https://i.gyazo.com/f2e5ff48bd5fa2390e783ff8d86d6c9e.png
Form1_Loadは初めから存在してなかったので自分で作ったのですがこれが原因でしょうか
https://i.gyazo.com/f2e5ff48bd5fa2390e783ff8d86d6c9e.png
Form1_Loadは初めから存在してなかったので自分で作ったのですがこれが原因でしょうか
509片山博文MZ ◆T6xkBnTXz7B0
2016/01/13(水) 21:03:06.24 キーが開けないときや作れないときはkey == nullになる。
このまま書き込んだり、読み込もうとすると例外が発生してしまう。
対処法はnullチェックをすることだ。
if (key != null) {
...
key.Close();
}
このまま書き込んだり、読み込もうとすると例外が発生してしまう。
対処法はnullチェックをすることだ。
if (key != null) {
...
key.Close();
}
510片山博文MZ ◆T6xkBnTXz7B0
2016/01/13(水) 21:04:38.96512takasi
2016/01/13(水) 21:19:18.77 あ、読み込みも問題なくできました
513片山博文MZ ◆T6xkBnTXz7B0
2016/01/13(水) 21:20:52.39 課題。ジャンケンゲームでの勝ち・負け・引き分けの回数を
レジストリに記録するようにせよ。
レジストリに記録するようにせよ。
514片山博文MZ ◆T6xkBnTXz7B0
2016/01/13(水) 21:22:48.11 アプリ設定に使ったファイルやレジストリキーを消すのは、
インストーラ側で行うことが多い。
インストーラ側で行うことが多い。
515片山博文MZ ◆T6xkBnTXz7B0
2016/01/13(水) 21:34:51.21 課題が出来たら、プルリクせよ。残り時間は自習とする。
516片山博文MZ ◆T6xkBnTXz7B0
2016/01/13(水) 22:11:34.19 質問はありませんか?
517takasi
2016/01/13(水) 22:19:11.11 質問はありませんが、値の受け渡しで頭がぐるぐるしてます
とりあえずsave_keyメソッドとload_keyメソッドを作りぐっちゃぐちゃやってます頑張ります
とりあえずsave_keyメソッドとload_keyメソッドを作りぐっちゃぐちゃやってます頑張ります
518takasi
2016/01/13(水) 22:45:21.86 えーと、やりたいことは分かっているんですが思考が迷子です
時間がかかりそうなので宿題とさせて下さい
えーとプログラミング適正無しでしょうか悲しいです
時間がかかりそうなので宿題とさせて下さい
えーとプログラミング適正無しでしょうか悲しいです
519片山博文MZ ◆T6xkBnTXz7B0
2016/01/13(水) 23:12:37.34 ヒント:
アプリ側で保持するのは、回数が増えた分だ。現在の回数ではない。
レジストリへのアクセスは読み書きを一度に行う。
アプリ側の増分だけレジストリの回数を増やした後でアプリ側の増分をゼロにする。
回数を増やすのは勝敗引き分けが決まったときに行う。
回数の増分はフォーム側ではなくプログラム側で保持する。
アプリ側で保持するのは、回数が増えた分だ。現在の回数ではない。
レジストリへのアクセスは読み書きを一度に行う。
アプリ側の増分だけレジストリの回数を増やした後でアプリ側の増分をゼロにする。
回数を増やすのは勝敗引き分けが決まったときに行う。
回数の増分はフォーム側ではなくプログラム側で保持する。
520片山博文MZ ◆T6xkBnTXz7B0
2016/01/13(水) 23:16:19.59 おやすみ。身体を冷やすなよ。
521片山博文MZ ◆T6xkBnTXz7B0
2016/01/14(木) 20:36:18.94 ヘイ、ヨー!
始めっぞ
始めっぞ
522takasi
2016/01/14(木) 20:40:53.10 おはようごじます・・・
523片山博文MZ ◆T6xkBnTXz7B0
2016/01/14(木) 20:44:14.18 さあーて、どこまでできたかなっ♪
524takasi
2016/01/14(木) 20:50:08.39 正直に言いますとまだ出来ていません
あまりの出来の悪さに悲しみに暮れ寝て起きたら今です
○にたい
あまりの出来の悪さに悲しみに暮れ寝て起きたら今です
○にたい
525片山博文MZ ◆T6xkBnTXz7B0
2016/01/14(木) 20:54:55.82 ヘイ、まずは、三つのint型のメンバー変数を追加するよぉ。
初期値はゼロだぜぃ。
int kachi_count = 0;
int make_count = 0;
int aiko_count = 0;
初期値はゼロだぜぃ。
int kachi_count = 0;
int make_count = 0;
int aiko_count = 0;
526takasi
2016/01/14(木) 20:56:23.94 追加しました
527片山博文MZ ◆T6xkBnTXz7B0
2016/01/14(木) 20:58:47.83 お次は、勝敗判定の箇所を探してみよー。
hantei関数の呼び出しをしている場所があるよね。
ここで判定に応じてカウント変数を1つ加算だよお!
hantei関数の呼び出しをしている場所があるよね。
ここで判定に応じてカウント変数を1つ加算だよお!
528takasi
2016/01/14(木) 21:02:23.71 加算できました
529片山博文MZ ◆T6xkBnTXz7B0
2016/01/14(木) 21:03:36.91 その後にレジストリのカウント値を更新だ。
CreateSubKeyはキーがなければキーを作成してそれを開く。
あればそのまま開く。
カウント値はGetValueで取得、SetValueで設定だ。
しかしまだ値を設定していないときにGetValueしたらどうなるか?
CreateSubKeyはキーがなければキーを作成してそれを開く。
あればそのまま開く。
カウント値はGetValueで取得、SetValueで設定だ。
しかしまだ値を設定していないときにGetValueしたらどうなるか?
530takasi
2016/01/14(木) 21:05:55.97 例外がスローされます
531片山博文MZ ◆T6xkBnTXz7B0
2016/01/14(木) 21:17:48.07 >>530
ノーノー、nullが返される。
var value = key.GetValue("KachiCount");
int count = kachi_count;
if (value != null)
{
count += Convert.ToInt32(value);
}
...
ノーノー、nullが返される。
var value = key.GetValue("KachiCount");
int count = kachi_count;
if (value != null)
{
count += Convert.ToInt32(value);
}
...
532片山博文MZ ◆T6xkBnTXz7B0
2016/01/14(木) 21:20:30.78 そしてcount.ToString()をSetValueしてからkachi_countをゼロにする。
他のカウント変数も同様だ。
他のカウント変数も同様だ。
533takasi
2016/01/14(木) 21:23:48.93 どのタイミングでキーを作成しなければいけないのか分からないです
534片山博文MZ ◆T6xkBnTXz7B0
2016/01/14(木) 21:25:18.15 カウントを表示するのは別のフォームで行う。
新しくフォームを追加だ。
その上にラベルをいくつか追加。
フォームのLoadイベントでレジストリを読み込んでラベルテキストをセット。
OKボタンでフォームを閉じるようにする。
新しくフォームを追加だ。
その上にラベルをいくつか追加。
フォームのLoadイベントでレジストリを読み込んでラベルテキストをセット。
OKボタンでフォームを閉じるようにする。
535片山博文MZ ◆T6xkBnTXz7B0
2016/01/14(木) 21:28:59.98 >>533
いつカウントを更新するかは、自由に決めることができる。
アプリが終了するときか、フォームが閉じたときか、カウンタが更新したときか。
ここではすぐに更新してほしいので、hantei関数が呼ばれた後に
レジストリを更新する。
いつカウントを更新するかは、自由に決めることができる。
アプリが終了するときか、フォームが閉じたときか、カウンタが更新したときか。
ここではすぐに更新してほしいので、hantei関数が呼ばれた後に
レジストリを更新する。
536片山博文MZ ◆T6xkBnTXz7B0
2016/01/14(木) 21:33:18.31 どうだね? 作れそうかな?
537takasi
2016/01/14(木) 21:33:36.08 >>534は
private void Form2_Load(object sender, EventArgs e)
{
var key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\Takashi\MySoftware");
label4.Text = key.GetValue("KACHI").ToString();
label5.Text = key.GetValue("MAKE").ToString();
label6.Text = key.GetValue("AIKO").ToString();
}
で大丈夫ですよね
private void Form2_Load(object sender, EventArgs e)
{
var key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\Takashi\MySoftware");
label4.Text = key.GetValue("KACHI").ToString();
label5.Text = key.GetValue("MAKE").ToString();
label6.Text = key.GetValue("AIKO").ToString();
}
で大丈夫ですよね
539takasi
2016/01/14(木) 21:36:07.69 レジストリの更新はメソッドを新たに作成してそこでやらせたほうがいいですよね
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 首相官邸筋「私は核を持つべきだと思っている」 オフレコ非公式取材にて発言 [パンナ・コッタ★]
- 《いつかこの子がドレスを着るまで生きたい》サウナ閉じ込め…専門家が指摘する月額39万円サウナの“論外な構造” [パンナ・コッタ★]
- 女子高生が初の司法試験合格 予備ルートの慶応女子高3年「企業法務の弁護士になりたい」 [ぐれ★]
- 【芸能】楽しんご激怒! 「誰も知らねーよてめえの事なんて!しかも引退ではなく追放な」 ブレダウ“不意打ちビンタ男”の引退表明に [冬月記者★]
- 官邸の安保担当「日本は核保有すべきだ」 政府内の検討は否定 [蚤の市★]
- 松本人志「DOWNTOWN+」に非吉本から売り込み殺到 加入者50万人突破で [Ailuropoda melanoleuca★]
- 【高市悲報】「吉村はんさあ😥直接議論もせずにつべで腹立つ言うてもしゃーないで」杉村太蔵ごときに正論バチーン! [359965264]
- 【吉報】玉木×高市の「年 収 の 壁」撤廃の減税額、マジのガチですごすぎるwmwmwmwmwmwmw [517459952]
- 🏡☢核兵器使用推進スレ☢🏡
- おばあちゃんちってなんでいつも三ツ矢サイダーあったの?
- 風俗嬢に頼んだらやってくれそうなこと
- 【速報】高市首相「最低賃金引き上げします。来年検討します!!」キタ━━━━(゚∀゚)━━━━‼ [921362874]
