「.NET」じゃない初心者向けの本を「.NET」翻訳しよう

 ええと、ここはそういうところです。
 全くの初心者・ずぶの素人にとって、本通りに操作できないのは非常に困る。
 私は困る。
 ところが、.NET本ってVBやVC#がほとんどで、VC++はごくわずか。
 そうなると、VC++6.0以前の解説本に頼らざるを得ないでしょ?
 ところがぎっちょんちょん(そういう年齢です、私)、「.NETでは、『それ』、どうやるの?」と非常に困るわけです。
 そんな悩みを解消しようと言うのが『「.NET」じゃない初心者向けの本を・・・・(長い
 こんな私に似た少数派へ贈る、特別企画!(笑)。

 えと、翻訳し切れていない部分もありますが、どうかご勘弁をm(_ _)m
 そして、その時点でこう解釈したが、後日誤りであることが分かったという内容も、
「********以下の内容は誤りであることが分かりました***********」
こんな、コメント付きでそのまま残してありますので、前後に注意して下さい。

「.NET」翻訳しよう〜その1〜
技術評論社発行 平成12年8月5日発行     
 VisualC++あんしん入門  

コメント
 この本は結構、気に入ってます。分かりやすい。というか、浮気してこの本へ戻ったんですが。
 初心者向けの本を何冊か飛ばし読みして、これへ戻ったら「わかりやすいじゃ〜ん」と。
 この企画のきっかけとなりました。

技術評論社の方へ:個人的にとても気に入ってるので、必要な内に、これの.NET版を出して〜と思っています。また、このページの内容に問題がありましたら、指示に従いますのでご連絡下さい。

「.NET」翻訳しよう〜その2〜
 未定・・・候補:「プログラミング実習 VC++入門編」・「VisualC++6.0の応用例」共にソフトバンクパブリッシング



VisualC++あんしん入門
 画像で解説するため、最初から説明すると画像ばかりで重たくなっちゃいますので、
エッセンスの詰まった第4章を例にとって説明します。
 フォローできるところは、〜第3章までの該当箇所も示すようにします。
 また、見出しの左端「P○○」はこの本のページ数を指し示しています。


メニュー
新規作成で「MFC AppWizard」を選択する(Win32 ConsoleApplicationも)
新規作成で「SDI」やら「ツールバー」やらいろいろ選択する
ヘッダーファイルの新規作成(ユーザー関数や変数なんかも)
関数の追加
OnDraw関数がうまく行かない

P210 MFC AppWizard を.NETで選択する(Win32 ConsoleApplicationも)
 この本(というか、C++6.0のどの本でも)では、『まずはメニューバーの「ファイル」−「新規作成」から「○○」を選択し・・・』と当然の如く、説明が始まります。ところが、その通りにスムーズに逝かせてくれないのが、バージョンアップしちゃった.NET。
 まずは下の図を見て下さい。.NETでは、「ファイル」−「新規作成」の後、右向き▲へカーソルを移動して、「プロジェクト」をクリックすると、下のウィンドウが開きます。
 お手元の本と見比べて下さい。・・・似てるような似てないような・・・「当たり」なような、なんか落とし穴が隠れてるような・・・なんとも言えない雰囲気が漂いますが、私のこれまでの経験では「当たり」でした。信じて下さい(笑)。

 


 上の図で「プロジェクトの種類」の中の「VisualC++プロジェクト」に薄く色が付いているのがお分かりでしょうか?
 同様に「テンプレート」の中で「MFCアプリケーション」にも。これは、それぞれを私が選択したということを表しています。
 ここで、この本の210ページの指示では、「MFC AppWizard」を選択して、プロジェクト名を「LeadBall」と入力して、OKボタンをクリックとなっています。
 同様の事を.NETでやると、(たぶん)このステップです。
P211 ステップをデフォルトで次へ の指示に抵抗して色々見てみよう


 え〜と、P117で「SDIをチェックして」という指示がありますが、それはここの「アプリケーションの種類」の「シングルドキュメント」でOK。

 また、P120のイラストで「MFCライブラリとのリンク」の「MFCの共有DLLを使用」にチェックが入っていますが、
これは上の「MFCの使用法」のことかなと推測しています。
 『プロジェクトのスタイルはどのようにしますか?」も同様ね(笑)。



 このイメージはP119のステップ4のイラストに通じるかな?と。
 「ツールバーの外見はどのようにしますか?」はここで選択
 その他は下の図のウィンドウで選択すれば良いと思います。

P214 ヘッダファイルの作成(ユーザ関数や変数なんかも)
 どうも、C++6.0では新しく作るものは「ファイル」−「新規作成」で全て賄っていたようです。
 .NETでは、「ファイル」−「新規作成」では「プロジェクト」・「ファイル」・「空のソリューション」を選択出来るようになっていますが、ヘッダーファイルだのユーザー関数だのって、どうやって良いの最初は戸惑いました。
 で、下の図です。他にもたくさんあるところへ「新規作成」でなくて、「追加」なんですね。
 このことを分かっていると、戸惑わずに済みます。

 で、上の図の「新しい項目の追加」をクリックすると・・・下のウィンドウが開きます。
 きちんと、214ページの指示に従って、「Game」というファイル名のヘッダーファイルを作ろうとしている気の回しように気付いて下さいね。

P219 関数の追加

 上で説明しているようにユーザー関数はこのように追加します。
 本では、CLeadBallViewクラスにDrawGameScreenという関数をprivateで追加するよう指示が出ています。
下の図は、関数名を入力して、アクセス制御の設定をしているところです。
なお、関数の後ろの「()」(かっこ)は入力しないで良いようです。

 さらに、この関数の解説を・・・

コメントのところを見て下さい。このように入力します。
すると、↓このように作成してくれます。

 ユーザー関数ではない関数(なんというかわかりません)は方法が違いますので、ご注意を。

P220 OnDraw関数がうまく行かない

 えぇと・・・下のテキストを書いた翌日です。
 下の内容は誤りです。なんの意味もない事が分かりました。
 何でも、C言語ではコメント(C++でいうところの「//」の後ろに書くものね)は
 /* と */の間に書くそうです。緑色の文字が変だなぁ〜とは思っていたのですが、そういうことですか(汗。
 ま、ということで、こんな勘違いをした瞬間もあったという事で、削除はせずに・・・


********以下の内容は誤りであることが分かりました***********
 先に言っておくと、解決できていないのです。
 何度もOnDraw関数で勉強がストップしてしまっています。
 ただ、その中でわずかな前進が見られている部分があるので、説明します。
 「ビルド」すると、必ずここでひっかかります。

 私にとっては、悪魔のようなOnDrawです(笑)。
 本を見ると「void CLeadBallView::OnDraw(CDC* pDC)」となっています。
 上の図の関数の記述はCOMが勝手にやったことで、私のタイプミスではないのです。
 このままビルドしても、鬼のようにエラーメッセージが出ます。こんな感じ・・・



 そこで・・・

 このように、直してあげるとエラーメッセージは減ります。すごく減ります。


 減りますが、実行できません。でも、減った事で今は満足です。
 このせいで、コードを書いてビルドして、エラーを直して、あきらめるの繰り返しです。
 これどうやったら良いんだろう?

*********上の内容は誤りであることが分かりました**********