2007年10月13日土曜日
シーシャープ
マイクロソフトのVisualStudioExpress2005を使ってC#言語のプログラムを体験してみました。
Webで調べてみると、C#はマイクロソフトが提唱しているらしい言語ですが、C++とはけっこう違うらしい。
このマイクロソフトのサイトにあるチュートリアルはドラマ形式なのが読みにくいけど、よくできています。
これはどうやら高校生あたりからはじめられるようにかかれているらしい。
2章までしかやってないけど、まぁ確かにほとんどマウスで出来るようになってるのはすごい努力を感じます。
サンプルレベルでは文字を打つことも少なく、コードもとりあえずコピー&ペーストすれば、やり方の流れはつかめて、実際に画像サイズを操作できるという現実味のあるプログラムを実行できます。
ただし欠点もあります。
自動で構築されるコードがあまりにたくさんで複雑に組み合わさっているため、指示の無いどこかをちょっと間違って削除してしまうと、まったく直せなくなるのです。
C#のチュートリアルをやってみたので、ついでにVisualC++Expressでもやってみたら、これがやり方がちょっと違う。
けど、言語をひとつでも知っていればカンがそこそこ生きようというもの。
いや、どう違うのかはよくわからないが、とりあえずカンでごちゃごちゃやってみたら、C#ではプロパティを.で指定できるのだが、C++ではエラーになって構造体だか共用体でないとだめ、といわれる。
意味はほとんどわからないが、前にかかれているコードを見るとどうも->と書けば同じくなることがわかりました。(素人考え)
だがとりあえず何度挑戦しても何も出来なかったVisualC++でちょっとは動いたのでよかった。
ヘルプを覗いてみるとC、C#、C++、J++、VBなどがいっしょに見られるんですけど、C++よりC#のほうが圧倒的にコードがわかりやすくて簡単です。
それと、いくつかのファイルがガガガッと作られてしまうのはどれでも同じですが、どういう風にバージョン管理したらいいのか、ぜんぜんコツがつかめず、ずっと同じファイルを改変していっています・・・。
【今日のメモ】
image.FromFileメソッド(実行時にピクチャを指定する)
pictureBox_img->Image = Image::FromFile(String::Concat("E:\\3dsmax7\\maps\\Reflection","\\REFMAP.GIF"));
どうやらピクチャーボックスのイメージに代入するには同然ながらイメージ(ビットマップ)を入れないといけないので、パスを指定しただけだと入らない。なので、これはFromFileでパスを指定してイメージにしてから代入していると思う。
よく見れば、リファレンスもよく出来ています。よく見れば、だけど。
制作・©:のぼる/N.Lab