Evaとは、ここをクリックというアプリに必要な、文字の表示・マウスのポイント・クリックの処理の三つを一元管理するものです。モノを漢字にすると者と物がありますが、ここでは自動機械(Automaton)という中間的な存在をイメージしています。
中身につきましては、これまでのSとALANからポイントだけを抜き出して構成していく予定です。
Hello worldと言えばK&R以来どこの環境でも教えられていますが、Windowsでは違うのです。K&Rが想定したUnixや昔のMS-DOSでは、標準入出力というものがあり、そこにHello worldという言葉を出力することがプログラミングでした。Windowsには標準入出力がありません。では、どうするのか。WindowsというOSから描画要請が出されますので、それに対する応答として描画のAPIを呼び出します。
描画要請は、ウィンドウが隠されてから見えるようになった時にも出されます。つまり、一度限りの出力ではなく、ウィンドウの中にHello worldという言葉が存在していると考えて、見せろと言われたら見せるという考え方です。そのためには、何か存在に名前を付けて管理するのが良いと思いまして、Evaと呼ぶことにしました。
Evaとは、Expanded Visual Automatonの略であり、Visual C++にソースレベルでアドインして使うライブラリです。ちなみに、Evaは辞書にもある普通の名前で、著名なアニメ作品とは無関係です。
というような路線で展開していこうかと思っています。
お米の問屋が5次まであるとかで、IT業界と同じですね。現場が困っているのも同じということで、備蓄米の放出みたいなことを書いてみました。まずは、VisualC++の無償版を使ってプロジェクトを作成することから説明します。検索してダウンロードしますが、ここでは2022というものを使っています。…変更すると動かなくなったりするので、これを使っています。
新しいプロジェクトの作成をクリックします。
Windowsデスクトップアプリケーションを選択して、次へ行きます。
場所を選択してプロジェクト名を入れます。選択した場所にEvaというフォルダが作成されて、その中にすべて入ります。
まずは、hello worldを出します。WM_PAINTの処理のところで描画コマンドを書きます。
ビルドメニューの構成マネージャを実行し、構成をReleaseにプラットフォームをWin32にします。無償版では64ビットの実行ファイルを作成できないようです。まあ、とりあえずこうすれば動くものが得られます。
実行ファイルEva.exeは作成したフォルダの中のReleaseフォルダの中にできますので、実行すれば上のような表示が出ます。とりあえずプロジェクトの作成までは、これで成功したことになります。最初に述べたクリックして何かをさせるプログラムについては、次のところから説明していく予定です。
ところで、hello worldという言葉を表示するだけなら、SetWindowTextを使えば、もっと簡単です。お客さんには出せない、まかない料理のようなプログラムですが、自分たちで使う分には実に重宝です。
これは、ソースコードのどこに書いても即座に実行されます。なので、デバッグにも重宝です。デバッガのように重くなりません。ポインタを間違えて落ちた時に、どこまで動いたかを調べたりします。
ちなみに、while(1){}のようなコードで無限ループにはまった時には、三本指(Ctrl+Alt+Del)でタスクマネージャを呼び出して落とします。こういう基本技術は最初に教えておくべきではないかと思います。そういえば柔道の授業で最初に習ったのは受け身でしたっけ。
ここをクリックというアプリはWindowsのみならず多様なプラットフォームで使われています。また共通の文字コードとしてUTF8が定着しています。そこでA言語というようなスクリプト言語を使って、それぞれのプラットフォームに受け皿となるようなランチャを用意すればということでEvaを提案しています。なお上位のSとALANもあります。とりあえず、たいしてお客もいないので、のんびりぼちぼちと進めています。もし要望があれば優先的に対応する気はあります。
プロフィール
システムクリエイター 神野勇気 (Yuki Kamino) 愛称 ゆっきい (Yukkie) 境界領域のスペシャリスト 166cm
好きな将棋の駒 歩 座右の銘 勝ちは時の運、負けは明日の糧 好きな音楽 モーツァルトの不協和音
学際学の会(Mediological Sociecy)の提唱者 … 単なる任意団体なのだ。提唱者とは言ったもん勝ちということ。