end of y901

Y901 は本当に終わっていた。
Vista で使い物にならネェ、、、、、、、、、、
むしろ開発終了していて良かった、、、、、、、、、、

v2.1.31 のソースが出てきたのでコレをベースでなら少しは直せるけど、
この Explorer の仕様ではファイルの並び順をどないせっつーの!
もはや名前順以外は消したほうが無難だわな。

それより Vista という OS の考え方とはギャップが大きすぎる。
Vista 用の WMP11 が洗練されすぎていてなんかみじめに感じてしまう。
XP 用とは随分違うんだね、フルスクリーンでのパネルには感動したよ。

話は違うがそういえば codec がどうのとか最近見聞きしなくなった。
再生だけなら VLC か GOM 使えで終わってしまう凄い時代になっちまったし、
つーかもはや MPEG2 か WMV 以外でエンコードする人が信じられないわけで。
まあ FLV や H.264 もあるけど、コレは目的が違う。

しかし…作った本人はあの操作にすっかり慣れきっているんだよなぁ。
とある事情で公開は続けているけど来年までには簡易な代替えに入れ替えるか。
言うまでもなくあまりやる気は無いので簡易で十分かと。
まだコレを使い続けている哀れなユーザーもそれ以上は望んでいないと察する。

Real は完全に無視します、Vista 未対応のようなのでインストールしていないし。
リアルネットワークス、新しいRealPlayerを発表–YouTubeのビデオダウンロードが可能:ニュース – CNET Japan
何がこの会社をそうさせた…

ということで DirectX SDK 最新版をダウンロード。
DX10 って 3D 以外は 9 と同じだから最新に拘らなくてもイイけど一応。
__________

ついでに、SeeMe や Palepoli が何の問題もなく動く事に驚いたよ。
カーネルレベルでの変更らしいのに下位互換性にこんなに拘るとは恐ろしい会社だ。
フリップ 3D も普通に追従するとは、マルチバイト処理もまだイケるようである。

だからといってその「そのために用意してくれた環境」に頼っていると自身が進歩しない。
ソレを補ってしまう開発環境だから腹が立つんだよ今のデルヒャァは!
過去の資産も大事だが下を育てるのという事も提供側は担っているのを解っていない。

IDE と秀丸の併用

[Think IT] 第2回:秀丸エディタでより便利なプログラミング (3/3)

ぶっちゃけ前2ページの TIPs は IDE 内蔵エディタを使えばいい。
…まあようするに私は基本的に IDE のみでプログラミングをする人なので。
このページの「他のソフトウェアの外部エディタとして登録する」だわ。

おぉ!こんなコトができるんだ。
今までわざわざ Explorer で開いていたのは無駄だった。

まあインデントの調整にキーボードマクロを利用とか変数名全置換とか、、、、、
その程度でしか併用はやらないんだけど便利な機能だわ。

早速同じように登録したよ、つーか VS の設定は解りにくいよ…

名前空間が便利

ところで私はプログラミングで普通にクラスを作ります。

オブジェクト指向がどうのというカッチョイイ理由ではない。
ぶっちゃけ「インテリシンク」を利用するためである。

ドット(ポインタなら -> )と打てば選択窓が出てくる。
そのまま打ち続ければインクリメンタルサーチで目的の関数が見つかる。
選択された所で Enter すればスペルミスすることなく挿入できます。

何故この機能を使いたいかというと、、、、、
C++ は大文字小文字を区別するのでよく間違えるからです、、、、、
それにデルヒャァでプログラミングを覚えた人間はコレが普通なので、、、、、

それだけの理由で自作関数を適当なクラスにまとめたりとかしていた。
…のですが、関数を使いたいだけの理由で都度実体を作成では非効率だ。
オーバーヘッドとかの理由もあるけど書くのが面倒!

何かもっと効率的な方法は無いかなぁ?

あっ namespace があった、と昨日気がついた。

この方法なら名前空間名を書くだけでイケルじゃないの。
なんて無駄なことをしていたのだろう、もうお馬鹿さんだなぁ俺。

名前空間ってなんか using namespace するのが当然みたくなっている。
関数名の衝突を防ぐ目的で考えられたモンなんだからもっと利用すべ。

以上今日の小ネタ。

wostringstream

wostringstream って便利。
だって文字列だろうが数値だろうが普通に出力可能なんですもん。

/*    

?* #include <sstream>

?*/    

void DbgMsg(LPCWSTR str, int i)    

{    

?   std::wostringstream ss;    

?   ss<<str;    

?   ss<<i;    

?   ::SetWindowText(PetrushkaWnd->hWnd, ss.str().c_str());    

} 

わかんない人は「はあっ?」でしょうけどコレが可能って凄いです。
オーバーロードの使い道ってこういうことなんですねぇ、頭のイイ人は怖い。
意図的に分けている Pascal 系に慣れている人にはカルチャーショックである。
先頭の w は UNICODE で(略)

以上今日の小ネタ。

シーストリングリスト

で、フォルダから抜き出したファイル名をリスト化するわけだが、
動的配列を使うのが C++ の王道なんでしょうけど、、
デルヒャァの TStringList みたいなモンがあったほうが圧倒的に便利だ。

つーことで CStringList クラスを作ることにした。

さて、いつものようにソリューションエクスプローラを右クリック。
「追加」から「クラス」を選択し、ウイザードに従ってと。

あれ、、、、、調べたら MFC に同名クラスがあるのですか。

Tips4 CStringList への高速文字列設定方法

万行詰め込めて高速なデルヒャァの奴と違ってエライ面倒なのね、パス。
VCL は良かった(過去形)なぁ、正常進化をしていれば新しい奴も買ったのに。

まあそれはどうでもよくて。
minipoli で vector テンプレートを使った方法を作っているのでこいつを改造っと。
どうせオープンソースにするのでどんな感じかはそんときに。

WPF がどうのという時代に地味なコトやってんなぁ俺。
時代遅れも甚だしいがコレも勉強だ。