今日はVC♯ .NET Framework 2を使ってみた。

  • Visual C# Express Edition Bata2

総合開発環境なんて使った事のない自分にはすごく便利に感じた。
ドキュメントがほとんど英語だけれども、特に問題はないし、
ベータなのにさくさく動く、結構安定しているような気が。
しかし、便利な反面何していいか分からなかったり、
デザイナーがソースを隠してたりするので、不安なことがあるがかなり便利である。

お手軽移植

人様が作ったDLLを使うのがお手軽で、.NET Frameworkの勉強になるので、
今回はclndwdll(クラナドのBGM再生ツール)をC#から呼び出してみた。
このツールDLLはよく分からないけれども、プレイヤーはVB製、だからかなりお手軽。

  • 少し前に.NET1.1に書き直したことがことがあるが、2.0との違いはとりあえず感じない。
  • C/C++からではややこしかったDLL呼び出しもかなり簡単になっている。
  • IDEがある方が作法が分かりやすい。

ほんとに楽で大体30分くらいで作成。

プログラムと状態管理

このツールは曲のリストと再生/一時停止 停止 の二つのボタンがあるだけなので、IDE無しでも簡単に作れる。
中身はあってないようなもの。簡単な状態管理だけ。


ところが、この状態管理が結構ややこしい。
状態管理フラグが必要になるが条件分岐が結構増える。
一時停止という結構まれな状態のために余計なものが増える。
これは結構嫌な感じだ。なんでたまにしか使わない機能のためにあっちこっちで気を遣わねばならないのか。
ちなみに isPause なんてフラグを作って管理していた。
なんか納得いかないのでしばらくにらめっこ。
結局、 再生中 一時停止 停止中 という三つの状態として管理することによって
プログラムが見やすく、管理しやすくなった。


また、簡単なプログラムなのにもかかわらず、細かいデータの扱いに意外と時間がかかる。
できる人はスクリプトとかでさくっと処理するんだろうな。
こういうことが意外と重要なのかもしれない。

まとめ

  • 状態管理には気をつけるべし。
  • 細かい作業こそ手早く。