ニートです1からプログラミングを教えてくれる [無断転載禁止]©2ch.net
: たかし [] 2015/12/25(金) 18:43:55.48 先生を募集します 先生!! : 仕様書無しさん [sage] 2015/12/25(金) 19:30:40.21 なんですか私を呼びましたか? : 仕様書無しさん [sage] 2015/12/25(金) 19:34:07.23 ハロワの職業訓練でも逝け : 仕様書無しさん [] 2015/12/25(金) 19:49:26.03 先生!まず何をすれば良いのですか?? ネットで職業訓練の事調べたらあんなとこ行くより独学で勉強した方が身につくとか書かれてました! と、いうかニートなので訓練校に通うお金を捻出できません!職歴なしなので手当も貰えません!!遺影!!! : たかし [sage] 2015/12/25(金) 19:59:32.62 社会的に終わってるのでたまごっち感覚で育てて下さい(*^_^*) : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/25(金) 20:05:09.62 1.ファイル拡張子について調べよ。 2.拡張子を表示する設定にしろ。 3.テキストエディタをインストールせよ。 4.バイナリエディタをインストールせよ。 5.エディタで適当にファイルを作ったり編集してみよ。 : 仕様書無しさん [] 2015/12/25(金) 20:10:42.93 職業訓練は職歴なくても問題ないよ。 ちゃんと続けることできますかって 最初に聞かれるくらい。 月11万くらいもらえる。 職業訓練の講師ってプロのプログラマに教えてるような人だから 独学よりもよほど良いよ。 : takasi [sage] 2015/12/25(金) 20:17:11.37 先生!できました! 1、拡張子とはファイルの種類を表す名前です! 2、フォルダの設定からできました! 3、4、備え付けのメモ帳とBzEditorをインストールしました! 5、ファイルを作成、編集しました! ttps://i.gyazo.com/01f6f2e0fec5f9b1013e261d5b1368a8.gif : takasi [sage] 2015/12/25(金) 20:22:39.05 職業訓練自体は職歴無しでも受けることはできるみたいですが(審査が厳しい?) 手当は貰えないような事を聞きました(グーグルで調べました) 手当を貰える対象は失業者、更にその中でも条件があるようですが、、、 僕の認識違いでしたかね?もう一度よく調べてみます。 ありがとうございます先生!! : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/25(金) 20:36:59.28 6.次のような内容のテキストファイルを作成し、「hello.txt」という名前で保存せよ。 「set VAR=hello, world echo %VAR% pause」 ただし、行と行の間には「改行文字」(Enterキー)を入力せよ。 7.「hello.txt」の拡張子を「.bat」にしてダブルクリックせよ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/25(金) 20:45:29.82 8.全角文字と半角文字の違いについて調べよ。 : 仕様書無しさん [] 2015/12/25(金) 20:48:54.19 この先生はだめです。まずはVisual Studio Communityをインストールしなさい : takasi [sage] 2015/12/25(金) 20:49:20.04 先生できました!BATファイルを実行するとコマンドプロンプト?が立ち上がりました!なんのために使うのかはわかりません 6ー7。 ttps://i.gyazo.com/f26f498866d66c94d64498af93fba288.png 8,全角文字は2バイト文字、半角文字は1バイト文字です! sssp://o.8ch.net/3qrw.png : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/25(金) 20:58:49.21 「set (変数名)=(値)」は、変数に値を代入するコマンドです。 「echo (文字列)」は画面に文字列を表示するコマンドです。 「pause」は何かキーが押されるまで待つコマンドです。 コマンドは普通、上から順番に実行されます。 9.「echo 私は天才プログラマです」という行を「hello.bat」の先頭に追加して保存し、ダブルクリックしなさい。 : takasi [sage] 2015/12/25(金) 21:10:05.59 いろんな先生が居て楽しいです!ビジュアルスタジオインストール中ですすごい容量でかいです! よくわかりました!できました! ttps://i.gyazo.com/e787b1180adb505bb01063724ae2ed93.png : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/25(金) 21:11:26.74 環境が古いので最新のIDE入れたら時間切れになっちゃう。 : takasi [sage] 2015/12/25(金) 21:26:12.07 ビジュアルスタジオインストール完了したので再起動してきます : 仕様書無しさん [sage] 2015/12/25(金) 21:31:31.29 ok : takasi [sage] 2015/12/25(金) 21:33:12.72 先生!再起動終わりました! : takasi [sage] 2015/12/25(金) 21:36:36.24 先生、質問です! 変数をechoで出力する際に変数を%で囲みましたが、文字列では%で囲まなくてもで出力されていました。 これは変数をechoで出力する際は%が必要、文字列では不要。というルールで良いのでしょうか?? : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/25(金) 21:41:13.38 変数名を% %で囲ったら、そこは変数の値に「展開」される。試しに set VAR=test echo VAR 123 echo %VAR% 123 を実行してみればわかる。 : takasi [sage] 2015/12/25(金) 21:54:37.28 %で囲むと変数の中身が飛び出すんですね!分かりましたありがとうございます先生! : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/25(金) 22:05:58.70 10.条件分岐 「set A=123 if "%A%"=="123" echo OK if "%A%"=="124" echo NG pause」 11.無限ループ 「:LOOP set VAR=%VAR%! echo %VAR% goto LOOP」 : takasi [sage] 2015/12/25(金) 22:30:47.29 できました! 10.条件分岐 ttps://i.gyazo.com/c5c05fcea3e96dc096079c7b05ce56fa.png 変数Aに123という数値をセットし、もし変数Aから123が飛び出せば、OKと表示。 もし変数Aから124が飛び出せば、NGと表示する処理ですね! 11.無限ループ ttps://i.gyazo.com/6962a1d81cabe20078262c913792a0a5.gif 変数VARに!をセットし、LOOPで無限に!を表示しつづける処理ですね! set VAR=%VAR%! でなぜ一度の処理で!がたくさん表示されたのかがわかりません 結果を見ると決まった数だけ!が表示されているようですが、setでは!の数は指定していないです 僕の予想だと!が1つ表示される処理がループされると思ったのですが、、、 たぶん%VAR%!これがキーポイントなんですね! ちなみに実行したらPCから変な音が出ました!! : takasi [sage] 2015/12/25(金) 22:35:29.18 あ!set VAR=%VAR%! は1回の処理ごとに!が1つずつ増えていってるでしょうか でもはじめから大量に!は表示されていたし、見た感じ!の数は一定だった気がしたようなしないような 実行して確認しようにもPCから変な音出るので怖いです : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/25(金) 22:39:45.94 なにも実行してないときはVARの中身は空っぽ。最初に「set VAR=%VAR%!」を実行すると VARは!になる。二回目はVARが%VAR%!、つまり!!になる。三回目は%VAR%!、つまり!!!になる。 代入の左辺の展開では代入する前の変数の値が使われる。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/25(金) 22:41:01.97 ×左辺 D右辺 : takasi [sage] 2015/12/25(金) 22:44:21.96 先生!後出しですが僕そんなようなこと言おうとしてたんです! でも毎回setで変数の中身がリセットされるんじゃないかと思って、、、 知識ないのに勝手な想像しないほうがいいですね! : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/25(金) 22:47:29.98 gotoは指定したラベルに移動するコマンドだ。コマンドプロンプトで ラベルを置く場合は、行の先頭にコロン(:)を付ける。 : takasi [sage] 2015/12/25(金) 22:53:56.15 gotoがポイントでLOOPはただの変数なんですね、ためしにNEETでやったらめっちゃ驚かれました もしかしてこのコマンドプロンプトでは変数は半角大文字英数で表記するのでしょうか : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/25(金) 22:58:55.50 12.適当なフォルダーをShiftキーを押しながら右クリックして、「ここでコマンドプロンプトを開く」を選びなさい。 13.開かれたコマンドプロンプトで「dir」「cd ..」「echo TEST」「echo /?」「cd /?」「copy /?」などのコマンドを実行しなさい。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/25(金) 23:03:04.07 プロンプトでは大文字小文字の区別はない。 ラベル名と変数名は違う。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/25(金) 23:05:54.21 お休み。 : takasi [sage] 2015/12/25(金) 23:10:35.49 できました!dirはフォルダ内の情報を表示、cd..はひとつ前のフォルダに移動、echo TESTはコマンドプロンプトに"TEST"と表示、xx /?はxxコマンドのヘルプを表示です! そうなんですか!ラベル名と変数名の違いがわかりませんが宿題にしときます。おやすみなさいセンセー! : takasi [sage] 2015/12/25(金) 23:13:59.08 ビジュアルスタジオをインストールしなさいという先生が居ましたがこれで何をすればよいのでしょうか、、、 助けて他の先生!何か課題だされないとやる気もでないし何するかもわからないよ〜(TOT) とりあえず時間も時間だし僕は帰宅します さようなら : takesi [sage] 2015/12/25(金) 23:16:01.98 尊敬する人物はクロエ・オブライエンです : 仕様書無しさん [sage] 2015/12/25(金) 23:28:31.79 プログラミング入門サイトでも作ってみるわ。ちょっと待っててな : takasi [sage] 2015/12/26(土) 17:46:15.48 おはようございます 入門サイトうれしゅうございます 今日は何しましょう : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 17:54:20.47 君のOSの種類と、Visual Studioのバージョンを教えて。 : takasi [sage] 2015/12/26(土) 18:04:11.80 先生おはようございあmス OS:Win7 Pro VS:Microsoft Visual Studio Community 2015 14.0.24720.00 Update 1 昨日DLしたての最新版でございます : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 18:09:21.96 ハードディスクとSSDのどちらを使ってるか? C++とC#のどちらをインストールした? : たかし [sage] 2015/12/26(土) 18:13:10.37 アプリケーション用にSSD,データ用にHDD VSはSSDにインストールしました それはVSと別でインストールするのでしょうか?VSをインストールする過程でインストールされるのであればすべて推奨設定でインストールしました! : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 18:19:30.59 SSDはハードディスクよりずっと速いが、信頼性が低く、壊れるときは一気に壊れる。必ず別のドライブにバックアップしておけ。 君の環境は恵まれている。デフォルトの設定でインストールしたならVisual C#が入っているはずだ。 スタートメニューからそれを探しだして起動しろ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 18:24:14.82 コマンドプロンプトでできることは限られている。 C#という言語を使うともっと自由にプログラミングできる。 C#の主な用途はゲーム、業務、ツール作りである。 C#でどんなものを作りたい? : takasi [sage] 2015/12/26(土) 18:24:38.52 はいい! Visual C#というアプリが無かったのですが、VSを起動すれば良いのでしょうか? そうであればVSを起動しました! : takasi [sage] 2015/12/26(土) 18:30:12.33 なるほど。作りたいものはありません!最初の方に書いたとおりたまごっち感覚で育てていただけるとありがたいです! でもしいて挙げるなら、時間を指定してPCをシャットダウンするソフトと最前面表示固定するシンプルなメモ帳が作りたいです!愛用のエディタはWIN付属のメモ帳です、これ以外は合いませんでした! : takasi [sage] 2015/12/26(土) 18:31:34.38 発言が矛盾しておりました 時間を指定してPCをシャットダウンするソフトと最前面表示固定するシンプルなメモ帳が作りたいです! : takasi [sage] 2015/12/26(土) 18:33:21.99 ネットブラウザで2chは不便なので2ch専用ブラウザをインストールします 少々おまちくだされ : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 18:35:27.72 そうだ、VSに統合されてた。VSは日本語になってるか? 「ファイル」メニューから「新規作成」→「プロジェクト」を選べ。 Visual C#とVisual C++の項目はあるか? : takasi [sage] 2015/12/26(土) 18:38:35.76 VSは日本語です どちらもあります! : takasi [sage] 2015/12/26(土) 18:47:54.32 C#を起動するんでしたね。しかし色んなテンプレートがあって混乱します ttps://i.gyazo.com/18528f8594fb2c4dbd1856832b830c7b.png C#を選択するとAndroidやiOSの項目が出てくるのですがC#でこれらのアプリも作れるんですかねえ : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 18:48:53.61 C#のコンソールアプリを作ってみろ。名前はMyFirstConsoleAppで。 : takasi [sage] 2015/12/26(土) 18:51:22.17 できました ttps://i.gyazo.com/f6fdcf06327ec2080419b2225df4281a.png : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 18:55:09.02 Mainの内部に 「Console.WriteLine("こんにちは世界"); Console.WriteLine("Enterを押してね"); Console.ReadLine();」 と入力して「ビルド」しろ。 成功したら「デバッグを開始」せよ。 : takasi [sage] 2015/12/26(土) 19:02:33.39 ttps://i.gyazo.com/bdcd67f152a5aad641feb662f6e6ca36.png できました!これで大丈夫ですかね? なんか”とか関数?とか勝手に入力してくれるんですがこれでプログラミング上達するんですかね : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 19:06:59.52 Mainの中身を 「String str = "変数の中身"; Console.WriteLine("「" + str + "」"); Console.WriteLine("Enterを押してね"); Console.ReadLine();」 にして「デバッグを開始」せよ。 : takasi [sage] 2015/12/26(土) 19:12:25.41 ttps://i.gyazo.com/24f2f50ac2e273253e6fcc89a4f80518.png できました! : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 19:14:42.17 インテリセンスと言う入力支援機能だよ。 文字を少し入力してCtrl+Tabで補完ができる。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 19:18:39.53 Stringとか" "で囲まれたものは文字列だ。 +という演算子で文字列どうしを連結できる。 文字列をConsole.WriteLineという関数に渡すと その文字列を画面に出力する。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 19:23:18.67 「Console.Write("文字列を入力してね: "); String str = Console.ReadLine(); Console.WriteLine("【"+str+"】"); Console.WriteLine("Enterを押してね"); Console.ReadLine();」にして開始しろ。 : takasi [sage] 2015/12/26(土) 19:24:26.08 なるほど!ReadLineは変数を指定せずにWriteLineで書き込んだ文字列をすべて表示してくれるんですね! : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 19:27:15.50 次はforループだ。 「for (int i = 0; i < 10; ++i) { Console.WriteLine("【"+(i + 1).ToString()+"】"); } Console.WriteLine("Enterを押してね"); Console.ReadLine();」にして開始しろ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 19:32:37.27 intとか0とか10というのは整数を意味してる。 「for (int i = 0; i < 10; ++i)」というのは、おおざっぱにいうと 「int i; for (i = 0; i < 10; i = i + 1)」と同じだ。 i.ToString()はiを文字列にした結果を返す。 : takasi [sage] 2015/12/26(土) 19:33:39.95 できました! ttps://i.gyazo.com/3ad06236b595803a180acb8b9efab974.png ttps://i.gyazo.com/aa8ae7a3dd71f66f205bb3f92fc5cc91.png : takasi [sage] 2015/12/26(土) 19:37:39.27 変数に文字を入れるときはString、数値を入れるときはintを付けるんですね! : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 19:38:20.70 整数とか文字列といったデータの種類のことを「型」という。 intとかStringというのは型名だ。 C#で変数を使うには、型名と変数名を指定しないといけない。 関数に渡すパラメーター(引数;ひきすう)には指定できる型が決まっている。 型の不一致はエラーになる。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 19:42:46.27 C#で利用できるすべての型について調べなさい。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 20:01:29.72 ttp://ufcpp.net/study/csharp/st_embeddedtype.html : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 20:07:14.93 演算子について ttp://ufcpp.net/study/csharp/st_operator.html : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 20:10:29.91 制御フローについて ttp://ufcpp.net/study/csharp/st_control.html 基本的なことは、このサイトに全部書いてあるな。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 20:29:10.28 課題12.BMIを計算するプログラムを作れ。 ヒント: Console.ReadLineで文字列を読み込み、文字列変数に代入。 文字列をSystem.Single.Parseでsingle型に変換。 BMIを計算する公式を使う。 計算結果を文字列にしてConsole.WriteLineで出力。 : takasi [sage] 2015/12/26(土) 20:37:01.10 まだ読んでるので少し時間がかかります 申し訳ありません!!!!! : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 20:41:29.86 時間制限はない。かまずに飲み込むよりも、むしろ噛み砕く時間が重要だ。気長にやりたまえ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 21:18:00.17 行き詰まったら何なりと質問してくれ。 あと、プロジェクトは1つだけでなく何個も作ることができるぞ。 目的に応じてプロジェクトを分けておくと再利用しやすい。 プロジェクトの名前の付け方は十年後のことも考えて命名したまえ。 : takasi [sage] 2015/12/26(土) 21:19:02.85 ttps://i.gyazo.com/db16280fa4efcb134b3cdaeb4e4b7bc8.png できました! 数値を入れる型についてなのですが、int使うならlong使えばいいじゃん!byte?いらないよ!と思ったのですが これは型に入れる数に関わらず型自体にサイズ?があって、たくさんコードを書くプログラムを作るときに動作が重くなるから使う型を分けているのでしょうか? 例えば、 byte a = 1; と int a = 1; は入ってる数は同じですが、型のサイズが違うので数値の範囲が決まっているのならbyteの方が節約できるということですか? 文章へったくそなので僕のイメージを伝えます おちょこ=Byte ジョッキ=Int おちょことジョッキを用意して同じ分量水を入れて人間の手で運びます おちょこは小さいのでたくさん運べる!(プログラムが軽快) ジョッキは大きいので少しずつしか運べない!(プログラムが重い) : takasi [sage] 2015/12/26(土) 21:24:02.62 詰まった部分書きます System.Single.Parse(taiju) System.Single.Parse(shincho) Console.WriteLine( taiju / (shincho*2) ); としようとしたらできませんでした あとReadLineを最後の行に入れないとプログラムが待機状態にならないで終了してしまうんですね : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 21:37:38.79 型によってデータサイズや処理速度が異なる。 サイズが大きいとメモリーを圧迫したり、遅くなったりする。またintより小さくても遅くなる。 Parseの結果は値として返される。それをsingle型の変数に代入せよ。 : takasi [sage] 2015/12/26(土) 21:39:46.51 の続きです。 なら小さいプログラム作るときはlongでもいいね。とはならないのは、大きなプログラム作るときになったらサイズ節約しなきゃならんしやりかた統一しようぜ!ってことですか? それとよく例文とかの小さい整数を入れる際にint型を使うのは、値は小さいけどbyte以上の値扱うかもしれないしそこまで大きい値扱わないからintでいっかーみたいなノリでしょうか? すべて僕の見当違いでしたら忘れて下さい! : takasi [sage] 2015/12/26(土) 21:44:33.83 分かりましたありがとうございます こうすればよかったんですね ttps://i.gyazo.com/546dc1eeeebc84d69b0ff8740bc65c7e.png : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 21:46:17.44 電卓を使って計算結果が正しいかどうか確認しなさい。 : takasi [sage] 2015/12/26(土) 21:46:42.44 と言ってることが違かった! Single taiju2 = System.Single.Parse(taiju) Single sincho2 = System.Single.Parse(sincho) Console.WriteLine( taiju2 / (shincho2*2) ); : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 21:54:14.64 よし、これで君も素人C#プログラマだ。 課題13.じゃんけんゲームを作りなさい。 ヒント:利用者の手を整数で入力(1:グー、2:チョキ、3:パー)。コンピューターの手を乱数で生成。ifで条件分岐(3×3通り)。勝ち負けを表示。 : takasi [sage] 2015/12/26(土) 21:55:38.73 計算式が違ってました!グーグルで調べたのに!! 正しくはこちらです ttps://i.gyazo.com/81228b3c5437c27c277ef843e918f49d.png かなり無理やりやった感あります : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 22:11:12.58 お休み。 : takasi [sage] 2015/12/26(土) 22:35:31.87 んほおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおお : takasi [sage] 2015/12/26(土) 22:36:44.77 おやすみなせい : 仕様書無しさん [] 2015/12/26(土) 22:43:10.61 ttp://dorakuehoshi.hatenablog.com/entry/2015/12/26/184047 ゲーム攻略ブログで儲ける方法。 : takasi [sage] 2015/12/26(土) 22:52:42.77 ちょっと疲れたので休憩後再開 URLは見てないですが、ブログで儲ける方法ってすんごーい数のブログ作りまくればちりつもで儲けられるんじゃないですか : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 23:41:30.86 新しく別のプロジェクトを作る場合は、ファイルメニューから 「ソリューションを閉じる」を選んでから、新規作成→プロジェクトを選ぶ。 ソリューションとは、1個以上のプロジェクトをまとめたものだと考えるといい。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/26(土) 23:51:11.98 知的労働者は頭脳を酷使する。考えることや覚えることは案外エネルギーを消費する。 ハチミツ、チョコレート、コーヒーを適量摂取することをお薦めする。また、タンパク質やカルシウムも大切だ。 子どもの頃を思い出して規則正しい生活を心掛けよ。 睡眠時間と睡眠の質は頭の働きにかかわる。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/27(日) 00:12:28.45 変数名に型情報を含めれば、変数の命名が楽になり、変数名を見るだけで型がわかる。 (int型なら変数名の頭にiを付けるなど) このような規則をハンガリアン記法という。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/27(日) 00:21:07.31 //乱数を生成する準備。 Random cRandom = new System.Random(); //1〜3の乱数を生成する。 int iResult1 = cRandom.Next(3) + 1; : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/27(日) 00:30:07.31 if (iPlayerTe == 1) { if (iComputerTe == 1) { //あいこ ... } if (iComputerTe == 2) { //あなたの勝ち ... } if (iComputerTe == 3) { //あなたの負け ... } } : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/27(日) 01:20:00.02 BMI計算のプロジェクトをConsoleBmiKeisanという名前で保存してくれ。 じゃんけんゲームのプロジェクト名はConsoleJankenGameでいいだろう。 簡単なテスト用にConsoleTestというプロジェクトも作っておけ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/27(日) 01:55:27.63 拡張子が.slnのファイルがソリューションで、拡張子が.csのファイルがC#のソースファイルだ。 中身はテキストファイルだから、どちらもテキストエディタで開けるはずだ。 保存されたソリューション(プロジェクト)をVSで開きたいときは.slnファイルをダブルクリックする。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/27(日) 03:18:58.62 変数を使うときは型名を指定しないとダメと言ったが、あれはウソだ。 型が明らかなときは型名の代わりにvarと書くことができる。 var eSincho = System.Single.Parse(str); : takasi [sage] 2015/12/27(日) 06:07:10.58 すみませんサボってました! なんか長ったらしくもっと簡単にできそうなのでまた書き直します・・・ ttps://i.gyazo.com/8a48cd85b871a38532a1cb453f9d6d71.png ttps://i.gyazo.com/aa82bd6ae0022fad2bd2bda153f6a543.png ttps://i.gyazo.com/0807c570af4dd328f430f5c9ecb7514e.png 今まで作ったプログラムは消して上書きしてしまいました ジャンケン2で新しくプロジェクト作って命名します! あまりレス読めてませんが起きたら読みます! : takasi [sage] 2015/12/27(日) 06:11:44.29 プロジェクト名が変わらない・・・明日考えよう : takasi [sage] 2015/12/27(日) 06:15:35.08 ああああああああああああああああああああああああ 前回作ったプログラムを見ながら新たに書き直したいのにウィンドウ増えない・・・明日考えよう : takasi [sage] 2015/12/27(日) 06:24:57.71 あ、これループ前に変数に乱数を代入してるので相手がどの手をだすか2回め以降わかっちゃいますね : takasi [sage] 2015/12/27(日) 06:27:55.59 あ〜〜〜〜〜〜寝る!! : takasi [sage] 2015/12/27(日) 20:28:06.17 おはようございます 続きをやります : takasi [sage] 2015/12/27(日) 20:42:59.45 なるほど頭に型の名前付ければ分かりやすいですね cRamdomのcってなんでしょう rRamdomとはならないのでしょうか じゃんけんゲームで詰まったところはあいこになった際の繰り返しです ifを使うことを指定されていたので悩みましたがifじゃ無理なきがする・・・と思いグーグルで検索してWhileを使ってみました : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/27(日) 20:43:36.36 他のソリューションにある.csファイルもVSで開けるはずだ。Mainの内部をコピペしろ。 : takasi [sage] 2015/12/27(日) 20:48:49.73 先生おはようございます 最初に作ったプロジェクト「MyFirstConsoleApp」ですべてのプログラムを書いていたのですが、色々いじってslnファイルの名前をConsoleJankenにしたのですが、フォルダ名はMyFirst~のママです。 これは直接フォルダ名を手打ちで変更してもいいものでしょうか?他のファイルに影響出ませんか? : takasi [sage] 2015/12/27(日) 20:51:57.20 あとで短く書き直すと言ったのですが、正直言います。面倒くさい!なので で言っていた部分を直しcpuHand = rnd.Next(1, 4); をwhileの中に移動しました : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/27(日) 21:01:45.50 .slnや.csprojの中にもソリューション名やプロジェクト名の情報が入ってるから、 ファイル名を変えただけだと、不具合になるかもしれない。 面倒でもプロジェクトを一から作ることから始めるのがいいと思う。 汚い方法ならフォルダーまるごとコピーってのもあるけどプロジェクト名がかぶることになる。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/27(日) 21:09:14.52 ソリューションのフォルダーの中に「bin」というフォルダがある。 その中に「Debug」フォルダがある。 中を見ると拡張子が「.exe」のファイルがあるはずだ。 実行可能ファイル、通称「エグゼファイル」。 このファイルは、コマンドプロンプトからコマンドと同じように実行できる。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/27(日) 21:17:50.74 もちろん、プログラムが使用するバージョンの.NET Frameworkがインストールされていないと、 プログラムが開始しないでエラーになる。ユーザーにframeworkをインストールするように説明しないといけない。 : takasi [sage] 2015/12/27(日) 21:17:50.98 面倒なので新しく作りプログラム内容をコピペしました 他のファイル、フォルダはすべて削除しました exeファイルでコマンドプロンプトからプログラムを実行デキルことを確認しました! : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/27(日) 21:24:43.71 コマンドプロンプトは、昔のMS-DOSを引き継いでいる。 基本的な使い方と見た目はMS-DOSとあまり変わっていない。 キーボードで文字ベースの画面に文字列を入力して操作する操作系をCUIとかコンソールなどという。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/27(日) 21:28:31.26 BMI計算プログラムの計算結果を小数点以下第二位で四捨五入させて表示させよ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/27(日) 21:35:10.42 クラス(class)のcだ。 クラスとはデータと、そのデータに対する処理を行う関数をまとめたものを扱うための型だ。 クラスの中の関数をメソッドという。 ソースをよく見るとclassが見つかるだろう? : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/27(日) 21:49:06.20 失礼、staticのついた関数はインスタンスとは無関係でメソッドではない。 class Programの中にMainというstaticな関数がある。 Mainの引数はコマンドラインで渡された文字列の配列である。 コマンドラインは空白区切りである。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/27(日) 21:54:52.60 staticな関数を作ってみよう。 class Programの中に 「static int add(int x, int y) { int z = x + y; return z; }」 と書きましょう。これは足し算する関数addです。returnは値を返します。 Mainでこのadd関数を呼び出すことができます。試してみよう。 : takasi [sage] 2015/12/27(日) 22:06:25.15 できました static void Main(string[] args) { //BMI= 体重kg ÷ (身長m)^2 double dBmi; double dWeight; double dHeight; Console.WriteLine("BMI計算プログラム"); Console.WriteLine("体重を入力して下さい(kg)"); //入力された文字列をfloat型に変換 dWeight = double.Parse(Console.ReadLine()); Console.WriteLine("身長を入力して下さい(m)"); dHeight = double.Parse(Console.ReadLine()); dBmi = dWeight / Math.Pow(dHeight, 2); dBmi = Math.Round(dBmi, 2); Console.WriteLine("あなたのBMIは" + dBmi); Console.ReadLine(); } : takasi [sage] 2015/12/27(日) 22:08:39.46 躓いたところは、変数に入れる値が低いのでfloat型にしようとしたのですが、Math.PowがDouble型の変数にしか対応していなかったのでやむなくDouble型にしました : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/27(日) 22:10:02.35 メソッドを作ってみよう。class Programの中に 「int m_i = 0; int f(int x){return m_i + x;} 」 とかいて、Main関数の中に 「var cMain = new Program(); cMain.m_i = 3; Console.WriteLine(cMain.f(2).ToString());」 と書いて実行してみよう。予想通りに動いたかな? fはメソッドです。cMainはProgram型のインスタンスです。 : takasi [sage] 2015/12/27(日) 22:17:22.07 こんな感じで大丈夫でしょうか class Program { static void Main(string[] args) { Console.WriteLine(add(100, 200)); Console.ReadLine(); } static int add(int x,int y) { int z = x + y; return z; } } : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/27(日) 22:20:17.08 インスタンスは型を指定したnewによって作成され、メモリーにインスタンスのデータが格納されます。 インスタンスはメモリー上に複数存在することができます。 : 仕様書無しさん [sage] 2015/12/27(日) 22:21:27.01 ok : takasi [sage] 2015/12/27(日) 22:23:58.07 スタティックとかインスタンスとかよく分かってませんができました! class Program { int m_i = 0; int f(int x) { return m_i + x; } static void Main(string[] args) { var cMain = new Program(); cMain.m_i = 3; Console.WriteLine(cMain.f(2).ToString()); Console.ReadLine(); } } : takasi [sage] 2015/12/27(日) 22:26:19.76 var cMainはインスタンスが入った変数ってことでしょうか : takasi [sage] 2015/12/27(日) 22:27:34.54 メモリーが何なのかどこに存在するのかどのくらいの容量なのかわかりませんがそこはまだ追求しなくてもいいレベルですかね!頭がツアkれます! : takasi [sage] 2015/12/27(日) 22:28:33.42 単語の意味は分かっていませんが、なぜこういう動作をするのかは一応分かりました : 仕様書無しさん [sage] 2015/12/27(日) 22:33:06.12 はい : takasi [sage] 2015/12/27(日) 22:35:14.68 あと型varについてですが、型が明らかな時varを使うと仰っておりましたが、どこで明らかになっているかわかりません! 代入する値で判断しているのでしょうか? 例えば、 var i = 10 ←これは整数値だからint型だ!とコンピュータが判断 と、なればもう全てvarでもコンピュータの判断に任せることができるのではないでしょうか! 文章ヘッタクソなのでおかしなこと言っていたらごめんなさい! : takasi [sage] 2015/12/27(日) 22:36:45.84 ありがとうございます先生! クラスをNEWすると分身(インスタンス)ができるんですね : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/27(日) 22:40:46.21 代入以外にもvarで型が決まるのはいろいろあるが、 代入の場合は右辺の型で決まる。 規則に従って型を推論する。 型推論というらしい。 : takasi [sage] 2015/12/27(日) 22:44:06.96 なるほど、推論ということは作り手の思ったものと違う型が作られてしまう場合もあるので”明らか”な時に使うのですね! でも僕は確実にこれはこの型!ってはっきりしている方がいいのでvarを使うのは何か不安ですね 考えすぎですかね?? : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/27(日) 22:45:43.98 インスタンスを2個作って何かを試してみよ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/27(日) 22:53:20.60 配列を作ってみよう。 「 int[] array = {12,34,56}; foreach(var item in array) { Console.WriteLine(item); }」 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/27(日) 22:59:21.03 コマンドライン引数を表示してみよう。 「for(int i=0;i<args.Length;++i){ Console.WriteLine(i + ": " + args[i]); } 」 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/27(日) 23:03:01.89 お休み。 : takasi [sage] 2015/12/27(日) 23:05:18.39 できました ttps://i.gyazo.com/4c11c7ec9b17bf0aba853fa6d0b5ee94.png : takasi [sage] 2015/12/27(日) 23:12:52.67 できました ttp://https://i.gyazo.com/886075721a18e99db212f49242ea5653.png "> ttps://i.gyazo.com/886075721a18e99db212f49242ea5653.png ttps://i.gyazo.com/e726234b42bdede43ff02d7d50046559.png おやすみなさい : takasi [sage] 2015/12/27(日) 23:15:22.84 今日は余り進まなかった 単純なこと考えるだけなのに勝手にあたまがこんがらがるうううううううううう : 仕様書無しさん [sage] 2015/12/27(日) 23:42:02.64 修飾子がstaticのものはメソッドではないだとwww : takasi [sage] 2015/12/28(月) 00:35:39.58 先生こんばんは staticとは何なのかお教え下さい : takasi [sage] 2015/12/28(月) 01:02:08.57 他に先生はいらっしゃいませんか!夕方8時に起きたので寝れないのです! 言語は問いません、なんでもやります僕はたまごっちです! : takasi [sage] 2015/12/28(月) 01:06:38.66 言語は問わないと言いましたが、環境を用意するのが楽な言語が好ましいです・・・ Web開発とかアプリ開発に興味があります 偏差値40前後の高校を卒業後約10年ほぼニートでした 頭のできは良くありません!やる気もあまりありません! 今更自己紹介です!と、いうか違う言語を平行して勉強しないほうがいいですね!黙っときます! : 仕様書無しさん [sage] 2015/12/28(月) 01:07:50.41 違う言語を並行して学習するのは全然悪くないよ。 : takasi [sage] 2015/12/28(月) 01:11:52.03 そうなんですか先生 たしかにこのスレを立てる前にスプリクト言語?のUWSCというのをちょろっといじってましたがC#と似てる部分がありましたね 他の言語も似てるのでしょうかね?今ある言語はC言語の兄弟みたいなことを聞いたことあるのでたぶん似ているのでしょうね・・・ まあ僕に平行して勉強するような器用なことができるかはわかりませんが。。。 何か僕にやらせたい言語有りますか?すっごい他人任せですが : 仕様書無しさん [sage] 2015/12/28(月) 05:58:51.88 paizaに登録してスキルテストでまずはDランク問題全てクリアしなさい。C#も使えるよ : takasi [sage] 2015/12/28(月) 17:18:48.12 おはようございます paiza登録しました今から殺ります : takasi [sage] 2015/12/28(月) 19:22:26.76 yesかnoを7回入力し、何回noを入力したかを出力するプログラムを書いているのですが class Program { static void Main(string[] args) { int yukyu = 0; for(int i = 1; i > 7 + 1; ++i) { String d_i = System.Console.ReadLine(); System.Console.WriteLine(d_i); if(d_i == "no") { ++yukyu; } } System.Console.WriteLine(yukyu); } } これでうまく動作しませんでした エラーにもならないのですが、どこか問題あるのでしょうか。。。 : takasi [sage] 2015/12/28(月) 19:24:52.27 ReadLineが作動しないのです forの外にあるReadLineは動作するのですが、for内のReadLineは動かないのでしょうか : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/28(月) 21:13:06.72 i > 7 + 1 : takasi [sage] 2015/12/28(月) 21:31:23.64 アッ・・・ : 仕様書無しさん [sage] 2015/12/28(月) 23:27:17.27 こうなってるのか? (i>7)+1 : takasi [sage] 2015/12/29(火) 00:19:33.58 正 i < 7 + 1 誤 i > 7 + 1 でした : takasi [sage] 2015/12/29(火) 02:21:53.24 今日はサボってしまいました申し訳ございません : takasi [sage] 2015/12/29(火) 21:46:23.67 おはようございます さっさとpaizaの課題を終わらせます : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/29(火) 21:55:38.35 Main関数のargsは、実行時に渡されるコマンド引数を表す。 コマンドプロンプトでスペース区切りで渡すことができる。 プロジェクトのプロパティでもデバッグ時のコマンド引数を指定できるぞ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/29(火) 21:58:30.19 コマンド引数によって処理を変えることはコンソール(CUI)ではよくある。 指定したファイルを開いて処理したい場合などに便利だ。 : takasi [sage] 2015/12/29(火) 23:17:51.73 あたりで勉強したコマンドですね、覚えておきます paizaの問題D002で1時間以上掛かってしまいました 適性が無いと感じ泣きそうになります : takasi [sage] 2015/12/30(水) 01:49:38.62 8/32まで終わりました 残りも頑張ります 先生方に質問です。VSで引数"()"の"("を入力するとインテリセンス機能?で")"が入力されますが 文字入力位置は"("と")"の間に有り、引数が要らないReadLine()などですと 末尾に移動するのにアローキーの→を押すか、Endキーを押さなくてはならなくて指の移動が辛いです! 先生方はどのように移動させていますか?我慢して→かEndを押さねばならないのでしょうか? 冬で手がかじかみ誤打を頻発させています・・・ : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/30(水) 07:48:28.06 そのまま)を入力する。 手がかじかむなら暖房を掛ければ? : takasi [sage] 2015/12/30(水) 20:56:53.90 おはようございます それは)を入力して自動入力された)を削除でしょうか? もしくは()の自動入力をOFFにしているので)をそのまま入力ということでしょうか? 後者であればその()の自動入力をOFFにする方法を教えていただきたいです! 他の自動入力機能は便利なので()だけOFFにするっていうのはできませんかね? : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/12/30(水) 21:18:50.47 「ツール」→「オプション」から自分で探せ : 仕様書無しさん [sage] 2015/12/31(木) 20:56:03.54 応援してるよ!がんばって : takasi [sage] 2015/12/31(木) 21:36:11.04 ありがとうございます ありがとうございます ありがとうございます ありがとうございます 良いお年を : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/01(金) 00:16:42.73 明けましてすみません。 : takasi [sage] 2016/01/02(土) 05:35:53.62 明けましておめでとうございます。今年もよろしくお願い致します。 課題の続きをします このところ課題しかやってる気がしないのですがこれでいいのでしょうか たぶんいいのでしょうねまずはコード書くことに慣れること 果てしてシンプルなメモ帳と自動シャットダウンタイマーを作れるところまで成長するのでしょうか、続くのでしょうか・・・ スマホアプリなんかも作ってみたいと思うようになってきましたそんな2016年 : takasi [sage] 2016/01/02(土) 08:52:04.12 配列のインデックス番号は0から始まりますよね 例えば配列に5つの要素を入れたい場合は0から始まるので、 要素1.[0] 2.[1] 3.[2] 4.[3] 5.[4] new int[4]となるはずですが int[] s = new int[4]; for (int i = 0; i < 5; ++i) { s[i] = int.Parse(Console.ReadLine()); } としたところエラーがでました しかし、宣言でint[5]にしたところエラーにならず、要素も5つ入れることができました int[5]だと要素が6つ入るのでは????????? ????????状態です : takasi [sage] 2016/01/02(土) 08:55:46.04 ああ、馬鹿だあああああああ そりゃループ回数が5回だから要素が6つも入るわけ無いですよね と、いうことは↑s[5]は何も要素が入ってないことになりますよね わざわざ空の要素を用意しないといけないのでしょうかああわからない : takasi [sage] 2016/01/02(土) 08:58:50.57 MSのガイドを見たら int[] array = new int[5]; は array[0]~[4]の要素しかないんですね 間違って覚えてた!!!!!!!!!!!!! : takasi [sage] 2016/01/02(土) 08:59:17.84 ややこしい!!!!コンニャロう!! : 片山博文MZ ◆T6xkBnTXz7B0 [] 2016/01/02(土) 14:10:34.05 int NUM = 5; int[NUM] a; for (int i = 0; i < NUM; ++i) { a[i] = i; } : 仕様書無しさん [sage] 2016/01/02(土) 15:19:44.76 ニートには100%無意味だから無駄な時間を使うべきではない。 : 仕様書無しさん [sage] 2016/01/02(土) 16:50:25.39 バッチファイル厨嫌いじゃない : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/02(土) 17:25:39.25 次はファイル入出力だ。 九九の表をテキストファイルに出力してみよ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/02(土) 17:30:02.02 ファイルを入出力する前にオープン(開く)という操作が必要だ。 入出力が終わったらクローズ(閉じる)しないといけない。 : 仕様書無しさん [sage] 2016/01/02(土) 20:18:53.09 あけおめ なにこれ、マジスレ? : 仕様書無しさん [sage] 2016/01/02(土) 20:33:29.78 マジスレだよ。たかしは本気だ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/02(土) 20:40:42.77 コマンドプロンプトで「notepad」と入力するとメモ帳が起動する。 メモ帳のファイル名が「notepad.exe」で、システムに登録されているからだ。 「notepad "(パスファイル名)"」を入力すればメモ帳でファイルが開かれる。試して見なさい。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/02(土) 20:59:53.53 コマンドを探しだす方法は、「サーチパス」、すなわちPATHという環境変数によって指定する。 詳しくは「Windows サーチパス」で検索。 環境変数にはシステムの環境変数と、プロセスの環境変数の二種類ある。 プロセスはプログラムのインスタンスである。 また、Windowsはサーチパス以外にもAppPathというレジストリーからの情報も使ってコマンドを検索することがある。 AppPathに登録していれば、Win+Rからコマンドを起動できる。 : takasi [sage] 2016/01/02(土) 21:39:22.76 おはようござざいます ファイルの入出力やってみます このスレはマジですけどやる気はマジではないかもしれません : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/02(土) 22:13:13.55 「C:\Program Files」はプログラムと、変更しないデータを格納するためのシステムフォルダである。 このフォルダにプログラムを格納したい場合、「インストーラ」を使う。 このフォルダは管理者権限なく、勝手に変更してはならない。 よってこのフォルダに設定ファイルを書き込んではいけない。 設定を書き込みたい場合は、AppDataかレジストリを使う。 : takasi [sage] 2016/01/02(土) 22:16:00.36 九九の表できた・・・! class Program { static void Main(string[] args) { int num; for(int i = 1; i < 10; ++i) { num = i; for(int n = 1; n < 10; ++n) { if (n == 9) Console.WriteLine(num * n); else if (n == 1) Console.Write(i + "の段 " + num * n + " "); else Console.Write(num * n + " "); } }Console.ReadLine(); } } 嬉しいので報告だけしました : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/02(土) 22:18:44.87 バイナリファイルの読み書きができたら、Windows Forms (WinForms) に進んでもいいぞ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/02(土) 22:22:42.12 それをテキストファイルに書き込めばいい。 ttp://ufcpp.net/study/csharp/lib_file.html : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/02(土) 22:33:33.05 数値の出力において桁をそろえたい場合はString.Formatメソッドを使う。 Stringクラスはよく使うので、ひまなときはStringのメソッドを眺めておきなさい。 : takasi [sage] 2016/01/02(土) 23:07:56.26 できました!これでよかでしょうか ttps://i.gyazo.com/dc888ad7d26be90b98ab70f4c5700482.png : takasi [sage] 2016/01/02(土) 23:10:45.17 質問です。今C#を勉強していますが、このままC#を勉強すればCは勉強しなくても良いでしょうか : takasi [sage] 2016/01/02(土) 23:14:46.30 と、いいますかC#の基本を理解すれば他の言語への学習もすんなり活きますか? : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/02(土) 23:24:22.88 水平位置がそろっていないように見える。 九九の表ではそろえないといけない。 数値をそろえるためのstatic関数を作ってみろ。 String.Formatが使えるはず。 OSを作りたいならCは必須だが、C#の後でいい。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/02(土) 23:35:49.30 お休みなさい : takasi [sage] 2016/01/02(土) 23:37:53.66 ↑のすでに記述されたコードはいじらずに関数の追加だけでyそうか? : takasi [sage] 2016/01/02(土) 23:39:18.32 おやすみなさい!! : takasi [sage] 2016/01/03(日) 03:39:37.95 先生!やっと終わりました! ttp://https://i.gyazo.com/41c13dc803015cb945175b67089c10d3.png "> ttps://i.gyazo.com/41c13dc803015cb945175b67089c10d3.png : 仕様書無しさん [sage] 2016/01/03(日) 10:57:18.83 なかなか飲み込み早いな! : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/03(日) 13:51:52.10 九九の表の「データの流れ」(data flow)について考えよう。 九九のそれぞれの数はintであった。それが単一行Stringになり、WriteLineに渡される。 実は、改行文字は"\n"で表せる。これをWriteに渡せば勝手に改行してくれる。 改行文字を使うと、九九の表は複数行文字列で表せる。 データの流れは次のようにできる。 int→単一行文字列→複数行文字列⇒Write : takasi [sage] 2016/01/03(日) 15:01:40.20 おはようございます続きやります : 仕様書無しさん [sage] 2016/01/03(日) 15:07:11.52 プログラムは役に立たせるためにあるの。 ニートは人が困ってるのを理解できてないからやれることなの。 人が困っているのを理解できない奴は役に立つプログラムは組めないの。 よって無駄。 : takasi [sage] 2016/01/03(日) 15:19:40.58 static関数を作って水平位置を揃える方法が分からなかったので すでに記述されたコードをいじれば簡単にできそうだったのでやりました! ttps://i.gyazo.com/e5b8f5933aeab6d63ce186064a51c487.png それはプログラムだけではなく全ての事に言えますね! なら僕は自分がやりたいことだけやります!! : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/03(日) 15:27:53.06 今度は、そのテキストファイルをいっぺんに読み込んで画面に出力してみろ。 : takasi [sage] 2016/01/03(日) 15:53:05.90 できました ttps://i.gyazo.com/2bc9319292001ca6ea87abefd2ac14ba.png 質問です。結果を確認するためにはReadLineで画面に出力して確認するしか無いのでしょうか? : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/03(日) 16:07:45.16 デバッグ機能にステップ実行がある。少しずつ実行しながら、下の「自動変数」などの画面で変数の内容を確認できる。 また、右下の画面で呼び出し履歴が見られるし、指定したブレークポイントでデバッグ実行を止めることができる。 ただし、プログラムがDebug versionじゃないといくつかの機能は使えないかもしれない。 : takasi [sage] 2016/01/03(日) 16:11:30.02 ReadLineで画面出力の方が手っ取り早いから使っているんですねわかりましたありがとうございます : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/03(日) 16:12:37.06 Release versionはデバッグ情報がない分、プログラムサイズが小さく、実行が速くなる。 だから、一般にプログラムを配布する場合はReleaseを使う。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/03(日) 16:15:27.34 ReadLineは入力だぞ。出力ではない。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/03(日) 16:19:06.40 次はバイナリファイルの読み書きだ。 int[] aに適当なデータを入れてその内容をバイナリファイルに書き込め。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/03(日) 17:22:59.63 改行コードを含むテキスト文字列を一気に読み込む場合はFile.ReadAllTextを使う。 逆に一気に書き込みたい場合はFile.WriteAllTextを使う。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/03(日) 17:39:21.25 ReadAllTextやWriteAllTextにはオープンが必要ない。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/03(日) 18:21:12.82 バイナリ形式ファイルは、16進数の00〜FFを1バイトとして、n個のバイトが並んだものと考えることができる。 このバイト数がファイルサイズである。ただし、どんなファイルでもバイナリとして読み込める。 通常、慣習としてテキストファイルではないものをバイナリファイルという。 : 仕様書無しさん [sage] 2016/01/03(日) 18:43:28.81 今Fラン文系大卒職歴30歳営業なんですが 昔からプログラマーに憧れていまして 今から未経験でプログラマー関連の仕事に就きたい思っています ですが35歳定年説なんてのも聞きますし 流石にこの歳からプログラマーは厳しいでしょうか? : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/03(日) 18:58:52.60 未経験はベクターとかストアなどで職歴を作れ。 中途は実力と職歴があれば就職できる。 : 仕様書無しさん [sage] 2016/01/03(日) 19:24:30.27 ありがとうございます 30歳からでもプログラマーを目指す事は可能なんですね ただ未経験なので、知識や実力がないので、まずは仕事しながら勉強をして その後、職業訓練校のC言語やマイコンなど勉強するコースに入りプログラマー系の仕事につけるようにガンバリマス : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/03(日) 19:54:27.31 少し補足しておくと、日本企業は体裁を重んじるから注意が必要だ。 学歴はもちろん、体臭・口臭がひどかったり、受け答えが障害者っぽかったり、 マナーやエチケットを守らなかったりすると、落とされる可能性が高くなる。 就職活動にもマナーというものがあり、事前に本などを読んで把握しておかないといけない。 履歴書が手書きじゃないと受け付けない企業さえある。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/03(日) 20:21:02.27 ニートになってしまったなら、これまでの親の教育を全部疑わないといけない。 何かが世間体と違うのではないか? なぜいつも軍隊っぽいのかとか。 キャッチボールもサッカーもしたことがないのはなぜなんだ、とか。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/03(日) 20:28:55.64 お前は旧日本軍なのか? : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/03(日) 20:47:07.01 洗顔料やインターネットの存在も知らないような毒親の教育を受けたら最悪だぞ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/03(日) 20:48:59.42 で、毎晩酒を飲んで悪酔いして、からんでくるんだぞ : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/03(日) 21:13:43.37 やつらは体裁やら面子などを重んじて、子どもの生活など、1つも考えてはいない。 そんな奴等は地獄を見て滅んでしまえばいい。 : takasi [sage] 2016/01/03(日) 22:11:00.40 おはようございます 今から始めます : takasi [sage] 2016/01/03(日) 22:39:41.36 できました ttps://i.gyazo.com/488e837c6c5091f3d0f53b89e399dbb3.png バイナリファイルとはテキストファイル以外を言うんですね、初めて知りました。 質問です。Streamクラス?を使うには一番上にあるusing System.IOを追加しないと使えませんでした はじめから記述されていないのはファイルサイズやプログラムの実行速度に影響があるからでしょうか? と、すると綺麗なコードを書くにはすでに記述されているLinqやTextも消したほうが良いですか? : takasi [sage] 2016/01/03(日) 22:44:10.99 なんかあまり理解できていません インスタンス?の作成のusing使う時と使わない時の違いとか usingだと短く書けるからでしょうか というか基本を全然理解できていない感 本とか読んだほうがいいですかねえ : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/03(日) 23:19:47.41 バイナリ形式のnバイトの整数データを書き込むときに、上位バイトと下位バイトのどちらを 先に書き込むのかは、システムによって異なる。 C#では下位バイトを先に書き込む。このようなデータ形式をリトルエンディアンという。 バイナリデータの読み書きにおいてはデータサイズを常に意識しないといけない。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/03(日) 23:25:19.57 usingは記述を少なくして楽をするために使う。 重複した長いコードを何度も記述すると、コードを読むのも書くのも疲れるだろう。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/03(日) 23:41:47.25 お休み。次はお待ちかねのWinFormsをやるぞ。 : takasi [sage] 2016/01/03(日) 23:52:49.05 下位バイトとか上位バイトとかその他にも専門的な用語が散見されてこれはもう本買って読んだほうが良いかもしれませんね ついて行けてない感 ありがとうございましたおやすみなさい : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/03(日) 23:55:14.54 .exeファイルもテキストファイルではないからバイナリである。 .csファイルはテキストファイルだから、バイナリファイルではない。 バイナリファイルをテキストエディタで開くと文字化けすることがある。 : takasi [sage] 2016/01/03(日) 23:57:05.92 文字もバイナリデータの集まりでは無いのでしょうか? : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/04(月) 00:19:47.33 人間は動物だが、人間のことを動物呼ばわりすると失礼だろ。慣例だよ、慣例。 : takasi [sage] 2016/01/04(月) 00:33:15.96 そういうものなのですね こういう性格なので飲み込みが遅いです・・・ : takasi [sage] 2016/01/04(月) 00:35:52.82 WinFormsはGUIを持ったプログラムなんですね! アプリ制作に一歩近づきますね : 仕様書無しさん [sage] 2016/01/04(月) 04:58:07.33 どんなアプリ作りたいの? : takasi [sage] 2016/01/04(月) 17:26:48.96 目下の目標はwindowsアプリの自動シャットダウンタイマーと最前面表示できるテキストエディタですね : takasi [sage] 2016/01/04(月) 17:29:23.69 おはようございます : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/04(月) 17:41:18.88 Windowsフォームアプリを作るよ。ファイルメニューからプロジェクトを新規作成。 Visual C#のWindowsフォームアプリケーションを選択してOK。 フォームのデザインが表示される。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/04(月) 17:46:27.36 1つ注意点がある。デザインのために自動生成されるコードには直接触らない。 編集する前にコメントを読んで自動生成コードじゃないか確認。 下手に編集するとデザインが変更できなくなる。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/04(月) 17:53:48.61 Form1のデザインでフォームを右クリックしてプロパティを選べ。 フォームのプロパティが表示される。 Textプロパティを「こんにちはWinForms」に変更してEnterキー。 TopMostというプロパティを探し出してTrueにしろ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/04(月) 17:57:14.76 デザインが変わったのを確認してデバッグ開始。これでWinFormsアプリができた。 次にVS画面の右側に縦書きで「ツールボックス」という項目があるだろう。クリックしてみよ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/04(月) 18:02:08.20 すべてのWindowsフォームをクリックして展開。ボタンを追加するぞ。 Buttonをクリック。デザインフォーム上をドラッグ。これでボタンができた。 ボタンを右クリックしてプロパティ。Textに「終了」と入力してEnter。 さらにボタンをダブルクリック。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/04(月) 18:06:23.24 button1_ClickメソッドがForm1クラスに追加される。 そこで「this.Close();」と入力する。デバッグ実行せよ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/04(月) 18:15:36.71 課題。デザインフォームにいくつかLabelとTextBoxを追加して BMIを計算するアプリを作れ。 ヒント:Textプロパティに文字列をセット : takasi [sage] 2016/01/04(月) 18:20:20.49 おはおうございます 今から始めます : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/04(月) 18:39:03.30 つまずいたら質問したまえ : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/04(月) 18:55:12.12 どうした? : takasi [sage] 2016/01/04(月) 19:15:10.35 できました! ttps://i.gyazo.com/e13d55b77a9005e84156751faeb1aa83.png すべてのWindowsフォームが見つからずつまづきました テキストボックスやラベルの縦のサイズは変更できないんですかね? : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/04(月) 19:20:13.65 複数行(multiline)にするプロパティがあるはずだ。 TopMostプロパティはフォームを最前面に保つ働きをする。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/04(月) 19:24:49.22 Form1はクラスだから、1プロセスに複数のインスタンスを作ることができる。 ソースコード全体がどうなってるか把握しなさい。 : takasi [sage] 2016/01/04(月) 19:32:25.17 マルチライン見つけました ソースコード把握しあした : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/04(月) 19:34:57.02 「ボタンを押す」という出来事(イベント)に対してメソッドで処理を行う。 典型的なイベント駆動型プログラミングだね。 プロパティとイベントの使い方をマスターすれば、さまざまなアプリを作れるだろう。 : takasi [sage] 2016/01/04(月) 19:36:52.54 はいい! : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/04(月) 19:52:07.73 新しいアプリを作成しよう。フォームのTopMostをTrueにする。フォームのAutoSizeModeをGrowAndShrinkにする。 TextBoxを配置。TextBoxを複数行に。TextBoxのDockをFillに。デバッグ開始。 : takasi [sage] 2016/01/04(月) 20:03:22.86 できました! ttps://i.gyazo.com/5c6e00277ece5f85d540dfafee9965de.png Textに入力する文字は改行できないのでしょうか? : takasi [sage] 2016/01/04(月) 20:06:06.13 右の↓をクリックしたら入力幅が広がって改行できるようになりました : takasi [sage] 2016/01/04(月) 20:08:19.79 メモ:プロパティのTextの右側の↓クリック ttps://i.gyazo.com/edfc66c55f84d20ab93181c0f392156a.png : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/04(月) 20:08:20.64 AcceptsReturnプロパティ。昔はEnterキーのことをReturnキーと言っていた。 このフォームにメニューを付ければテキストエディタに見えるだろう。 : takasi [sage] 2016/01/04(月) 20:13:32.06 もしかしてwin純正のメモ帳もTextBoxを画面いっぱいに表示して作られてるんですか? C#で作られてるかはワカリマセンが : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/04(月) 20:16:02.92 テキストボックスがフォーム全体に広がっているからフォームを右クリックできない。 こんなときは「プロパティ」ウィンドウの上側のコンボボックスで切り替える。 プロパティウィンドウのカミナリアイコンをクリックするとすべてのイベントが見れるぞ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/04(月) 20:24:12.46 メモ帳はC/C++で作られている。C/C++のテキストボックスはEDITというウィンドウクラスから 作られており、C#のそれとは多少違う。フォームのサイズが 変更されたらWM_SIZEメッセージを受け取り、テキストボックスのサイズを 合わせるといった原始的なことをやっている。 : takasi [sage] 2016/01/04(月) 20:30:27.61 C#でも純正メモ帳と全く同じようなものを作れるのでしょうか? またC/C++でシンプルなメモ帳を作る人がいたらその理由は何でしょうか? C#の方が楽に作れる気がするのですが C/C++にもwinformsみたいなのがあって楽に作れるんですかね : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/04(月) 20:33:38.76 そのサイズを合わせるのもSetWindowPosとかMoveWindowといったAPI関数呼び出しで しなきゃいけない。プロパティは使わない。 なんというか、C/C++は生産性が低く、スマートではない。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/04(月) 20:36:55.39 C#は.NETという枠組みで動くが、C/C++はそれより外側の、OSに近い低レベルなところで動く。 .NETがなかった頃はVBやC/C++などしかなかった。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/04(月) 20:42:57.76 実行環境に.NETがないと動かない。これが最大のデメリット。 : takasi [sage] 2016/01/04(月) 20:44:09.57 わかったようなわからないような C/C++は細かいところをいじれる と、いうか細かくしかいじれない感じですね : takasi [sage] 2016/01/04(月) 20:46:04.98 .NET FREAMWORKSでしたっけ?あれがなきゃC#を動かせないんですか ふむふむ WINマシンでしか動かせないんでしょうか? : takasi [sage] 2016/01/04(月) 20:46:48.59 汎用的に動かせるのがC/C++という認識で良いでしょうか : takasi [sage] 2016/01/04(月) 20:51:18.05 お風呂へ入ってきます : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/04(月) 21:28:34.66 C++は基本的に自由だからフレームワークがいくつもある。 GTK+、Qt、Tcl/Tk etc. しかしどれも決定的なものはなく、 インテリセンスが満足に動かない開発環境がほとんどだ。 迷路に迷うのも自由。避難指定地域へ行くのも自由。こめかみを撃ち抜くのも自由。 技術者の迷い道しかない。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/04(月) 21:40:53.25 LinuxにはMonoというフレームワークがあり、これが.NET Framework互換になっている。 だからC#で作ったゲームをLinuxで動かすということもある程度できる。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/04(月) 21:44:47.77 このようなゲーム作りに興味があるなら、「Unity C#」を検索したまえ。 Unityは今、もっとも熱いゲームエンジンだ。 : 仕様書無しさん [sage] 2016/01/04(月) 22:09:53.21 おまえら、おれは吊り、自演じゃないと信じて応援すっけど、スカイプとかメールでやりとりしたほうが早くねえか?w : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/04(月) 23:01:30.52 おやすみ : takasi [sage] 2016/01/05(火) 00:48:16.91 なるほど、とりあえず今は何も考えずにC#やりますね おやすみなさい 釣りとか自演の類に見えますかね?? いやあ色んな人から教わりたいですし、こういうところで経過報告した方が続くかなと思いまして 別に片山さんとマンツーマンでやってるわけでもなくさんから出された課題もこなしてるので 僕に教えたいことがあればなんでも言って下さい 僕はなので : takasi [sage] 2016/01/05(火) 11:47:55.24 おはようございます 何やればいいかわからないのでpaizaCランク全部やります : takasi [sage] 2016/01/05(火) 12:02:05.14 難易度がぐっとあがった・・・ 本借りてきます : 仕様書無しさん [sage] 2016/01/05(火) 12:48:08.14 Cランカーなめんなw : takasi [sage] 2016/01/05(火) 13:05:06.06 1週間の勉強じゃ足りないでしょうか? 何やればいいですかねえ、自分で課題探すのすごく苦手です : takasi [sage] 2016/01/05(火) 13:06:35.55 模範解答を見てみたんですが、見たことのない関数が使われていたので 全ての関数が列挙された本とか買えばいいですかね : 仕様書無しさん [sage] 2016/01/05(火) 14:05:15.20 逆引き系ならポケットリファレンスかな?基礎学びたいなら独習C#。 この辺は片山先生の意見を待ってみたらいいかもしれない。 : takasi [sage] 2016/01/05(火) 14:14:02.02 とりあえず検索で出てきた勉強サイトで基礎を復習しつつ演習解きまくってみます : takasi [sage] 2016/01/05(火) 15:16:07.30 ポケットリファレンスですか、本屋でどんなものか見てきあmスね : takasi [sage] 2016/01/05(火) 15:20:23.33 本にしろサイトでの勉強にしろ結局は自分でどこまでやるか目標決めなくてはならないので 今の授業スタイルはこれをやれ、と指定された明確な目標があるからやりやすいですね 自分で勉強できない人間は独学というのは難しい・・ : takasi [sage] 2016/01/06(水) 20:53:45.88 おはようございます!!!!!!!センセーーーーーーーーー!!!!!!! : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/06(水) 21:03:10.86 今日はメニューとダイアログをやろう。 ツールボックスのMenuStripをダブルクリックしてフォームに追加。 デザインフォームのメニューを右クリックして標準項目を追加。 ファイルメニューの終了をダブルクリックして終了コードを書き込む。 ツールメニューに「テスト(&T)」を追加。それをダブルクリック。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/06(水) 21:05:51.24 MessageBox.Show("テストです", "テスト", MessageBoxButtons.OKCancel); というコードを追加。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/06(水) 21:10:04.76 ユーザーはコンピュータと対話するためにダイアログボックスというものを使う。 メッセージボックスは、ボタンを押すだけのシンプルなダイアログだ。 コモンダイアログは、「ファイルを開く」「印刷」などのよく使う共通のダイアログである。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/06(水) 21:16:57.15 ダイアログは「OK」「キャンセル」などのボタンが押されるか、Escキーが押されるまで コントロール項目へのデータ入力を待つ。「OK」が押されるとダイアログ上の コントロール項目のデータを読み込んでアプリに反映させて、ダイアログが閉じられる。 「キャンセル」やEscキーだとダイアログが閉じられるだけだ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/06(水) 21:25:02.30 メニューはコマンドを選択するだけでなく、コマンドに関する現在の 状態や、ショートカットを表示したりできる。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/06(水) 21:29:03.68 デザインを間違ったときは、Ctrl+Zで1つ元に戻すことができる。 Ctrl+Yはその逆で1つ進めることができる。 : takasi [sage] 2016/01/06(水) 21:48:43.25 おはようございます今から始めます : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/06(水) 22:02:40.71 独自のダイアログを作りたいなら、プロジェクトに新しいフォームを追加して まずはMaximizeBox、MinimizeBox、ShowInTaskbarをFalseにする。 ttp://www.atmarkit.co.jp/fdotnet/dotnettips/139dialog/dialog.html これを読んでテストがクリックされたら、自作のダイアログを表示するようにしなさい。 : takasi [sage] 2016/01/06(水) 22:04:53.53 >>284まで終わりました続けます : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/06(水) 22:21:45.11 フォームの追加は、プロジェクトから追加→新規項目から行う。 モーダルダイアログの表示は次のようなコードになる。 var form2 = new Form2(); form2.ShowDialog(this); : takasi [sage] 2016/01/06(水) 22:24:03.28 質問ですではフォームの最大化、最小化ボタンの無効化をコードで記述していますが これはフォームデザインのプロパティでFalseを選択してることと同じで記述する必要はありませんよね? : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/06(水) 22:26:13.47 その通り。それらのプロパティはデザイン時でも実行時でも変更できる。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/06(水) 22:37:00.92 これを参考に、「ファイルを開く」コモンダイアログを使ってみなさい。 ttp://www.atmarkit.co.jp/fdotnet/csharptips/007dialog/007dialog.html : takasi [sage] 2016/01/06(水) 22:39:03.61 できました ttp://https://i.gyazo.com/93c2d336e20c2cd87d0b537c88108f93.png "> ttps://i.gyazo.com/93c2d336e20c2cd87d0b537c88108f93.png 難しいコードが記述されてましたが : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/06(水) 23:01:15.03 コモンダイアログはパラメータがたくさんあって大変難易度が高い。 最適なパラメータを選ぶのはプロでも難しい。 : takasi [sage] 2016/01/06(水) 23:20:58.46 てっきり新しいフォームを作って、それをコモンダイアログにするかと思い躓いていました 実際はメインフォームの開くスイッチにコード記述するだけで単純でした ttps://i.gyazo.com/c245f9138c647884bb84f1c38f2af97f.png : takasi [sage] 2016/01/06(水) 23:22:34.52 お風呂入ってきます : takasi [sage] 2016/01/06(水) 23:27:52.83 ああああああああああ新しいフォームからもできますねこれ : takasi [sage] 2016/01/06(水) 23:31:58.87 ああ、やってみたらコモンダイアログと新しいフォームが2つ立ち上がってしまい失敗ですね で正しかったです : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/06(水) 23:44:45.61 おやすみなさい : takasi [sage] 2016/01/07(木) 00:35:50.07 ありがとうございましたおやすみなさい : 仕様書無しさん [sage] 2016/01/07(木) 18:42:04.30 おなようございます 独習か猫でもわかるを買ってきます。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 18:53:19.03 課題。最前面表示のテキストエディタを作れ。 【要件】 ・ファイルメニューからテキストファイルが開ける。保存できる。 ・複数行のテキストを編集できる。 ・フォームのサイズを変えると中のテキストボックスもフィットする。 ・常に最前面に表示される。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 19:06:43.87 ReadMe.txtとLicense.txtというファイルを追加すること。 Git for Windowsをインストールせよ。 .gitignoreというファイルを追加して無視すべきファイルを除外するようにしておくこと。 Gitレポジトリとしてコミットせよ。 完成したプログラムはGitHubにアップロードせよ。 ライセンスはNew BSD Licenseとする。 : たかし [sage] 2016/01/07(木) 19:50:01.19 おはようございます 猫でもわかるを買ってきました。 帰宅してから始めます : 仕様書無しさん [sage] 2016/01/07(木) 20:07:21.98 ちょwなんかいきなり難易度高くなってません? : takasi [sage] 2016/01/07(木) 20:31:18.47 おはようございます今から初めます : takasi [sage] 2016/01/07(木) 20:37:58.91 質問です、VSでプロジェクトが異なるファイルを別のタブで開くことはできますか? 例えばプロジェクト1のAファイルをプロジェクト2の作業中に開くことです。 コード内容を見比べたり参考にしたいのです 開けないとしたら見比べるのに良い方法は有りますか?別のテキストエディタを起動して読み込ませる方法しかないでしょうか : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 20:44:25.67 ファイルメニューの「開く」→「ファイル」で開けるぞ。 ファイルタブを右クリックして、「タブグループの新規作成」で比較ができる。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 20:52:18.61 訂正。 AutoSizeModeはGrowOnlyのままでいい。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 21:01:42.30 GUI項目の名前は、(Name)プロパティで指定できるが、 デザインした後に編集する裏技を紹介しよう。 編集メニューの「検索と置換」→「フォルダを指定して置換」を選んで 「すべて置換」。 プロジェクト名の場合はさらにプロジェクトの「名前の変更」と「プロパティ」、 ファイルメニューの「名前を付けて保存」を行う。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 21:13:56.20 もう気付いてると思うが、変数や関数の名前に日本語が使える。 日本語のGUIについては、英語にこだわる必要はない。 : takasi [sage] 2016/01/07(木) 21:25:25.26 質問です。この授業ではネット上にあるオープンの既存のコードをコピペで使用して良いのでしょうか? もちろん自分なりに添削し改良をしました。 それともコードを1から書かなければいけませんか?今の僕の知識と技術ではコピペしないとできそうにありません : takasi [sage] 2016/01/07(木) 21:27:02.65 コード内容もきちんと読みどういう動作をしているかを考えて使っています : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 21:32:17.51 ライセンス上、著作権上の問題なければ使っても構わない。 中には使用条件のあるコードがあるかもしれないので、気を付けて。 : takasi [sage] 2016/01/07(木) 21:35:09.02 ありがとうございます。 の要件のみを満たしたテキストエディタ完成しました Git for Windowsをインストール中です : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 21:35:38.05 誰が書いても同じようになるコードには著作権はない。 アルゴリズムには著作権はない。 短いコードには著作権はない。 : takasi [sage] 2016/01/07(木) 21:37:25.25 Git for Windowsが何かもコミットと言葉の意味もワカリマセンがとりあえずやってみます : takasi [sage] 2016/01/07(木) 21:40:15.07 Gitをどのコマンドラインで使うか聞かれたのですが デフォルトで選択されているGit Bashで良いでしょうか : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 21:40:35.79 メールアドレスは持っているか? GitHubにアップするためにはGitHubでアカウント作成が必要で、 アカウント作成にはメールアドレスが必要だ。 : takasi [sage] 2016/01/07(木) 21:41:06.37 GitHubのアカウント作成してきます : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 21:42:44.18 Git BashでOK。これはLinux風の端末だ。これを使うとLinuxの勉強にもなる。 : takasi [sage] 2016/01/07(木) 21:42:46.26 GitHubには学習で作った実用性の無いアプリもアップロードして良いのですか? ゴミをアップするなとか怒られないでしょうか : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 21:50:50.40 実用性がなくても教育目的で役に立つかもしれない。 全く役に立たないと思ったら、後でprivateにしたり削除したりできる。 今は気にしないでいい。 : takasi [sage] 2016/01/07(木) 21:51:01.42 GitHubのアカウント取得、Gitのインストール完了しました 使い方が全くわからず困っています : takasi [sage] 2016/01/07(木) 21:52:47.46 えーまずReadMe.txtとLicense.txtの追加をしたいのですが、これはVSから追加するのでしょうか? 形だけで内容を書かなくても良いでしょうか : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 21:53:52.22 まず、プロジェクトフォルダを右クリックしてGit Bashを選ぶ。 次に「git init」を入力する。これでローカルレポジトリができる。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 21:56:44.02 フォルダのエクスプローラから新規作成で作成する。 ReadMe.txtはプロジェクトの内容を記述する。 License.txtにはNew BSD Licenseを記載する。 : takasi [sage] 2016/01/07(木) 21:59:58.37 ローカルレポジトリが何のことか分かりませんが git init しました masterってのが表示されました フォルダはプロジェクトフォルダの事でしょうか?そのフォルダにReadMe.txtとLicense.txtを作成すれば良いですか? : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 22:00:58.60 さらに.gitignoreファイルをテキストエディタなどで作成する。 「C# .gitignore」で検索。 : 仕様書無しさん [sage] 2016/01/07(木) 22:01:43.42 はい : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 22:10:32.40 【メモ帳で.gitignoreを作る方法】 メモ帳に「bin obj .vs」と書き込み、 ファイルメニューから名前を付けて保存。 ファイルの種類を「すべてのファイル」に変更。 プロジェクトフォルダに移動して「.gitignore」で保存。 : takasi [sage] 2016/01/07(木) 22:14:23.27 ファイル名は何でも良いですか?空白はできないとの警告があります 内容はこれでよいでしょうか ttps://i.gyazo.com/6f9577c12fb35ead09fe5b35865e0850.png : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 22:15:02.75 次はレポジトリにファイルを追加する。 Git Bash上で 「git add *.cs *.sln *.csproj *.resx」 「git add .gitignore App.config」 「git add Properties/*」 と入力。 「git status」で追加したファイルを確認。 : takasi [sage] 2016/01/07(木) 22:15:28.14 >>330で作り直します : takasi [sage] 2016/01/07(木) 22:16:32.63 全てのファイルから保存を選んだらファイル名無しでも保存できました : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 22:17:33.13 名前を付けて保存のときに二重引用符をつけた「".gitignore"」で試してみなさい。 : takasi [sage] 2016/01/07(木) 22:19:49.25 これでよいでしょうか ttps://i.gyazo.com/de47e6a7b7a2d41b95faaaf86d48118b.png : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 22:21:18.27 次はコミットだ。 「git commit -m "first commit"」 その次はGitHubにログインして「New Repository」を作れ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 22:23:18.36 untracked filesが追加されてない : takasi [sage] 2016/01/07(木) 22:26:24.19 できました 何をすればよいでしょうか? をもう一度入力しますか? : takasi [sage] 2016/01/07(木) 22:28:19.38 ああ、赤字のファイルが存在しないってことですかね : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 22:29:52.65 「git add (追加したいファイル)」で追加して、 「git commit -m "second commit"」でコミットだ。 できたらGitHubで作った場所をブラウズせよ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 22:31:41.47 その場所には何が書かれている? : takasi [sage] 2016/01/07(木) 22:38:08.21 addしてstatusで赤字が無いことを確認し、セカンドコミットしました GitHubで作った場所をブラウズせよで躓いています ttps://i.gyazo.com/f523c28f90a4e7a0761e03cdd44612e1.png : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 22:39:55.13 右上のアイコンつついてプロフィールに移動して : takasi [sage] 2016/01/07(木) 22:40:59.64 移動しました ttps://i.gyazo.com/1c069585b04694604dddc72d4d9d5caa.png : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 22:43:56.11 レポジトリがないようだ。ボタン押してレポジトリを作成。名前は「CSharpTest」でいい。 : takasi [sage] 2016/01/07(木) 22:46:22.64 設定はどういたしましょうか ttps://i.gyazo.com/22f84a3fbbeab2e475166af903debfb5.png : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 22:48:51.33 optionalだから入力しなくていい。そのまま。 : takasi [sage] 2016/01/07(木) 22:52:48.03 ここからどう進めばよいでしょうか ttps://i.gyazo.com/2795a649cfc0a83431bd544afcceafd5.png : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 22:53:12.06 おやすみ : takasi [sage] 2016/01/07(木) 22:54:21.54 ありがとうございましたおやすみなさい : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 22:56:14.64 そこに書いてある git remote add ... git push ... の二行。 : takasi [sage] 2016/01/07(木) 23:01:35.13 できました : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 23:06:48.25 リモートレポジトリのURLをここに貼れ。 : takasi [sage] 2016/01/07(木) 23:08:49.56 これでしょうか? ttps://github.com/takasi-desu/CSharpTest.git : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 23:16:53.95 空っぽだ。何かBashにエラーメッセージが表示されなかったか? Gitの設定ができていない可能性がある。 : takasi [sage] 2016/01/07(木) 23:21:25.49 の赤字以外特にエラーはありませんでした ttps://i.gyazo.com/931d10ca0210c42451a813dd94a2ab2b.png ここでメールアドレス教えろ言われてますけどこれですかね? : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 23:26:12.21 それだ。書かれた通りにgit configしてエラーが出たところからやり直せ。 Gitの鍵の設定は終わってるか? : takasi [sage] 2016/01/07(木) 23:32:03.81 できました 鍵の設定は何のことやら分かりません : takasi [sage] 2016/01/07(木) 23:34:34.80 ttps://i.gyazo.com/9cedaac0e767f618ebd6149e48b63412.png これのことでしょうか?これはユーザーネームを入力するのですか?それともログインパスでしょうか : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 23:35:09.83 ttp://monsat.hatenablog.com/entry/generating-ssh-keys-for-github : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/07(木) 23:44:44.49 もう寝なさい 妖怪「めのしたクマー」にならないように : takasi [sage] 2016/01/07(木) 23:52:51.29 あと少し付き合って下さいお願いします!!! まで終わりましたまたgit remote add origin ttps://github.com/takasi-desu/CSharpTest.git git push -u origin masterを入力すれば良いのでしょうか : takasi [sage] 2016/01/07(木) 23:54:34.96 適当にいじってたらできました!!!!!!! ttps://github.com/takasi-desu/CSharpTest.git : takasi [sage] 2016/01/07(木) 23:56:23.54 ここまでやりましたがGitHubが何なのかGitが何なのかコミットの言葉の意味とかよくわからないなまま色々入力しましたがとりあえずは休憩しますありがとうございました : takasi [sage] 2016/01/07(木) 23:58:56.27 なんか個人情報とか漏れてませんよね色々入力したりアップしたので心配です : 仕様書無しさん [sage] 2016/01/08(金) 00:47:26.91 たかしってもしかして飲み込み速いんじゃね!! : 仕様書無しさん [sage] 2016/01/08(金) 07:39:34.66 すげえ!! : 仕様書無しさん [sage] 2016/01/08(金) 11:45:21.90 案外みんな優しいのな イチが総攻撃されるスレかと思ってきてみたら : 仕様書無しさん [] 2016/01/08(金) 16:23:36.44 あげ : takasi [sage] 2016/01/08(金) 17:48:17.50 おはようございます ありがとうございます 今日は体調が優れない為お休みさせて頂きます おやすみなさい : 仕様書無しさん [] 2016/01/08(金) 18:31:24.30 職業訓練3年前いったけどなかなか良かったよ 仕事やめて2年ニートして行ったんだが、まず生活習慣変えるのがきつかった 毎月10万もらえるんだが、遅刻欠席に異様に厳しくて1回でも理由ない遅刻欠席したら0円 もう必死に通ったよ 授業も二進数とかネットワークの仕組みとか本当基礎から初めてくれてありがったかった 1日が9:30〜16:00だったから放課後にちょっと勉強して、卒業するときには応用情報取って、技術的にはJavaでWEBアプリケーション作れるようになってた 就職先も斡旋してくれて、面接の練習もしてくれてなんとか就職できた 最近ようやく設計にも関われるようになった : 仕様書無しさん [sage] 2016/01/08(金) 22:14:15.50 全てのファイルを見たけど個人情報はなかったよ ちょっぴり漏れるのを期待してたんだけどな : 仕様書無しさん [sage] 2016/01/08(金) 22:21:30.24 差分がデカすぎる 殺人的プルリクが早速合って少しワロタ : 仕様書無しさん [] 2016/01/09(土) 00:23:00.42 片山さんもtakashiさんもすごいな。 片山さんやさしい。 寝なさいとかいってくれる上司がほしい。 働けとはいうけど寝なさいとか言ってくれる上司はいないからなーー : 仕様書無しさん [sage] 2016/01/09(土) 13:24:06.83 自演だろ : takasi [sage] 2016/01/09(土) 13:39:06.40 おはようございます 職業訓練は今考えています、給付金は頂けないと思いますが 休み明けにでもハロワに行ってきます 差分がでかすぎるとは何か余計なものまでアップしちゃいましたかね 先生から直しを頂いたのですが後で保存の仕方調べておきます 半分ノリで建てた部分もあるんですが、まさかここまで熱心に教えてもらえるとは思いませんでした なので僕も頑張りたいです 自演にしろ自演でないにしろ僕が勉強してることは事実なので生暖かく見守って下さい ちょいと久しぶりの外出をして帰宅後に猫でも分かる〜を読んで勉強したいと思います 先生が来たら授業の続きを受けたいと思いますそれではさようなら : 仕様書無しさん [sage] 2016/01/09(土) 13:56:49.72 たかしは何歳なの? : 仕様書無しさん [sage] 2016/01/09(土) 14:41:21.62 ttp://internet2020.s3-website-ap-northeast-1.amazonaws.com/ : 仕様書無しさん [sage] 2016/01/09(土) 14:43:49.49 > 差分がでかすぎるとは何か余計なものまでアップしちゃいましたかね "katahiromz"って人からのPull Request(通称プルリク)があるでしょう その"改良してみたよ"のコミットがデカすぎるwと、で書いただけ アナタの"second commit"には何の問題もないよ : takasi [sage] 2016/01/09(土) 18:45:54.99 おはようございます 僕は26です 問題なかったですか良かったです : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 18:55:46.50 GitHubのレポジトリを開いてプルリクの内容を確認してmergeしてみて。 : takasi [sage] 2016/01/09(土) 19:17:11.94 おはようございます 今からやります : takasi [sage] 2016/01/09(土) 19:22:06.94 mergeしました自分がなにやってるかわからないんですけど大丈夫ですかね : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 19:26:22.74 Gitとは分散型のバージョン管理システムだ。 GitHubはGitリモートレポジトリを管理するウェブサービスだ。 レポジトリとはソフトウェアの格納庫のようなものであり、 主にパッケージやライブラリのソースを保管する。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 19:30:09.79 今度は、ローカルレポジトリにpullしてみなさい。 pushは押す、pullはその反対の引き出す。 タンスの引き出しを連想するといい。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 19:36:38.32 すまない、初心者はpullを使わなくてもいい。代わりにcloneしてみてくれ。 適当なフォルダで git clone ttps://github.com/...( 以下略) を実行してみてくれ。 : takasi [sage] 2016/01/09(土) 19:43:05.59 できました フォルダにファイルがDLされました : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 19:45:52.12 そのローカルリポジトリでもバージョン管理されているのを 確認するために「git log」を実行してみてくれ。 : takasi [sage] 2016/01/09(土) 19:49:08.98 プログラムの変更履歴みたいなのが出てきました : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 19:50:33.80 viというエディタが起動する。矢印キーやPgDnキーでスクロールできる。 viの終了にはqを押す。 : takasi [sage] 2016/01/09(土) 19:52:06.90 ログは出てきましたけどエディタは起動していません : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 19:55:19.53 そこに出てきたのはコミットした記録だ。 git commit -m "(メッセージ)" で指定したメッセージがタイトルになる。 複雑な文字列はハッシュだ。これがコミットのIDである。 コミットとは確定とか確約などの意味があるが、日本語には適当な訳語はない。 Gitはすべてのコミットを記録する。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 20:00:37.58 ログが短いときはviは起動せずコンソールに出力されるだけだ。 : takasi [sage] 2016/01/09(土) 20:00:54.25 なるほどなんとなくわかってきました さっきのpullはgitでプロジェクトフォルダ上でpullしろって事だったんですね そうすれば新しいバージョンにプログラムが更新されると : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 20:04:45.33 課題。編集メニューを追加し、「切り取り」「コピー」「貼り付け」 「削除」「すべて選択」ができるようにしなさい。 さらに変更ファイルをgit statusで確認、git addしてコミットしなさい。 : takasi [sage] 2016/01/09(土) 20:08:16.36 始めます : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 20:35:44.62 わかったかな? textBox.Cut(); textBox.Copy(); textBox.Paste(); textBox.SelectedText = ""; textBox.SelectAll(); : takasi [sage] 2016/01/09(土) 20:40:17.93 今からコミットします : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 20:44:56.76 引き出しを押してリモートに保管しなさい。 おまじないは「git push origin master」だ。 : takasi [sage] 2016/01/09(土) 21:00:59.38 同じレポジトリ?にコミットする場合は以前コミットしたフォルダでコミットしなければなりませんか? 先ほどクローンしたプログラムのフォルダの名前が以前のと違っていたので クローンのプログラムに手を加えてaddしてコミットしたんですが、いくつかのファイルが無いってエラーがでました : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 21:01:56.05 Gitのその他、役に立つコマンドを紹介する。 「git diff」でコミット後の変更点を見る。 「git diff (ファイル名)」でコミット後のファイルの変更点を見る。 「git checkout (ファイル名)」でファイルをコミット直後の状態に戻す。 : takasi [sage] 2016/01/09(土) 21:02:58.49 最初にレポジトリを作成した時のフォルダはTextEditer301で今回はCSharpTextをコミットしようとしました : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 21:05:15.21 「git status」の結果を見せて : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 21:07:20.01 「git mv (旧ファイル名) (新ファイル名)」は名前の変更。 「git rm (ファイル名)」はファイルの削除。 : takasi [sage] 2016/01/09(土) 21:08:39.84 status ttps://i.gyazo.com/520e8e745c82c9104dbcafa3709bb699.png : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 21:11:13.30 エラーメッセージは? : takasi [sage] 2016/01/09(土) 21:15:09.60 error: pathspec 'second commit' did not match any file(s) known to git. です : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 21:18:14.74 git commit -m "4th commit" : takasi [sage] 2016/01/09(土) 21:20:01.25 できました!! -m が無かったのが原因です失礼しました : takasi [sage] 2016/01/09(土) 21:22:31.79 GitHubに無事反映されました : takasi [sage] 2016/01/09(土) 21:25:21.78 赤は変更前で緑が変更後だと思うんですが、いじってないところもハイライトされてるので見辛いですね こういう仕様なんですかね : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 21:26:20.15 ローカルリポジトリの記録は「.git」という隠しフォルダに記録される。 コミット内容を消したい場合は.gitを削除すればいい。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 21:28:01.78 無視したいファイルは.gitignoreに相対パスで指定する。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 21:31:38.11 ソースファイル(*.cs)はコンパイルされてオブジェクトファイル(*.obj)が出力される。 オブジェクトファイルとライブラリを組み合わせて.exeファイルにする処理をリンクという。 一連のコンパイルとリンクのことをビルドという。 : takasi [sage] 2016/01/09(土) 21:34:56.60 ファイルというか中身のコードですね ttps://i.gyazo.com/1688c0e20b691be3f118b3e6129e56a3.png Form1.csは138行以降から新規にコードが記述されましたが1-27は何も変更していないのにハイライトされてるので どこが違うんだ〜と探しちゃいますね : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 21:36:26.85 おそらく改行コードの違いだろう。 : takasi [sage] 2016/01/09(土) 21:39:41.14 ああそういえば先生のプログラムに手を加えるときに書式がなんたらかんたら言われて適当に押した覚えがあります それですね : takasi [sage] 2016/01/09(土) 21:41:58.25 ここまで把握しました : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 21:42:39.60 ttp://qiita.com/yokoh9/items/1ec8099696ade0c1f36e : takasi [sage] 2016/01/09(土) 21:51:05.60 そこを見てgit config --global core.autoCRLF falseをしました statusで確認したらcore.autocrlfが2つあって3行目のcore.autocrlfはtrueで 最後の行のcore.autocrlfはfalseでちゃんと設定できたかよく分かりませんね : takasi [sage] 2016/01/09(土) 21:54:28.50 いじってみたら最後の行だけ変わるみたいですね、この問題は自分で調べておきます : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 21:57:42.32 まだ時間あるな。 「編集」→「元に戻す」(undo)と「ヘルプ」→「バージョン情報」を実装せよ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 22:01:57.56 終わったら試しに「git diff」してみて。 それからadd, commit, pushだ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 22:22:38.35 「バージョン情報」というフォームを作って バージョン情報をそこに記載する。 それをモーダルダイアログとして表示する。 : takasi [sage] 2016/01/09(土) 22:30:09.24 git diffしました 文字が出続けてるんですが終わるまで待てばいいですか? : takasi [sage] 2016/01/09(土) 22:33:04.48 なかなか終わらないんでエンター押しっぱなしにしたらENDになったんですが 閉じようと思ったらまだプロセスが動いてると警告出ました 時間かかりますかね? : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 22:33:46.52 矢印キーやPageUp/PageDownキーを押してみて。 終わるにはqを。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 22:38:48.96 お困りですか? : takasi [sage] 2016/01/09(土) 22:39:35.70 5thコミット完了しました ttps://github.com/takasi-desu/CSharpTest : takasi [sage] 2016/01/09(土) 22:41:19.72 core.autoCRLF falseちゃんと機能してました : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/09(土) 22:45:02.86 おやすみなさい : takasi [sage] 2016/01/09(土) 22:45:50.93 本日もありがとうございましたおやすみなさい : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/10(日) 03:43:22.75 【今後の予定】 プルリクの方法 GUIデザイン マルチメディア データベース ネットワーク : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/10(日) 20:44:55.02 勇者はおらんのか? : takasi [sage] 2016/01/10(日) 22:45:42.75 申し訳ありません!!!!!!!!! なかなか寝付けず今起きました 明日頑張ります おやすみなさい・・・ : 仕様書無しさん [sage] 2016/01/11(月) 00:00:52.53 片山さん共同プロジェクトの授業の予定があったら呼んでください馳せ参じますからね : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/11(月) 00:06:29.40 はい、無断欠勤ひとーつ。減給ね。 : takasi [sage] 2016/01/11(月) 06:44:44.66 (T_T) 寝れません 本での学習は進んでいます 猫でもわかるC# 142/404p 授業には間に合いたいです おやすみなさい : 仕様書無しさん [sage] 2016/01/11(月) 13:45:50.57 猫はわかりやすい? : 仕様書無しさん [] 2016/01/11(月) 15:33:10.17 C#やるなら、LINQPadがチョー便利 フリー版でも十分使えるぞ これ豆な : takasi [sage] 2016/01/11(月) 19:17:14.85 おはようございます : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/11(月) 19:22:20.87 ttps://github.com/katahiromz/JankenGUI これをForkしたものをローカルにcloneしてみたまえ。 Forkとは、方向性の違う分家を作り、自分好みに変えるために、 自分のリポジトリとして複製することだ。 : takasi [sage] 2016/01/11(月) 19:24:50.91 分かりやすいですけど完全な初学者向けではないかもしれません 2進数やビットが何も解説無く出てくるので 別に知らなくても読み進められますけど、猫でも分かるはいいすぎかもしれませんにゃ LINQはまだ学習していませんがそこまで行ったら使ってみますね : takasi [sage] 2016/01/11(月) 19:26:06.27 先生おはようございます 寝起きなので少々お待ち下さい : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/11(月) 19:27:00.43 JankenGUI.slnを開き、デザインフォームで二つのPictureBoxのWidth,Heightを60にしなさい。 ドラッグやShiftキーでフォーム上のコントロールを複数選択し、VSの 「書式」メニューを使ってコントロールの位置を調整しなさい。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/11(月) 19:32:14.41 同じフォルダにある音声ファイル(*.wav)や画像ファイル(*.png)を確認。 ソリューションエクスプローラの「Properties」をダブルクリック。 リソースを選択。「リソースの追加」の右三角をクリック、 「既存のファイルの追加」を選ぶ。ファイルの種類を「ビットマップ」にし、 Shiftを押しながらpngファイルをすべて選択して開く。 オーディオのwavファイルも同様。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/11(月) 19:35:33.57 ここで「リソース」というのは、EXEファイルにデータを埋め込む機構のことだ。 データが埋め込まれていないデータファイルなら、容易に第三者に盗用されてしまう。 リソースはある程度これを防ぐ。 : takasi [sage] 2016/01/11(月) 19:36:51.66 今から始めます スタート : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 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をクリックしてみよ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/11(月) 19:45:49.55 コントロールはFontプロパティで文字を大きくしている。 また、ボタンを大きくした文字列に合わせるためにAutoSizeをTrueにした。 : takasi [sage] 2016/01/11(月) 19:48:37.97 デザインフォームはどうやって表示させるのでしょうか? slnファイルを開きエクスプローラからファイル一つ一つクリックしたのですが コードが表示されるだけです : takasi [sage] 2016/01/11(月) 19:49:16.22 右クリックからビューデザイナで表示できました失礼しました : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/11(月) 19:50:06.53 課題。ジャンケンゲームを完成させなさい。 ボタンとフォームの背景色を変更しなさい。 フォームはサイズ変更できないようにしなさい。 : takasi [sage] 2016/01/11(月) 20:03:30.19 課題始めます : 仕様書無しさん [sage] 2016/01/11(月) 20:05:49.76 あ、勘違いしてる LINQPadはLINQ専用のツールじゃないよ ちょっと試したいC#コードの断片がある時に、 わざわざVisual StudioでSolutionやProjectとか作らずに 気楽に試すことができるツール : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/11(月) 20:06:34.60 フォームが読み込まれたときの処理はLoadイベントで行う。 表示されたときの処理はShownイベントで行う。 イベントはプロパティウィンドウのカミナリをクリックすれば見られる。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/11(月) 20:13:34.58 画像がPictureBoxからはみ出る場合は SizeModeプロパティをいじるとよかろう。 ちなみに、画像はGoogle画像検索で「ジャンケン フリー素材」を検索して拾った。 音声は自分で録音したものだ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/11(月) 20:17:14.83 自分で画像を用意したい場合はGIMPやInkscapeといったフリーソフトで 作成・編集したり、カメラやスキャナで取り込んだりするとよい。 : takasi [sage] 2016/01/11(月) 20:23:30.63 課題終わったら使ってみます! 思ったより頭が働いてないので少し時間かかります : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/11(月) 20:29:58.66 リソースデータは名前で参照する。名前が重要だ。 どのリソースを使うかは、名前で決めないといけない。 : 仕様書無しさん [sage] 2016/01/11(月) 20:36:45.79 気が向いたらでおkっす : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/11(月) 21:01:55.05 ヒント:ボタンのクリック処理を関数で共通化 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/11(月) 21:06:36.41 ヒント:勝ち負け判定関数 : takasi [sage] 2016/01/11(月) 21:11:19.73 最序盤でつまづいています スタートボタンを押して開始→手をクリック→手を受け取り条件分岐 こういう流れで行きたいのですが えーまず、メインのジャンケンの処理をどこに記述すればよいのかで混乱しています : takasi [sage] 2016/01/11(月) 21:17:10.61 頭のなかではこんな感じなのですが ttps://i.gyazo.com/18d3d208948dbd5047961437a72d9359.png 実装の仕方がわからず・・・ さっさと質問しとけばよかったですすみません : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 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)) { ...勝ち負けを表示... } } : takasi [sage] 2016/01/11(月) 21:24:17.30 ありがとうございます 分からなかったらまた聞きます 行ってきます : takasi [sage] 2016/01/11(月) 22:30:37.72 今日中に終わらなそうです : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/11(月) 22:32:51.24 残りは明日にするか。 どこまでできた? : takasi [sage] 2016/01/11(月) 22:42:42.02 判定して結果を表示させる所まで来ました あとはあいこのループ処理と画像の表示と音声のタイミングが合ってないのでそれを直すことです : takasi [sage] 2016/01/11(月) 22:46:06.33 ・スタートおした時のジャンケンポンの効果音 ・判定後のスタートをリセット ・画像のサイズをあわせる まだまだありました : takasi [sage] 2016/01/11(月) 22:46:37.45 明日の授業までに終わらせておきます : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/11(月) 22:48:43.00 PlaySyncを使うとそこで処理が動かなくなる。 画像を変えるなら再生の前にするとよい。 一方、Playは非同期で動く。 非同期再生処理のタイミングを調整したいなら、スレッドを使うことになる。 : takasi [sage] 2016/01/11(月) 22:51:07.18 分かりました 頭をすっきりさせるためにお風呂に入ってきます : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/11(月) 22:51:07.43 今日もよくがんばった。おやすみ。 : takasi [sage] 2016/01/11(月) 22:51:32.48 本日もありがとうございました!!おやすみなさい : takasi [sage] 2016/01/12(火) 00:56:08.92 なんとか完成しました 今までは一つのメソッドに処理書いていたので楽でしたが 今回はメソッド同士の値の受け渡し?などがよく分かってなくて難しかったです 数こなしてなれるしか無いですね : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/12(火) 11:11:05.72 add, commit, pushしてから、Githubでプルリクしなさい。 : takasi [sage] 2016/01/12(火) 16:48:13.54 おはようございます プルリクエストしてみました。ちゃんとできていますでしょうか 体調不良のため途中で離脱するかもしれません : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/12(火) 17:14:09.31 今日の勉強会は休みにします。 : takasi [sage] 2016/01/12(火) 17:20:28.56 分かりました、自習します : 仕様書無しさん [sage] 2016/01/12(火) 18:49:16.21 先生、たかし君のペースでいいので是非データベースとの連携もご教示ください! : takasi [sage] 2016/01/13(水) 13:50:41.92 病院行こうと思ったら午前で終わってました おはようございます : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/13(水) 19:10:53.68 ジャンケンゲームの続きだ。 ttps://github.com/katahiromz/JankenGUI これを適当なフォルダにcloneしてソースを眺めてみよ。 : takasi [sage] 2016/01/13(水) 19:26:21.36 おはようございます 始めます : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/13(水) 19:32:23.31 Visibleプロパティをfalseにすると非表示になる。 SoundPlayer.Stopで音を止めることができる。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/13(水) 19:37:24.49 コードを読んだ感想を述べよ。 : takasi [sage] 2016/01/13(水) 19:47:25.22 僕のぐっちゃぐちゃなコードに比べるとすごく綺麗にまとまっていて これはどういう動作をするコードなのかひと目で分かります 条件分岐の負けの判定の仕方でelse if ((3 + player_hand - comp_hand) % 3 == 1) を見てこれはすげえと思いました 全体のコード量は少ないですが、すっきりしていて感動しました そして自分にこんな綺麗に書ける自信が無くて胃が痛くなりました : takasi [sage] 2016/01/13(水) 19:49:19.08 こういうやり方もあるのかと色々発見がありました 以上、小学生並みの感想文でした : takasi [sage] 2016/01/13(水) 19:52:11.35 あとじゃんけんゲームがなかなかおもしろいです : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/13(水) 19:57:19.20 その判定は大学数学の剰余類という概念を使っている。 多分、大学一年生で習うだろう。 : takasi [sage] 2016/01/13(水) 20:04:12.87 初めて聞いた単語で胃が痛くなりました とりあえず頑張ります ちなみに僕は数学は大の苦手です 数学の知識があったほうがどう考えてもいいですね : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/13(水) 20:04:33.55 今日はアプリの設定データについて勉強する。 アプリを終了した後でも、データを保存しておきたい場合、 ファイルやレジストリにデータを記録することになる。 レジストリはWindowsが持っている、階層構造を持ったデータベースで あり、ファイルとは異なる。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/13(水) 20:10:02.84 二つのTextBoxをフォームに配置し、さらにOKボタンとキャンセルボタンを置く。 : takasi [sage] 2016/01/13(水) 20:12:34.79 置きました : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 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(); : takasi [sage] 2016/01/13(水) 20:20:17.35 追加しました : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/13(水) 20:23:26.62 プログラムを実行してOKを押す。これでレジストリに書き込まれた。 Win+Rキーを押してregeditと入力してEnterキーを押す。 これでレジストリエディターが起動する。 HKEY_CURRENT_USER\Software\Takashi\MySoftwareがあることを 確認せよ。 : takasi [sage] 2016/01/13(水) 20:28:09.63 Tkashi\Mysofrwareとレジストリを確認しました : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 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(); : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/13(水) 20:36:28.82 文字列リテラルに@が付いているのは\によるエスケープシーケンスを解釈しないためだ。 以前、"\n"は改行を表すと言った。"\t"はタブ文字だ。このように通常、""の中の\は特殊な解釈をする。 : takasi [sage] 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(); } : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/13(水) 20:41:56.00 レジストリはシステムの資源を占有するので、サイズの大きなデータを書き込むべきではない。 大きな設定データはファイルに記録する。 ではどこに設定ファイルを書き込めばいいか? 特殊フォルダのAppDataに書き込むのがいいとされる。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/13(水) 20:45:29.99 key.GetValue("Text1").ToString(); でOKだ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/13(水) 20:49:48.52 特殊フォルダの場所を取得するには次のように書く。 var path = System.Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/13(水) 20:57:53.42 読み込みされるか実行して確認せよ。 次にレジストリエディタでMySoftwareキーを削除してプログラムを再起動せよ。 例外が発生するはずだ。実はキーが開けないときkeyはnullになる。 nullというのは無効なデータのことだ。 : takasi [sage] 2016/01/13(水) 21:01:26.06 読み込まれないです! ttps://i.gyazo.com/f2e5ff48bd5fa2390e783ff8d86d6c9e.png Form1_Loadは初めから存在してなかったので自分で作ったのですがこれが原因でしょうか : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/13(水) 21:03:06.24 キーが開けないときや作れないときはkey == nullになる。 このまま書き込んだり、読み込もうとすると例外が発生してしまう。 対処法はnullチェックをすることだ。 if (key != null) { ... key.Close(); } : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/13(水) 21:04:38.96 それはいったん消してプロパティウィンドウ からイベントを追加せよ。カミナリのアイコンだ。 : takasi [sage] 2016/01/13(水) 21:12:54.68 例外がスローされるのを確認して >>509n ullチェックで回避しました : takasi [sage] 2016/01/13(水) 21:19:18.77 あ、読み込みも問題なくできました : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/13(水) 21:20:52.39 課題。ジャンケンゲームでの勝ち・負け・引き分けの回数を レジストリに記録するようにせよ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/13(水) 21:22:48.11 アプリ設定に使ったファイルやレジストリキーを消すのは、 インストーラ側で行うことが多い。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/13(水) 21:34:51.21 課題が出来たら、プルリクせよ。残り時間は自習とする。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/13(水) 22:11:34.19 質問はありませんか? : takasi [sage] 2016/01/13(水) 22:19:11.11 質問はありませんが、値の受け渡しで頭がぐるぐるしてます とりあえずsave_keyメソッドとload_keyメソッドを作りぐっちゃぐちゃやってます頑張ります : takasi [sage] 2016/01/13(水) 22:45:21.86 えーと、やりたいことは分かっているんですが思考が迷子です 時間がかかりそうなので宿題とさせて下さい えーとプログラミング適正無しでしょうか悲しいです : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/13(水) 23:12:37.34 ヒント: アプリ側で保持するのは、回数が増えた分だ。現在の回数ではない。 レジストリへのアクセスは読み書きを一度に行う。 アプリ側の増分だけレジストリの回数を増やした後でアプリ側の増分をゼロにする。 回数を増やすのは勝敗引き分けが決まったときに行う。 回数の増分はフォーム側ではなくプログラム側で保持する。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/13(水) 23:16:19.59 おやすみ。身体を冷やすなよ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/14(木) 20:36:18.94 ヘイ、ヨー! 始めっぞ : takasi [sage] 2016/01/14(木) 20:40:53.10 おはようごじます・・・ : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/14(木) 20:44:14.18 さあーて、どこまでできたかなっ♪ : takasi [sage] 2016/01/14(木) 20:50:08.39 正直に言いますとまだ出来ていません あまりの出来の悪さに悲しみに暮れ寝て起きたら今です ○にたい : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/14(木) 20:54:55.82 ヘイ、まずは、三つのint型のメンバー変数を追加するよぉ。 初期値はゼロだぜぃ。 int kachi_count = 0; int make_count = 0; int aiko_count = 0; : takasi [sage] 2016/01/14(木) 20:56:23.94 追加しました : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/14(木) 20:58:47.83 お次は、勝敗判定の箇所を探してみよー。 hantei関数の呼び出しをしている場所があるよね。 ここで判定に応じてカウント変数を1つ加算だよお! : takasi [sage] 2016/01/14(木) 21:02:23.71 加算できました : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/14(木) 21:03:36.91 その後にレジストリのカウント値を更新だ。 CreateSubKeyはキーがなければキーを作成してそれを開く。 あればそのまま開く。 カウント値はGetValueで取得、SetValueで設定だ。 しかしまだ値を設定していないときにGetValueしたらどうなるか? : takasi [sage] 2016/01/14(木) 21:05:55.97 例外がスローされます : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/14(木) 21:17:48.07 ノーノー、nullが返される。 var value = key.GetValue("KachiCount"); int count = kachi_count; if (value != null) { count += Convert.ToInt32(value); } ... : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/14(木) 21:20:30.78 そしてcount.ToString()をSetValueしてからkachi_countをゼロにする。 他のカウント変数も同様だ。 : takasi [sage] 2016/01/14(木) 21:23:48.93 どのタイミングでキーを作成しなければいけないのか分からないです : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/14(木) 21:25:18.15 カウントを表示するのは別のフォームで行う。 新しくフォームを追加だ。 その上にラベルをいくつか追加。 フォームのLoadイベントでレジストリを読み込んでラベルテキストをセット。 OKボタンでフォームを閉じるようにする。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/14(木) 21:28:59.98 いつカウントを更新するかは、自由に決めることができる。 アプリが終了するときか、フォームが閉じたときか、カウンタが更新したときか。 ここではすぐに更新してほしいので、hantei関数が呼ばれた後に レジストリを更新する。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/14(木) 21:33:18.31 どうだね? 作れそうかな? : takasi [sage] 2016/01/14(木) 21:33:36.08 は 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(); } で大丈夫ですよね : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/14(木) 21:35:57.02 try/catchしないならkeyとvalueのnullチェックが必要だよ。 : takasi [sage] 2016/01/14(木) 21:36:07.69 レジストリの更新はメソッドを新たに作成してそこでやらせたほうがいいですよね : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/14(木) 21:37:03.59 そうだね。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/14(木) 21:45:20.04 \MySoftware のところは \JankenGUI にしておこう。 : takasi [sage] 2016/01/14(木) 21:46:11.30 var key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\Takashi\MySoftware"); if (key != null) { var value_kachi = key.GetValue("KACHI"); var value_make = key.GetValue("MAKE"); var value_aiko = key.GetValue("AIKO"); if (value_kachi != null) label4.Text = key.GetValue("KACHI").ToString(); if (value_make != null) label5.Text = key.GetValue("MAKE").ToString(); if (value_aiko != null) label6.Text = key.GetValue("AIKO").ToString(); こういうことでしょうか : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/14(木) 21:48:05.12 if (value_kachi != null) label4.Text = key.GetValue("KACHI").ToString(); ちょっと無駄があるな。 if (value_kachi != null) label4.Text = value_kachi.ToString(); こっち。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/14(木) 21:57:22.37 git add -a git commit -m "add counters" git push origin master : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/14(木) 22:05:30.78 どうだね? 何があっても、とにかく陽気に行こうぜ : takasi [sage] 2016/01/14(木) 22:13:32.93 もう少しで動かします : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/14(木) 22:14:28.61 どうした? ん? : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/14(木) 22:21:25.15 ブラインドタッチの特訓と基本情報の取得が必要だな。 1ヶ月以内にブラインドタッチをマスターして、 1年以内に基本情報を取得しなさい。 : takasi [sage] 2016/01/14(木) 22:24:31.61 上手くいきません とりあえず現時点のコードをコミットした方がいいですか : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/14(木) 22:25:37.85 レジストリの更新はカウント加算の後だ。 : takasi [sage] 2016/01/14(木) 22:27:44.43 ブラインドタッチ一応できます・・・ 実質的な死刑宣告と捉えたほうが良いですか・・・ : takasi [sage] 2016/01/14(木) 22:29:36.69 switch (hantei(player_hand, comp_hand)) { case HanteiKekka.HANTEI_KACHI: label3.Text = "あなたの勝ちです"; kachi_player.Play(); ++kachi_count; save_key("KACHI"); break; case HanteiKekka.HANTEI_MAKE: label3.Text = "あなたの負けです"; make_player.Play(); ++make_count; save_key("MAKE"); break; case HanteiKekka.HANTEI_AIKO: label3.Text = "あいこ"; aiko = true; ++aiko_count; save_key("AIKO"); break; } : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/14(木) 22:30:23.51 じゃあ、pushしといて。 明日見るから。 : takasi [sage] 2016/01/14(木) 22:31:57.33 わかりましたpushしておきます : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/14(木) 22:32:05.26 今日はおやすみ。 : takasi [sage] 2016/01/14(木) 22:33:02.13 すみませんでした おやすみなさい : takasi [sage] 2016/01/14(木) 23:36:49.80 $ git push origin master remote: Permission to katahiromz/JankenGUI.git denied to takasi-desu. fatal: unable to access ' ttps://github.com/katahiromz/JankenGUI/': The requested URL returned error: 403 ぐぬぬ : 仕様書無しさん [sage] 2016/01/15(金) 00:55:53.21 ttp://transitive.info/article/git/command/remote/ : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/15(金) 01:19:31.01 あ、フォーク忘れてた? ごめんね。 : takasi [sage] 2016/01/15(金) 02:12:03.82 んぐぐぐぐぐぐぐ プスプスプスシューーーーーーーーーーー : takasi [sage] 2016/01/15(金) 02:20:50.29 なぜでしょうpushができません : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/15(金) 07:48:52.11 自分のリポジトリじゃないからね。 最初にforkすべきだった。 pushしなくていいよ。変更点少ないし。 : takasi [sage] 2016/01/15(金) 08:22:44.17 分かりました 動かして見た感じでは問題はなかったです ttps://gyazo.com/3d005abe029830ef80e9f69be763228f ttps://gyazo.com/567c6437b66c8bd4b84a6a6c8f59096c ttps://i.gyazo.com/dfea862fc1e257c9e54c9e28edeb757f.png : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/15(金) 16:39:11.05 いくつか注釈しておこう。 引数がゼロ個の関数を作ることができる。 save_keyは引数のない三つの関数に分けた方がいい。 記録がない場合はゼロ回として扱うべきだ。 異常な表示にならないようにすべての場合の「状態」を管理しないといけない。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/15(金) 19:39:31.24 JankenGUIにリソースのアイコン(*.ico)を追加せよ。フリー素材で構わない。 可能ならばJankenGUIに署名を行え。 JankenGUIをReleaseビルドせよ。 Inno Setupをダウンロード&インストールせよ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/15(金) 19:41:08.11 Inno Setupのウィザードに従ってインストーラのスクリプト(*.iss)を試作せよ。 スクリプト中の絶対パスを相対パスにせよ。 JankenGUIが使っている.net frameworkのバージョンを確認せよ。 次のサイトを参考にインストール時に.net frameworkの有無をチェックするようにせよ。 ttp://qiita.com/bellx2/items/14ac4e02283d5c1ef12b : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/15(金) 20:09:15.33 今日はインストーラ作成を行う。今回の課題は英語ができないと難しいかも知れないな。 質問が有ったらお気軽に。 : takasi [sage] 2016/01/15(金) 20:14:40.64 おはようございます 準備ご始めます : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/15(金) 20:24:28.92 署名は多少時間がかかると思う。今日は後回しでいい。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/15(金) 20:36:34.17 ローカルリポジトリ情報の隠しフォルダ「.git」を「rm -rf .git」で消す。 「rm -rf」はファイルやフォルダをまるごと消すLinuxのコマンドだ。 GitHubのTakasi-DesuのJankenGUIをSettingsから消して(delete)作り直す。 それからgit init, add, commit, push -uだ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/15(金) 20:39:05.60 git remote addも忘れずに。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/15(金) 21:07:44.34 教員免許を持っていない私が指導するのだから、不充分な点も あるかもしれないが、御了承頂きたい。 進捗報告を。 : takasi [sage] 2016/01/15(金) 21:20:27.37 Inno Setupの使い方を調べている途中です : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/15(金) 21:26:32.48 Releaseビルドしたなら、bin/Releaseフォルダにexeができているだろう。 これをInno Setupのウィザードでプログラムファイルとして指定する。 : takasi [sage] 2016/01/15(金) 21:43:42.57 使い方がさっぱりわかりません exeファイルはできましたがInno Setupのウィザードでプログラムファイルとして指定するのはどうすればよいのでしょうか : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/15(金) 21:44:30.97 わからない点はある? : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/15(金) 21:47:26.33 Inno Setupは日本語になっているか? 参照ボタン(browse)をクリックして、ファイルの場所を指定する。 : takasi [sage] 2016/01/15(金) 21:52:54.29 参照ボタンはどこでしょうか? 開くはスクリプトファイルしか開けないようです 今この画面です ttps://i.gyazo.com/3a0dffc78162915778d17ec7ea5504a3.png : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/15(金) 21:56:07.64 File→New : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/15(金) 22:07:21.09 英語が読めないなら、日本語化した方がいいんじゃないか? : takasi [sage] 2016/01/15(金) 22:14:29.43 日本語化できますか? インストールウィザードを日本語化するのしか見つかりませんでしたが : takasi [sage] 2016/01/15(金) 22:21:56.78 先生、今回ばかりは無理かもしれません 使い方が全くわからなくて調べながらやらないといけないので時間が凄いかかると思います・・・ 順序立てて教えていただければ分かりやすいですが、それもまた時間かかりそうですし・・・ : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/15(金) 22:23:26.45 InnoEditXにしようか? : takasi [sage] 2016/01/15(金) 22:26:31.40 簡単なのであればそちらでお願いします DLします : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/15(金) 22:36:59.62 今日はこの辺でお開きといたしやしょう。 おやすみでござります。 : takasi [sage] 2016/01/15(金) 22:38:58.93 すみませぬ・・・・・・・・・おやすみなさい・・・・・・・・・・・・・・_(:3」∠)_ : 仕様書無しさん [sage] 2016/01/15(金) 23:11:10.08 じゃんけんは意外と作るの面白いよね がんば : 仕様書無しさん [] 2016/01/16(土) 15:14:46.12 InnoEditX ttp://textexpage.s154.xrea.com/software/ : 片山博文MZ ◆T6xkBnTXz7B0 [] 2016/01/16(土) 17:22:50.44 InnoEditXをDL、展開して適当なフォルダに配置する。 InnoEditXのReadMeを読んだ後で、InnoEditXを起動する。 「ツール」→「設定」で、Inno Setupの場所を指定する。 あらかじめJankenGUIにReadMe.txtとLicense.txtを追加しておく。 [Setup]タブをクリック。「基本情報」タブで、アプリの名前を入力 (「たかしのジャンケン」「たかしのジャンケン ver.1.0」)。 インストール先を入力({pf}\Takashi Janken)。 : 片山博文MZ ◆T6xkBnTXz7B0 [] 2016/01/16(土) 17:23:50.31 「アンインストーラー」タブをクリック。 「アンインストーラーを作る」をチェック。 表示するアイコンに「{app}\JankenGUI.exe」を指定する。 {pf}は「C:\Program Files」などを表している。 {app}はインストール先のフォルダを表している。 「情報」タブをクリック。「製作者」「説明」「バージョン」を入力。 : 片山博文MZ ◆T6xkBnTXz7B0 [] 2016/01/16(土) 17:24:15.92 「フラグ」タブをクリック。 「中断を許可」「UNCパスを許可」「アプリ用ディレクトリを作る」 「情報をレジストリに保存」をチェック。 「ダイアログ」タブをクリック。 「インストールを行いますダイアログを出さない」をチェック。 ここまで、[Setup]タブ。 : 片山博文MZ ◆T6xkBnTXz7B0 [] 2016/01/16(土) 17:24:42.42 [Files]タブをクリック、リストを右クリックして「アイテムの追加」。 ソースファイルに「JankenGUI.exe」を選んで指定、 出力先ディレクトリを「{app}」にして、「OK」。 さらに「アイテムの追加」。「ReadMe.txt」を選んで指定、 出力先ディレクトリを「{app}」にして、「OK」。 さらにさらに「アイテムの追加」。「License.txt」を選んで指定、 出力先ディレクトリを「{app}」にして、「OK」。 : 片山博文MZ ◆T6xkBnTXz7B0 [] 2016/01/16(土) 17:25:18.48 [Icons]タブをクリック。 このタブはショートカットアイコンの追加に関する設定だ。 リストを右クリックで「アイテムの追加」。 作成先を「{group}\たかしのジャンケン」に、 リンク先を「{app}\JankenGUI.exe」にして、「OK」。 さらに「アイテムの追加」。 作成先を「{commondesktop}\ReadMe.txt」に、 リンク先を「{app}\ReadMe.txt」にして「OK」。 さらにさらに「アイテムの追加」。 作成先を「{commondesktop}\License.txt」に、 リンク先を「{app}\License.txt」にして「OK」。 : 片山博文MZ ◆T6xkBnTXz7B0 [] 2016/01/16(土) 17:26:45.27 さらにさらにさらに「アイテムの追加」。 作成先を「{commondesktop}\たかしのジャンケン」に、 リンク先を「{app}\JankenGUI.exe」にして「OK」。 さらにさらにさらにさらに「アイテムの追加」。 作成先を「{group}\アンインストール」に、 リンク先を「{uninstallexe}」にして、「OK」。 {group}は、スタートメニューの項目を表している。 {commondesktop}は、すべてのユーザのデスクトップを表している。 {uninstallexe}は、アンインストールプログラムを表す。 ここまで[Icons]タブ。 名前「JankenGUI.iss」を付けて保存。ビルドしてエラーがなければ インストーラが作成される。 👀 Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f) : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/16(土) 19:12:34.29 訂正。 × 作成先を「{commondesktop}\ReadMe.txt」に、 ○ 作成先を「{group}\ReadMe.txt」に、 × 作成先を「{commondesktop}\License.txt」に、 ○ 作成先を「{group}\License.txt」に、 : 仕様書無しさん [sage] 2016/01/16(土) 19:51:40.96 たかし書籍化パターンだろこれw : 仕様書無しさん [sage] 2016/01/16(土) 19:52:21.97 謝辞に片山先生へのお礼が書かれてるend : takasi [sage] 2016/01/16(土) 20:07:07.86 おはようございます ありがとうございます・・・ 始めます : takasi [sage] 2016/01/16(土) 20:45:19.33 無事ビルド完了しました ttps://i.gyazo.com/6762f0ece561ac26d495a98a46d14fc7.png : 仕様書無しさん [sage] 2016/01/16(土) 20:48:10.27 どうでもいいことだろうけど、 になぜ Rock54: Cautionがついているのだろう exeかな? : 仕様書無しさん [sage] 2016/01/16(土) 20:49:17.37 剛田たけしのジャイアンじゃんけん : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/16(土) 20:49:51.11 の手順でGitHubにアップしてくれ。 以前のレポジトリは消えても構わない。 : takasi [sage] 2016/01/16(土) 20:53:08.37 作成したセットアップファイル?もフォルダに加えるんでしょうか : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/16(土) 20:53:33.06 .issもレポジトリのフォルダに入れて。 setup.exeは.gitignoreで除外して。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/16(土) 21:12:03.30 修正1.JankenGUI.issをテキストエディタで開いて絶対パスの記述を相対パスに直しなさい。 修正2.使用しているレジストリキーをアンインストール時に削除するようにしなさい。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/16(土) 21:14:19.67 終わったらInnoEditXで開いてビルド。 インストールしてインストールした項目をテスト、アンインストールを何度か繰り返しなさい。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/16(土) 21:23:48.25 進捗報告を。 : takasi [sage] 2016/01/16(土) 21:36:08.78 今>>605です : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/16(土) 21:39:38.33 絶対パスと相対パスについてはご存じかな? : takasi [sage] 2016/01/16(土) 21:45:31.48 いいえ : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/16(土) 21:50:20.18 現在のフォルダが「C:\Users」であるとき、「C:\Users\takasi\himitsu」という場 所(パス)は相対パス「takasi\himitsu」で参照できる。 「C:\Users\takasi\himitsu」は絶対パスだ。 パスを相対的に指定するか、絶対的に指定するかの違いだ。 : takasi [sage] 2016/01/16(土) 21:54:06.18 これを直すんですよね? Name: "{group}\たかしのジャンケン"; Filename: "{app}\JankenGUI.exe"; Name: "{group}\ReadMe.txt"; Filename: "{app}\ReadMe.txt"; Name: "{group}\License.txt"; Filename: "{app}\License.txt"; Name: "{commondesktop}\たかしのジャンケン"; Filename: "{app}\JankenGUI.exe"; Name: "{group}\アンインストール"; Filename: "{uninstallexe}"; : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/16(土) 21:58:08.41 { }がついたものは直す必要ない。 [Files]の記述はどうなってる? : takasi [sage] 2016/01/16(土) 21:59:43.12 [Files]はありません[Setup]と[Icons]のみです : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/16(土) 22:03:53.38 ファイルがインストールされていない。をやり直して。 : takasi [sage] 2016/01/16(土) 22:13:40.06 これで良いでしょうか [Files] Source: "JankenGUI\bin\Release\JankenGUI.exe"; DestDir: "{app}"; Source: "JankenGUI\ReadMe.txt"; DestDir: "{app}"; Source: "JankenGUI\License.txt"; DestDir: "{app}"; [Registry] Root: HKCU; Subkey: "Software\Takashi"; Flags: uninsdeletekeyifempty Root: HKCU; Subkey: "Software\Takashi\JankenGUI"; Flags: uninsdeletekey : takasi [sage] 2016/01/16(土) 22:17:09.20 [Files] Source: "bin\Release\JankenGUI.exe"; DestDir: "{app}"; Source: "ReadMe.txt"; DestDir: "{app}"; Source: "License.txt"; DestDir: "{app}"; こうでした : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/16(土) 22:17:41.38 JankenGUI.issは、フォルダJankenGUIの中にあるんだろ? だったら Source: "License.txt"; DestDir: "{app}"; じゃないかい? : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/16(土) 22:19:04.50 それでOK。テストに入りなさい。 : takasi [sage] 2016/01/16(土) 22:20:47.16 問題なくインストールでき、アンインストール時にレジストリが削除されることを確認しました _(:3」∠)_ : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/16(土) 22:24:11.12 pushしたら今日はここまで。おやすみ。 : takasi [sage] 2016/01/16(土) 22:33:30.36 pushしました本日もありがとうございましたおやすみなさい_(:3」∠)_ : takasi [sage] 2016/01/16(土) 22:36:16.91 ツールの使い方が全くわからない辛い・・・ : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/17(日) 13:09:32.88 JankenGUIのプロパティの「公開」タブをクリックして、マイナー バージョンを1にし(1.1)、Releaseバージョンをビルドしなさい。 プログラムに変更が有った場合、プログラムをバージョンアップしないと インストーラがファイルを更新しないことがあるので注意。 JankenGUI.issをInnoEditXで開いて[Setup]タブをクリック。 「デフォルトのスタートメニューグループ名」を「たかしのジャンケン」にしなさい。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/17(日) 13:15:15.24 [Languages]タブをクリック。リストを右クリックして、名前を「Japanese」にし、言語ファイルで「Languages」→「Japanese.isl」を順に選んで「OK」。 [Setup]タブをクリック。「基本情報」と「情報」のバージョンを1.1にしなさい。 「基本情報」の「出力」の「セットアップファイルの出力時の名前」を 「tjanken-1.1-setup.exe」にしなさい。古いsetup.exeは削除。 .gitignoreで「tjanken-*-setup.exe」を無視するように設定しなさい。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/17(日) 13:21:21.93 JankenGUIを自由に改良しなさい。1つ改良するたびにgit add, git commitしなさい。 改良に失敗したら「git checkout (ファイル名)」で1つ元に戻しなさい。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/17(日) 15:28:59.15 次はインストーラなしのパッケージを作ってみよう。 プログラムのインストールができない環境の利用者はインストーラが使えない。 だから、インストーラなしのプログラムもそれなりに需要がある。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/17(日) 15:32:42.17 次のような内容のバッチファイル「pack-bin.bat」を作れ。 set DIR=tjanken-bin del /Q /S %DIR% copy bin\Release\JankenGUI.exe %DIR% copy ReadMe.txt %DIR% copy License.txt %DIR% pause : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/17(日) 15:39:39.09 pack-bin.batをダブルクリックすると、tjanken-binフォルダが作成され、 必要なファイルがコピーされる。 このフォルダを右クリックして「送る」→「圧縮(zip形式)」を選ぶと、 このフォルダが圧縮されたzipファイルtjanken-bin.zipができる。 これの名前を変更し、tjanken-1.1-bin.zipにすると、 インストーラなしパッケージが完成する。 .gitignoreにzipファイルとtjanken-binフォルダを無視するように 「*.zip」「tjanken-bin」を設定しなさい。 : 仕様書無しさん [sage] 2016/01/17(日) 18:24:22.58 たかし半角になっててワロタw : takasi [sage] 2016/01/17(日) 20:15:43.13 おはようございます 21時から始めます : takasi [sage] 2016/01/17(日) 21:36:43.63 でpack-bin.batを作りダブルクリックしましたがフォルダは作られませんでした 代わりにtjanken-binというファイルが出来ました フォルダのなりぞこないでしょうかこれは : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/17(日) 21:42:09.33 delとcopyの間にmkdir %DIR%を忘れてた。 できたファイル消してやり直して。 : takasi [sage] 2016/01/17(日) 21:47:26.64 まで完了しました : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/17(日) 21:52:43.25 アプリが使用している.Net Frameworkのバージョンを確認せよ。 ReadMe.txtに作品名、作者名、動作環境を記せ。 配布するファイルのサイズを確認せよ。 ウイルスチェックを行え。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/17(日) 22:04:29.96 frameworkのバージョンはプロジェクトのプロパティから確認できる。 ファイルサイズはファイル右クリックのプロパティで確認できる。 : takasi [sage] 2016/01/17(日) 22:12:09.22 配布するファイルとはJankenGUI.exeの事でしょうか? : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/17(日) 22:15:47.64 tjanken-1.1-setup.exe と tjanken-1.1-bin.zip が配布するファイルだ。 前者がインストーラつきのプログラム、後者がインストーラなしのプログラムである。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/17(日) 22:23:57.34 どうした : takasi [sage] 2016/01/17(日) 22:27:06.97 完了しました : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/17(日) 22:28:42.72 pushしたら終わりだ。 青少年はもう寝る時間だ。 おやすみ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/17(日) 22:39:13.20 ? : takasi [sage] 2016/01/17(日) 22:41:45.79 遅くてすみません pushしました ttps://github.com/takasi-desu/JankenGUI : 仕様書無しさん [sage] 2016/01/17(日) 23:51:15.01 たかしのじゃんけんゲームやってみたがよく出来てる 頑張ってな : takasi [sage] 2016/01/17(日) 23:59:50.66 ありがとうございます ほとんど片山先生の作品なんですけどね・・・ 最近勉強できていません 体の調子が悪くて・・・起きる時間も夜・・・ふぁああああああああ : takasi [sage] 2016/01/18(月) 00:02:00.04 最近プログラミングの適性がないのではないかと悩んでいるお年ごろです 慣れでしょうか : 仕様書無しさん [sage] 2016/01/18(月) 00:12:07.22 無料ホームページ作成 ttp://freehp.ojaru.jp/ : 片山博文MZ ◆T6xkBnTXz7B0 [] 2016/01/18(月) 12:14:59.18 今度は、○×ゲームだ。 ttps://github.com/katahiromz/MaruBatsuGame こいつをForkして、適当なフォルダにcloneしてくれ。 dataフォルダに、画像と音声のデータがある。 画像はInkscapeで作成、音声は自分で録音した。 : 片山博文MZ ◆T6xkBnTXz7B0 [] 2016/01/18(月) 12:19:22.23 今回は、辞書(dictionary)を使っている。 一般に辞書というのは、単語から意味を調べる書物だね。 C#で辞書というのは、あるデータに他のデータを関連づけるデータ構造だ。 単語に相当するデータをキー(key)といい、 意味に相当するデータを値(value)という。 キーをintとし、値をMasuとする辞書の型は、Dictionary<int, Masu>と書く。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/18(月) 12:58:34.33 黒い線を表示するのにLabelを使った。 Labelの背景色を黒にし、AutoSizeをFalseにしてある。 それぞれのマスはPictureBoxになっている。 画像と音声のデータはすでにリソースとして追加した。 : takasi [sage] 2016/01/18(月) 13:15:29.04 おはようございます 今日も夜から始めると思います : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/18(月) 13:28:05.84 データとUIの分離のために、盤を表すBoardというクラスを用意した。 Boardに空ではないマスを数えるカウント変数countを追加せよ。 盤の初期化のときにcountをゼロにせよ。 set_masuでcountを加算せよ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/18(月) 13:39:44.00 Boardに次のような思考関数kangaeruを追加せよ。 int kangaeru(Masu comp) { Masu anata; compがマルならanataはバツ。 compがバツならanataはマル。 空マスが1つ、compが2つの並びがあれば、その空きマスの番号を返す。 anataがなく、compが1つ以上の並びがあれば、その空きマスの番号を返す。 空きマスをランダムに選び、その空きマスの番号を返す。 } : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/18(月) 13:44:57.25 課題。○×ゲームを完成せよ。 プレイヤーはマル(先攻)、コンピュータはバツ(後攻)とする。 プレイヤーがマルをつけたら、タイマーで2秒待ち、 コンピュータがバツをつける。 待っている間は操作できないようにせよ。 : takasi [sage] 2016/01/18(月) 18:00:48.51 ちょっと今日は夜に出てこれないです! 完成したらプッシュすれば良いでしょうか : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/18(月) 18:16:25.10 好きにしたまえ。 : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/18(月) 18:20:32.09 今日の勉強会は休みにします。 : takasi [sage] 2016/01/19(火) 12:56:45.26 おはようございます、課題ですがまだ終わっていません 朝からずっとコードとにらめっこしていたのですが これらがどういう動きをしていてどう使うのかが理解できませんでした 前回のじゃんけんゲームの時もでしたが、課題の難易度に対して自分の能力が全く追い付いていないと強く感じました このままでは分からない事がある度に片山先生の言葉ををただコピペするだけで 理解せずに無駄な時間を過ごしてしまうことになってしまいそうです。 僕はで言いましたとおり、頭の出来がよくありません。理解するのに普通の人より時間がかかります 分からないことだらけの今、その度に片山先生に聞いていては先生にも僕にも負担になってしまうと思います 僕に今必要なのは基礎で、それを身につけることでやっと先生の授業にちゃんと付いていけるのではないかと思います 僕のためにプログラムを書いて頂いたり、画像や音声ファイル等も用意して頂いたり、色々教えて頂き片山先生には本当に感謝しています GUIのアプリを作るのは楽しかったです しかし、今のままでは辛いのでしばらく授業をお休みさせていただきます 初学者向けの本でしっかり勉強してから復帰したいと思います 応援してくださった方、片山先生、その他の先生方、本当にありがとうございました またいつか戻ってきます、パワーアップしたたかしで・・・ : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/19(火) 16:58:30.49 ふらっと C#,C♯,C#(初心者用) Part118 [転載禁止]・2ch.net ttp://peace.2ch.net/test/read.cgi/tech/1448207673/ : 仕様書無しさん [sage] 2016/01/19(火) 21:48:06.50 〜 完 〜 : takesi [sage] 2016/01/20(水) 00:10:51.81 では私のスレにしてよろしいでしょうか : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/20(水) 08:51:17.77 OK : 仕様書無しさん [sage] 2016/01/20(水) 09:11:11.90 たかしニートプログラミング本出版までいけよw : takesi [sage] 2016/01/20(水) 13:31:22.23 私はPythonを勉強中です チュートリアルを読んで条件分岐くらいまではできるようになりました 機械学習に興味があります 先生ご指導よろしくお願いします : takesi [sage] 2016/01/20(水) 13:32:45.56 まずは何をすればいいでしょうか paizaでDランクは全部解けたレベルです : 仕様書無しさん [sage] 2016/01/21(木) 00:04:58.89 こんばんはたかしです、急にやめてすみませんでした 今後の予定ですが、職業訓練校に行くことになりました 入学選考試験が結構難しいので一ヶ月間がんばって勉強しなくてはなりません 頑張ります。たけしさんもがんばってください。 : 仕様書無しさん [sage] 2016/01/22(金) 00:38:53.36 先生!!! : 仕様書無しさん [sage] 2016/01/22(金) 01:20:09.58 訓練校ならお金もらえながら勉強できてオイシイもんね : 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2016/01/22(金) 04:46:25.53 私はPythonのことはあまり知りません : takesi [sage] 2016/01/22(金) 13:41:45.47 では、Javaはどうでしょうか Androidアプリをつくるという目標もあります : takesi [sage] 2016/01/23(土) 00:23:40.54 先生の得意な言語はなんでしょうか : 仕様書無しさん [sage] 2016/01/23(土) 16:15:03.02 ∧_∧ ( ゚ω゚ ) JAVAなら任せろー バリバリC□l丶l丶 / ( ) やめて! (ノ ̄と、 i しーJ : takesi [sage] 2016/01/23(土) 16:20:00.27 本当ですか?Java教えてくださいませ : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 16:29:08.94 しょうがないにゃあ… まずPCの環境教えてね多分windowsかな : takesi [sage] 2016/01/23(土) 16:32:19.93 ありがとうございます! 開発環境はeclipseです : takesi [sage] 2016/01/23(土) 16:32:40.38 windowsPCです : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 16:35:56.08 把握 大学でもらった教材使えるな ちょい探してくる 今のスキルレベルは? : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 16:42:21.05 ちくせうC++とLispのしか見当たんね まあいいや 流れ 今のスキルの確認 ↓ おさらいしながらJavaの基礎一通り ↓ CUI課題 ↓ GUI(androidアプリケーション) ↓ Unity導入 こんな感じでおk? : takesi [sage] 2016/01/23(土) 16:47:06.78 おkです 今のスキルレベルは条件分岐がなんとか使えるレベルで オブジェクト指向は完全に理解していないくらいです Unityはさわりだけやったことがあります : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 16:50:33.63 まず環境整備しよか Github知っとる? Gitやsubversion、CVSとかバージョン管理ソフトでもいいけど。 第一目標:Githubユーザー作ってソース共有できるようにする : takesi [sage] 2016/01/23(土) 16:52:13.27 Github聞いたことがあります ググってみます : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 16:55:44.75 んじゃ毎回質問は 質問:〜〜〜 と書くから答えるなり調べるなりしてね 答え大体既存の解説サイトのURL下に貼るから答えがわかったらまずそっち見てね。 したらわかんないとこあるだろうから質問タイム の流れで。 同様に 課題:〜〜〜 とかやるからその辺は臨機応変によろ : takesi [sage] 2016/01/23(土) 16:56:40.06 分かりました! : takesi [sage] 2016/01/23(土) 16:57:21.48 Githubのアカウント作りました : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 17:03:43.38 バージョン管理とは 複数人で同じものを編集する(wikiなんかをイメージしてね)時に 編集が衝突(同時に同じ個所を編集しようとすること)したときに 整合性を保ったり 昔の履歴を見たいといったときに対応するためだったりのために管理すること バージョン管理ソフトとは そのためのソフトウェア いろいろ実現方法の違いでソフトウェアが違う。 今有名なのはGitやsubversion Gitとは バージョン管理ソフト こまけぇことはいいんだよ Githubとは Gitでファイル保存してくれるファイルサーバーとか思っとけばいいよ : takesi [sage] 2016/01/23(土) 17:10:03.93 なるほど Gihubは英語ばかりで使うのが難しいです なんせ中学生レベルの英語しかわからないもので : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 17:13:15.24 最初のうちしかサイトは見ないからがんがれ ↓にリポジトリ(ファイルのひとまとまりになったディレクトリみたいなもん)作った ttps://github.com/tamochu/neet1programming.git まずアクセスしてみて : takesi [sage] 2016/01/23(土) 17:15:07.04 アクセスしました …どうすればいいのでしょうか? : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 17:17:53.97 右側にDownload ZIPってあるはず そこでファイルをダウンロード →解凍してhello.batをダブルクリック(怖かったらしないほうがいいバッチファイルわかんないだろうし) なんにせよこれでファイルを共有できることを感じてもらえればおk : takesi [sage] 2016/01/23(土) 17:20:28.26 できました 少し感動 : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 17:23:11.40 じゃあそれをeclipseでできるようにします。 課題:「eclipse github」などで検索しeclipseでgithubにアクセスする方法を調べよ 調べるまででおk 多分どっかで詰まるからやるのは一緒に : takesi [sage] 2016/01/23(土) 17:25:29.62 調べて概要は理解しました : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 17:28:24.11 eclipseを開きます バージョンを確認してね 起動画面にheliosとかjunoとか書いてあるから したら↓参照 ttp://rough-and-ready-co-jp.blogspot.jp/2012/02/giteclipsegithub.html : takesi [sage] 2016/01/23(土) 17:35:17.34 EGitというのが見つからないのですが Eclipse Github 統合(タスク・フォーカス・インターフェース) というのをインストールすればよいのでしょうか? バージョンはMarsでづ : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 17:47:45.25 作業対象に入れたURL教えて : takesi [sage] 2016/01/23(土) 17:51:24.67 Mars - ttp://download.eclipse.org/releases/mars : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 17:56:06.84 重すぎ… 多分 Eclipse Gitチームプロバイダー 無印のやつ : takesi [sage] 2016/01/23(土) 18:00:40.17 分かりました インストールします : takesi [sage] 2016/01/23(土) 18:06:29.46 コミットするというのがよく分かりません ファイルを選択してもコミットボタンが押せません どこかで誤ったのでしょうか : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 18:13:08.10 コミットはちょい待って今環境整備中 : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 18:17:01.55 今から秘密鍵送る 捨てアド作ってさらして : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 18:20:15.57 コミットとは 自分が更新・追加したのをGitに伝えること これ更新したからって宣言するようなこと プッシュとは コミットした差分をリモートに送ること ファイルサーバーにアップロードするようなこと チェックアウトとは リモートのファイルを持ってくること ダウンロードと思えばいい 今はチェックアウトしかできないはず : 仕様書無しさん [] 2016/01/23(土) 18:26:23.42 wuzhaiteng3@gmail.com 秘密鍵とは何に使うのですか? : takesi [sage] 2016/01/23(土) 18:27:19.46 つまり今はコミットしなくていいってことですね : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 18:32:22.39 課題にしよか 課題:暗号を送る方法 例えば手紙をある人に送るが途中で覗き見られても 中身がばれないようにする を一つ考えよ : takesi [sage] 2016/01/23(土) 18:36:58.49 共通の決まりを作っておいて暗号化してそれを送る : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 18:37:12.31 秘密鍵とは 秘密鍵暗号方式の共通キーもしくは 公開鍵暗号方式のペアキーのうち受信側が持つ鍵 公開鍵暗号とは ある文章を二つのペアーの鍵によって安全に送信する方法のひとつ 1.受信者は公開鍵と秘密鍵のペアを作る 2.公開鍵を文字通り公開する 3.文章の送信者は公開鍵を用いて暗号を作る 4.暗号を送信する 5.受信者は秘密鍵を用いて暗号を複合(解読)する このとき公開鍵では暗号を作れるが複合はできない 秘密鍵は複合できる ということが保証されている 細かい原理は省略 : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 18:40:01.85 その答えは秘密鍵(共通鍵)暗号方式やね 今回使うのは↑の公開鍵暗号 ttp://qiita.com/t-kashima/items/251acd9ce70ce8929836 参照 : takesi [sage] 2016/01/23(土) 18:40:04.52 なるほど どうやって使うのですか? : takesi [sage] 2016/01/23(土) 18:40:37.00 理解しました : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 18:47:04.95 秘密鍵の設定 eclipseの ウィンドウ→設定を押す 一般→ネットワーク接続→SSH2を選択する 一般タブの秘密鍵に今送った秘密鍵を設定する Gitリポジトリの設定 ウィンドウ→パースペクティブを開く→その他を選択する Gitリポジトリ・エクスプローラーを選択する Gitリポジトリの「複製」を選ぶ URIを選ぶ(ここら辺違うかも) URIに「git@github.com:tamochu/neet1programming.git」を入力(コピペでおk) プロトコルにsshを選ぶ 次へを選ぶ : takesi [sage] 2016/01/23(土) 19:00:42.05 途中でよく分からないメッセージが出てきましたが 多分出来たと思います : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 19:08:25.61 eclipseのJavaパースペクティブで neet1programmingプロジェクトが表示されていれば成功 プロジェクトを右クリックして チーム→プル Exam1.javaが出てくると思う そこに 課題:1〜100を足すプログラムを書きなさい : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 19:16:03.07 できたらお待ちかねのコミット→プッシュ といってもプルと同じように チーム→コミット を押して更新のあるファイルを選択したら 「Commit and push」を選ぶだけ : takesi [sage] 2016/01/23(土) 19:19:42.71 Javaパースペクティブとはどこでしょうか これは成功しているのでしょうか スマホからなので直撮りですみません ttp://i.imgur.com/ZAUTelg.jpg : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 19:23:13.47 あ、チェックアウトしてないや Gitリポジトリのneet1programmingを右クリック プルを選択 いろいろ聞かれるけど次へか完了でおk : 仕様書無しさん [] 2016/01/23(土) 19:29:07.16 完了しました 変化はありません どうすればいいのでしょうか : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 19:29:20.48 もしくはインポートしてないって可能性もあるか Gitリポジトリのneet1programmingを展開 作業ディレクトリを右クリック プロジェクトのインポート既存のプロジェクトのインポートを選んで次へ neet1programmingをチェックして完了 : 仕様書無しさん [] 2016/01/23(土) 19:36:31.53 できました : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 19:37:04.63 どこまでー? : takesi [sage] 2016/01/23(土) 19:42:07.60 Exam1,2 を出すまでできました 今から課題に取り掛かります : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 19:44:45.11 ガンバ もうすぐ飯落ち 課題作っとくからいない間気が向いたら解いてね : takesi [sage] 2016/01/23(土) 19:47:44.85 久々にJAVAで書いたので思ったよりてこずりました 今からコミットします : takesi [sage] 2016/01/23(土) 19:49:38.41 あれ?コミットできません コミットボタンが押せない状態です : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 20:05:54.65 コミットメッセージを入力する : takesi [sage] 2016/01/23(土) 20:18:14.88 できました : takesi [sage] 2016/01/23(土) 20:33:02.01 Exam2も完了しました : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 20:53:35.93 戻りました プッシュできてないっぽいかな プロジェクトを右クリック チーム→アップストリームへプッシュ : takesi [sage] 2016/01/23(土) 20:56:31.15 やってみました どうでしょうか : takesi [sage] 2016/01/23(土) 21:02:43.99 新しいExamをEclipseに取り入れるにはどうすればいいのでしょうか? : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 21:03:57.35 うーん来ない TeamViewerで画面見せてもらていい? : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 21:05:35.97 取り込みはプル : takesi [sage] 2016/01/23(土) 21:11:45.17 了解しました TeamViewerはちょっと…すみません : takesi [sage] 2016/01/23(土) 21:12:31.88 よく分からなくて怖いんで : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 21:16:17.58 じゃあ問診で行こう コミットもう一度できる? : takesi [sage] 2016/01/23(土) 21:17:08.04 できません : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 21:21:13.76 じゃあコミットはちゃんとできてるな アップストリームにプッシュはもう一度できる? : takesi [sage] 2016/01/23(土) 21:22:44.05 やってみました : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 21:25:43.12 エラーメッセージとか出た? : takesi [sage] 2016/01/23(土) 21:33:30.13 こんなのが出てOK押してもなんともなりません ttp://i.imgur.com/zl03IUa.jpg : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 21:35:22.82 ああ、それ出てんのか 対処法忘れたからちょい待ってね : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 21:38:31.49 プロジェクトを右クリック チーム→アップストリームからフェッチしてみて そしたら チーム→ワークスペース同期化 出てきた画面で全部のファイル選んで右クリック マージ済みとしてマーク 終わったらもっかいプッシュ : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 21:39:38.58 ワークスペース同期化の前に チーム→マージ 忘れてた : takesi [sage] 2016/01/23(土) 21:42:28.46 ここからどうすればいいのでしょうか ttp://i.imgur.com/mGhQBeG.jpg : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 21:44:39.16 何もフェッチできないんだったら 今度は チーム→リベース : takesi [sage] 2016/01/23(土) 21:50:13.14 下の項目2つともにチェックを入れればいいんですか? : takesi [sage] 2016/01/23(土) 21:51:43.52 うーん…よく分かりません : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 21:52:34.16 チェック?入れると来ないと思うが しいて言うならリモートトラッキングのorigin/master : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 21:53:11.24 ×と来ない ○所ない : takesi [sage] 2016/01/23(土) 21:57:56.98 こんな画面です ttp://i.imgur.com/nYnWMt8.jpg : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 22:04:43.11 ttp://imgur.com/a/4AcVm : takesi [sage] 2016/01/23(土) 22:06:10.16 その通りになりません : takesi [sage] 2016/01/23(土) 22:07:21.59 リベース結果 HEADはすでに最新の状態のためリベースは何もしませんでした と出ます : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 22:08:41.92 どっちもチェック入れないでやってみて : takesi [sage] 2016/01/23(土) 22:10:23.36 そうするとになります : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 22:11:31.49 よしもっかいチェックアウトからやり直したほうがいいな 問題解いたファイルをどっかにコピーしといて プロジェクトを右クリック→削除 Gitリポジトリ・エクスプローラーで右クリック→リポジトリの削除 終わったらもっかいGitの複製→インポート その後コピーしといたファイルで上書きしてコミット→プッシュ : takesi [sage] 2016/01/23(土) 22:16:28.78 やってみても以前と同じ状態になってコミットできません : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 22:23:26.30 削除の時に出るチェックボックスチェックつけてもっかいお願い : takesi [sage] 2016/01/23(土) 22:26:55.43 全てにチェック入れても再び行うと元の状態に戻っています : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 22:36:25.51 チーム→切断 チーム→プロジェクトの共有 Git ttp://imgur.com/TkvgQp2 : takesi [sage] 2016/01/23(土) 22:39:26.70 やりました 次にどうすればいいのでしょうか : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 22:40:17.85 またコミット→プッシュしてみて : takesi [sage] 2016/01/23(土) 22:41:20.53 …(;´Д`)ウウッ… できません : takesi [sage] 2016/01/23(土) 22:46:42.65 teamviewer使ってみます ID送ります : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 22:49:23.02 プロジェクトを右クリック プロパティでプロジェクトの置き場所確認してください : takesi [sage] 2016/01/23(土) 22:52:52.47 送りました 操作できますか? : takesi [sage] 2016/01/23(土) 23:01:01.71 これからの変更はコミットすれば届くのでしょうか : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 23:01:32.77 できましたね さっき行った操作のおさらい マージとは 同じファイルを編集してしまった場合あとからプッシュする人が 何が二人の更新を合わせたうえで正しいか判断する必要がある その作業をマージという gitでは衝突(まったく同じ個所を編集)していなければ大体勝手にマージしてくれる : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 23:03:21.86 そうです またnon-fast-forwardと出たら 1.プルして再度コミット→プッシュ 2.フェッチしてマージして再度コミット→プッシュ が原則です : takesi [sage] 2016/01/23(土) 23:05:45.39 分かりました! とりあえずGithubでファイルが共有できるまでになりました 自分で課題を進めていきます 今日はありがとうございました : takesi [sage] 2016/01/23(土) 23:07:06.59 私は学生で受験生なので低浮上になるかもしれませんがよろしくお願いします 3月中頃から春休みで本格的に勉強ができますが、それまでもできるだけ毎日顔を出したいと思います : t.mourning ◆HeJleJP5y2 [sage] 2016/01/23(土) 23:07:49.55 乙です 次の課題用意+講義内容まとめときます わかんないとこあったらカキコよろです : takesi [sage] 2016/01/23(土) 23:13:32.30 わざわざありがとうございます 期待に沿えるよう頑張ります : takesi [sage] 2016/01/24(日) 13:30:33.40 おはようございます 課題に取り組みます 特に配列の理解が甘いみたいなのでググりながら解いていきます : takesi [sage] 2016/01/24(日) 14:34:23.47 Exam4,7以外は終了しました コミット完了です : takesi [sage] 2016/01/24(日) 17:10:58.24 いま確認したらコミットできてませんでした なぜだろう : takesi [sage] 2016/01/24(日) 17:16:19.68 昨日のことを思い出しながら闇雲にボタン触ってたら出来ました こんなんでいいのやら : t.mourning ◆HeJleJP5y2 [sage] 2016/01/24(日) 17:45:37.57 うごきゃあいいんだよ : takesi [sage] 2016/01/24(日) 18:15:09.77 Exam4,7は分かりません 他の問題もググりながら解きました 難しいですね : t.mourning ◆HeJleJP5y2 [sage] 2016/01/24(日) 19:48:15.04 じゃあ4,7のヒント出す 4 「abcdefghijklmnopqrstuvwxyz .,-」 をcharの配列で持つ charを渡してその配列の何番目の文字(int)か調べる(関数化するとよい) 暗号の文字列を上の処理を使ってintの配列に直す その配列すべてに同じ数xを足す 30(文字の種類数)を超えたものは30を引く intの配列をまたcharの配列に戻す charの配列中に「person」の並びがあるか調べる 並びがあればその並びが正解 このような数xを探す 7 たらいまわし関数とは まずxとyを比較し yのほうが大きければ return y; そうでなければ int newX = tarai(x-1, y, z); int newY = tarai(y-1, z, x); int newZ = tarai(z-1, x, y); return tarai(newX, newY, newZ); する関数。 : t.mourning ◆HeJleJP5y2 [sage] 2016/01/24(日) 19:56:30.87 今日はどれやりたい? 関数について オブジェクト指向について パッケージとアクセス修飾子について : takesi [sage] 2016/01/24(日) 20:17:01.44 オブジェクト指向についてお願いします : t.mourning ◆HeJleJP5y2 [sage] 2016/01/24(日) 20:32:16.57 把握 関数については知ってるものとしてやるよー オブジェクト指向とは ttp://nobuo-create.net/java-beginner-17/ よく言われるのはものを基準にプログラミングを考えるということ 生徒というオブジェクトを考える 生徒には名前と学年という情報(もっとあるがここでは省略)がある 3人の生徒 takesi:1年生 John:2年生 Suzuki:3年生 がいた場合 オブジェクト指向を使わないでこの情報を持つとしたら String[] names = new String[]{"takesi", "John", "Suzuki"}; int[] grades = {1, 2, 3}; とかやるわけだが、一人の情報は一人の情報でまとめて持っておきたい そのためJavaではクラスというものを使ってオブジェクトを作る その場合以下のようになる class Student { String name; int grade; }; Student students = new Student[3]; Student takesi = new Student; takesi.name = "takesi"; takesi.grade = 1; students[0] = takesi; …以下略 : t.mourning ◆HeJleJP5y2 [sage] 2016/01/24(日) 20:39:19.09 この一つのオブジェクトに属する情報は一つのオブジェクトに持たせる というのがカプセル化とか呼ばれるオブジェクト指向に必要な要素を実現させる カプセル化とは 学年ではなく中身では生年月日とかで情報を持っているけど その情報は教えずに何学年かという情報だけ教えたいということがある このとき外部から不必要な情報(今の例では生年月日)は直接アクセスできず アクセスが許可されている情報(今の例では学年)にのみアクセスできると 情報の安全性を保つことができる このように情報を内部に持つこと(および外部からアクセスできる情報とできない情報を管理すること) をカプセル化という 今回は学年と年齢という情報がカプセル化されたことになる : takesi [sage] 2016/01/24(日) 20:43:43.29 関数は概要は理解していますが Pythonで理解したのでコードはかけません そこは自習します : t.mourning ◆HeJleJP5y2 [sage] 2016/01/24(日) 20:46:55.26 今クラスの中には名前と学年の変数(情報)がある 生徒というオブジェクトには名前を名乗るというメソッド(行動)が可能であるとしよう その場合 class Student { String name; int grade; String getName() { return "My name is " + name; } } などとしてやれば生徒オブジェクトに自己紹介をさせることが可能になる このようにカプセル化では変数だけではなく関数も内部に持たせることができる あ、あとでまとめてStudentクラスコミットするから細かいとこ気にしなくていいよ : t.mourning ◆HeJleJP5y2 [sage] 2016/01/24(日) 20:53:04.61 以上のように情報を持ち行動が規定されているものをプログラミングでは カプセル化されたオブジェクトという 課題:Studentクラスを参考にしながらTeacherクラスを作成せよ ただしTeacherクラスは名前と担当教科の情報を持ち 授業の最初に挨拶「おはようございます。(教科名)の授業を始めます」する行動 ができるものとする : t.mourning ◆HeJleJP5y2 [sage] 2016/01/24(日) 21:01:51.47 コミットした プルしてね : takesi [sage] 2016/01/24(日) 21:22:43.18 コミットしました 書経のような感じでしたが 理解できるように考えながらコードを書きました : t.mourning ◆HeJleJP5y2 [sage] 2016/01/24(日) 21:25:44.45 いい感じ 続いて 課題:Teacherクラスにも自己紹介「My name is 〜〜〜」するメソッドを追加せよ : t.mourning ◆HeJleJP5y2 [sage] 2016/01/24(日) 21:32:11.02 やってる間に次の話題書いとく ここでTeacherクラスにもStudentクラスにも name変数 が存在し、 getName関数 が全く同じ内容で存在することに気付く これは何度も書くのは無駄無駄無駄ァ これはなぜか考えると 生徒も教師も人である 人だから名前を持っている また自己紹介もする ということは生徒も教師も name変数 を持ち getName関数 を持つHumanクラスという風に考えられる Javaではこれを class Human { String name; String getName() { return "My name is "name; } } class Student extends Human { … } のようにする これを継承という : t.mourning ◆HeJleJP5y2 [sage] 2016/01/24(日) 21:37:04.19 継承とは 基本となるクラス(基底クラス・親クラス)から それらの要素を引き継いだ新しいクラス(派生クラス・子クラス) を作ること 派生クラスでは基底クラスのメソッド以外に派生クラスで独自に追加した 変数やメソッドを利用できる また基本となるクラスには(基本的に)制限はなく 派生クラスの派生クラスといったものも作れる : takesi [sage] 2016/01/24(日) 21:39:40.63 の通りにしているはずがコミットできません : t.mourning ◆HeJleJP5y2 [sage] 2016/01/24(日) 21:43:37.56 ウボァ プルした? そのあとアップストリームへプッシュした? : takesi [sage] 2016/01/24(日) 21:45:55.85 アップストリームにプッシュすると non-fast-forward と出てきます : t.mourning ◆HeJleJP5y2 [sage] 2016/01/24(日) 21:48:17.04 うーん マージは? : takesi [sage] 2016/01/24(日) 21:49:39.92 マージすると 結果 失敗 とでます : t.mourning ◆HeJleJP5y2 [sage] 2016/01/24(日) 21:51:26.62 じゃあリベースは? : takesi [sage] 2016/01/24(日) 21:56:40.77 いじってたらしばらくして HEAD はすでに最新の状態のためリベースは何もしませんでした と出ました : takesi [sage] 2016/01/24(日) 21:57:58.93 いきました! リベースのリセット?のあとプッシュでいけました : t.mourning ◆HeJleJP5y2 [sage] 2016/01/24(日) 21:59:14.89 あ、きたね じゃあ続き Humanのクラスコミットすんね : t.mourning ◆HeJleJP5y2 [sage] 2016/01/24(日) 22:06:13.73 pullよろ Humanクラスについてもう一つ考えてみよう 人間には性別というものがある そこで 課題:Humanクラスにgender(性別)メンバー(変数)を追加し それを設定する関数setGenderと取得する関数getGenderを追加せよ その後Studentクラスの自己紹介でgetGenderせよ : takesi [sage] 2016/01/24(日) 22:09:37.55 うーむ、難しい 時間がかかりそなので宿題ということで考えておきます : takesi [sage] 2016/01/24(日) 22:12:00.79 の通り学業が忙しため平日はあまり時間が取れません 受験が終われば時間が取れるようになるのですが… : t.mourning ◆HeJleJP5y2 [sage] 2016/01/24(日) 22:14:06.78 了解 次はオブジェクト指向の続きからね 流れ 継承 ↓ 多態性(オーバーロードおよびオーバーライド) ↓ 継承その2(仮想関数) ↓ テンプレートクラス ↓ アクセス修飾子 それとは別に演習作っとく : t.mourning ◆HeJleJP5y2 [sage] 2016/01/24(日) 22:14:55.55 ゆっくりで構わんよ っていうか自分も平日疲れてすぐ寝るからそのほうがありがたい : 仕様書無しさん [sage] 2016/01/24(日) 22:55:35.64 なにこのスレすごい あとで読み返してみる : 仕様書無しさん [sage] 2016/01/25(月) 01:05:24.47 String[] names = new String[]{"takesi", "John", "Suzuki"}; int[] grades = {1, 2, 3}; のほうがはるかに合理的 データ0番、1番、2番って番号で管理できる Suzukiが5人いたとしても番号が一意で分かれているから混同もしない 人間クラスから派生して生徒、教師ってのも変 役割が根本的に違うのだからそれぞれ別でいい 学校クラスがないのも変だな〜 学校クラスにそれぞれの生徒と教師がメンバとしているはずだ : takesi [sage] 2016/01/25(月) 02:04:03.82 眠れないので課題やってみました 全く分かりません どこからの知識が抜けてるのやら Teacherクラスをコピペ改変したようなコードしか書けませんでした : takesi [sage] 2016/01/25(月) 02:09:44.46 どこを勉強すればいいのでしょうか 今日はまとまった時間が取れそうなので勉強します : t.mourning ◆HeJleJP5y2 [sage] 2016/01/25(月) 22:04:30.90 あれで問題ない 最初はまねて 次は少し変えてみて 最後に自分で書けるようになればいい Exam4穴埋め式にした 何か好きなパズルとかある?それ題材にする : takesi [sage] 2016/01/25(月) 22:08:34.00 あれでいいんですか?!自身なかった 自分で書けるのか不安だったけど安心しました あんまりパズルはしませんが… クロスワードはやったことあります : t.mourning ◆HeJleJP5y2 [sage] 2016/01/25(月) 22:09:29.88 クロスワードはちょっと向かないなぁ 数独とかカックロとか数字しか使わない系で : takesi [sage] 2016/01/25(月) 22:14:32.67 数独はやったことあります : takesi [sage] 2016/01/25(月) 22:28:17.49 Exam4難しい‥ ちんぷんかんぷんです : t.mourning ◆HeJleJP5y2 [sage] 2016/01/25(月) 22:31:44.49 じゃあオーソドックスに数独にしとこうか 平日は演習問題の形でコミットするからそれとくような感じで 休日が昨日みたいな感じで 最初は強く当たって後は流れで : takesi [sage] 2016/01/25(月) 22:37:43.22 了解しました : takesi [sage] 2016/01/25(月) 22:47:49.69 Exam4は分かりません どこか復習が必要でしょうか : t.mourning ◆HeJleJP5y2 [sage] 2016/01/25(月) 23:00:28.78 じゃあそれは飛ばして答えコミットする 土曜はそれの解説からね : t.mourning ◆HeJleJP5y2 [sage] 2016/01/25(月) 23:01:26.95 できたとこまででいいからコミットしてくれたらヒント書いて返す : takesi [sage] 2016/01/25(月) 23:09:04.26 全く手を付けられませんでした : 仕様書無しさん [sage] 2016/01/26(火) 09:52:55.08 すみません C言語ができれば ずっと食べていけますかね? android からwindows のソフトまで作れますよね??? : 仕様書無しさん [sage] 2016/01/28(木) 20:55:55.34 なにこれ、本気で教育が始まってるの? : takesi [sage] 2016/01/30(土) 19:17:22.28 受験との両立をしようと思っていたのですが 学校も忙しくなり受験も追い込み時期になったことで余裕がなくなってしまいました 3月12日から再開させてもらってもよろしいでしょうか : t.mourning ◆HeJleJP5y2 [sage] 2016/01/30(土) 21:08:54.99 ええよ スレなくなってたら建ててな : takesi ◆5LQe9dJ7ck [sage] 2016/01/30(土) 21:24:27.65 ありがとうございます 3月12日にもどってきます トリップつけときます : 仕様書無しさん [sage] 2016/01/31(日) 08:57:35.56 ベクターとかストアに作品のせれば経験になりますか?
凡例:
レス番
100 (赤) → 2つ以上レスが付いている
100 (紫) → 1つ以上レスが付いている
名前
名無しさん (青) → sage のレス
名無しさん (緑) → age のレス
ID
ID:xxxxxxx (赤) → 発言が3つ以上のID
ID:xxxxxxx (青) → 発言が2つ以上のID
このページは2ch勢いランキング が作成したアーカイブです。削除についてはこちら 。