第12回 - チューンアップ

[ 目次へ | 第11回へ ]

今回の目標
前回までで作成した電卓より速く動作するものに作り替えます。
Layout Controlを使わずにアプリケーションを作成してみます。

前回までで、電卓アプリケーションが完成しました。マシンの性能によってはあまり気にならないのですが、この電卓は動作が遅いのが問題です。
原因はActiveX Layout Controlです。Layout Controlを使うと画面のデザインは簡単ですが、動作が遅くなります。

そこで今回は、もう少し速く動作するものに作りかえてみます


今回の作りかえでは、Layout Controlで行っていた画面のデザインを、普通のWebページと同じように標準的なHTMLによって記述していきます。HTMLの文法は、今回のテーマから外れますから、ここでは詳しく解説しません。興味がある方は、WEBゼミナールや参考書などで各自勉強してください。
ここでは、レイアウトの雛形をもとにして電卓アプリケーションを作っていきます。雛形はこちらにありますから、ソースをコピーして使ってください。

標準的なHTMLで記述した場合、見た目をきれいにするのはかなり難しいことです。一般には、デザインのしやすさや見た目のきれいさを重視するのであればLayout Control、動作スピードを重視するのであればHTMLという使い分けが必要になります。Visual Basicを使って見た目もスピードも満たす方法もありますが、VBScriptに比べてほんの少しですが敷居が高いので今回はVisual Basicは使いません。


それでは、こちらからまず雛形を手元にコピーしてください。保存する時の名前は適当なものでかまいませんが、ここではとりあえず"calchtml.html"と呼びます。
この状態で一度Internet Explorerで表示させてみましょう。電卓のボタンが並んでいるだけです。

早速開発に入ります。calchtml.htmlをCPadで開きます。
16行目に空白の行があります(すぐ上の行に「ここに数値の表示枠を置きます」というコメントがあります)。この位置に数値の表示枠を置きます。
右クリックして「Insert ActiveX Control」を選んでください。リストの中から"Microsoft Form 2.0 Label"を選んで、OKしてください。
ラベルの設計画面が表示されます(こんな感じ)。Layout Controlの画面と同じような画面ですが、今選んだラベルの設計だけが可能です。ラベルは左上に小さく固まっていますから、これを適当な大きさに広げてから(こんな感じ)、プロパティを設定します。変更する個所はAlignmentとCaptionとIDです。それ以外のプロパティも好みに応じて変更してかまいません。見た目に関するプロパティ、BackColor、ForeColor、BorderStyle、SpecialEffectなどを変更してみるといいでしょう。

プロパティ名 新しい値
Caption 0 (空にしてもよい)
ID lblNumber
TextAlign 3 - Right

設定が終わったら、プロパティウィンドウとラベルの設計ウィンドウを閉じてください。


次にプロシージャを作成します。といっても、これは前回作成したものがそのまま使えます。CPadを終了して、calchtml.htmlをいったん閉じます。次に前回のcalc.alxをテキストエディタで開き<SCRIPT LANGUAGE="VBScript">の行から</SCRIPT>の行までをコピーて、calchtml.html(これもテキストエディタで開きます)の<HEAD>の後にペーストします。なお、Sub cmdXXX_Click(XXXはボタンの名前)は使いませんから、いったんペーストした後で改めてこの部分だけ削除してください。


最後にボタンを押した時のハンドラを作成します。再びcalchtml.htmlをCPadで開きます。開いたら、メニューの「Tools/Script Wizard」を選んでください。
左上のペインに電卓のボタン(正確にはボタンのVALUE)が並んでいます。それぞれのボタンの左側にある"+"をクリックして、onClickを選択してください。下のペインに、ボタンに対応するCallを書いていきます。例えば、"*"であれば「OnOperation(OP_MULTIPLE)」、 "0"であれば「OnNumber(0)」などです。すべてのボタンについてこの作業を行うと完成です!最終的にはこのようになります(ソース表示させてみてください)。


プロシージャのコーディングが不要だったため、難しい作業はなかったと思います。Layout Controlを使う場合でも使わない場合でもVBScriptには違いないので、同じコードが利用できました。
calchtml.htmlをInternet Explorerで開いてみると、前回までで作成したcalc.htmlより高速なのが分かると思います。

これで、電卓アプリケーションの作成はすべて終了です!
この後は、各自で機能の追加を行ってみてもいいと思います。例えば、パーセント計算やメモリ機能など、普通の電卓にある機能の追加が考えられます。

高価な開発ツールを買って、難しい勉強をしなくてもプログラミングが楽しめることが分かっていただけたでしょうか。それでもVBScriptでは物足りなく感じた時には、Visual Basicなどの他のツールを手に入れるといいと思います。

つたない説明におつきいいただき、ありがとうございました。

[ 目次へ | 第11回へ ]


メール 瀬尾佳隆 (webmaster@seosoft.net)