起動して,左の白い四角形の領域に「1+2」と式を入力し,EnterキーまたはCalculateボタンを押すと,右の白い四角形の領域に「3」と表示されます。式に使える文字は,0123456789.+-*/^()です。0123456789.は数値を打つのに使います。.は小数点を表します。+-*/^は演算子で,加算,減算,乗算,除算,べき乗を表します。()はカッコです。まるで普通ですね。
ボタンについて説明しましょう。
Clearボタン:式を消去する。Escキーでも同じことができる
Calculateボタン:式を計算して結果を表示する。Enterキーでも同じことができる
<--ボタン:結果を式の領域にコピーする。計算結果をもとに新しい計算をしたい場合に便利
Menuボタン:メニューの表示/非表示を切り替える
Exitボタン:プログラムを終了する
です。メニューには設定に関する項目がありますが,一度設定してしまえば,後に頻繁に呼び出すものではないはずです。メニューを隠す,という機能は見た目がなかなかファンシーです。
今度はメニューを説明します。
機能→終了:プログラムを終了する
設定→フォント:フォントの種類,大きさ,ボールド,イタリックの設定をする
設定→数式自動編集時に紫色で表示:自動編集の表示/非表示を切り替える
設定→ヒントを表示する:ヒントの表示/非表示を切り替える
ヘルプ→README.TXTを開く:SoftCalcの実行ファイルと同じディレクトリにあるREADME.TXTを開く
ヘルプ→作者Webサイトを開く:当Webサイトのトップ・ページを開く
ヘルプ→バージョン情報:バージョン情報を表示する
「数式自動編集」ってのは,意味がわからないだろうと思います。もちろん,あなたの落ち度ではありません。SoftCalcは内部で数式を解釈する段階で,解釈が可能になるように空白を削除したり,演算子を補ったりといった編集を自動的に実施します。「設定→数式自動編集時に紫色で表示」のチェックが入った状態では,自動編集を実行した場合に,変化した後の数式を紫色の文字で表示します。たとえば,「-1+2(3+4)」と打ち込むと,
のように,冒頭に「0」が,(の前に「*」が補われるのです。ただ,これはあくまでも内部の話ですから,見たくない人もいることでしょう。その場合には,前述のチェックをはずしてお使いください。
小さな文字を我慢するのはやめよう
さて,上の画像を見て,数式領域と結果領域の縦横比が変わっているのに気付かれた方もいることでしょう。SoftCalcはウィンドウのサイズ変更が可能です。また,中央にある黄色い縦棒(Delphiの用語ではSplitterです)をマウスでドラッグすると,左右の境界を移動させることができます。これによって,大きなフォントを使う際に,数式領域,結果領域の大きさをそれに合わせて大きくすることができるのです。
こんな感じです。ウィンドウの大きさ,黄色いバーの位置,フォントの大きさ,メニュー表示の有無などは終了時にINIファイルに記録されるので,次回起動時に設定をしなおす必要はありません。
小さな文字を我慢するのはやめましょう。目は大事なものなのですから。
本当に使いやすいと思っているワタシ
SoftCalcは,今回初めて作ったプログラムではありません。少なくとも1997年には,Visual Basic(VB)の2/4/5でSoftCalcに似た電卓を作り,私はそれを使い続けてきました。VB4/5はランタイム・モジュールのインストールが面倒で,なおかつVB6でコンパイルしなおすのも面倒で,私はVB2版を使い続けてきたのです。
私はその電卓が本当に好きでした。起動にこそマウスを使うものの,あとはテンキーで数式を打ってEnterキーを押し,式を消したいときだけ左手でEscキーを押し,というだけの単純な操作で計算ができます。数式が常時表示されているので自分が打ち間違ったかどうかを心配する必要がありません。間違っていたら,間違った部分だけを修正すればよいのです。これに慣れると,Windows付属の電卓なんて,使いやすさを論じるようなものではありません(もっとも,16進数の計算で使ったりはしますが…)。
ところが,その電卓はちょっと時代遅れな面が出てきました。VB2で作ったということは16ビット・アプリケーションです。Windows 98で使っているのならまだいいのですが,NT4/2000になると,起動が遅いんですね。2000だと,さらに問題が出たりもしました。2000では必ずそうなるという自信はありませんが,16ビットのアプリケーションを終了すると,しばらく反応しなくなるんですよね。ショートカットで「別メモリ領域で実行する」をチェックしておくと大丈夫なんですが,なんというか,そろそろVB2はあきらめるかー,という気分になってきたのです。
そこで今回は,Delphi 6(VCL)で書き直しました。これなら32ビットだし,ランタイムも必要ありません。そして,もう一つメリットがあるのです…
SoftCalcのシリーズ化
VBはWindowsのウィンドウ・アプリケーションを作る開発ツールです。VB6までのVBでは,コマンドライン・アプリケーションは作れません(VB7では可能になるでしょう)。でも,Delphiはウィンドウ・アプリケーションも,コマンドライン・アプリケーションも作れます。そして,Delphiの兄弟分であるKylixを使えば,Linux用のウィンドウ・アプリケーション,コマンドライン・アプリケーションも作れるのです。ここまで説明したSoftCalcは「SoftCalc for Windows」です。今後は,
・SoftCalc for Windows Commandline
・SoftCalc for Linux
・SoftCalc for Linux Commandline
を開発しようと思っています。いつになるかはわかりませんが,ご期待ください!
SoftCalc for Windows Commandlineリリース
上の文章を書いたのは2001年11月初旬。そのあと11/14にSoftCalc for Windows Commandline(以下scalcと略)を公開しました(ベクターに送ったのはもう少し前ですけど)。scalcは,Windowsのコマンドライン(Windows 95/98/Meなら「MS-DOSプロンプト」,NT/2000なら「コマンドプロンプト」)で使う電卓プログラムです。次の図はscalcを起動し,数式を入力して計算を行い,最後に終了する様子です。
終了はCtrl+z,Ctrl+c のほか,quit,exit,qのいずれかのコマンドを入力してもOKです。上の例ではscalcに引数をまったく与えずに起動しました。scalcに引数を与えて起動すると,上の例とは違った動作をさせることができます。
今度は,-hオプションを使ってヘルプ(簡単なものですが)を表示させたり,-vオプションを使ってバージョン情報を表示させたりしてみました。ヘルプ表示を見ると,ほかにも-a,-e,-pといったオプションがありますね。-aオプションは入力された式と「=」の表示をやめて,答だけを出力するオプションです。-eオプションを指定すると,引数で計算したい式を与えることができます。-aと-eの両方を指定したのが次の図です。
-pはプロンプト指定です。これも図で見ていただきましょう。
-pを指定したことで,「SoftCalc >」というプロンプトが出ています(うーん,ださい)。プロンプトは自分で指定することもできるので,指定して使ってくださいね。最後にもう一つ。scalcはファイルと標準入力を受け取ることができます。
この図では,最初にTYPEコマンドでtest1.txtの内容を表示,続いてscalcにtest1.txtを処理させています。scalcはフィルタなので,他のコマンドと組み合わせて使うことが可能です。ソフトウエアの部品として使えるとお考えください。
さて,どうしてこんなものを作ったのでしょうか? それは,Linux版を作ろうと思って,Linuxだとまだまだコマンドラインの方が便利かなー,なんて思って,まずはWindows上で練習しようということで作ったのですね。気が向いたらLinux版も出しますー。