第14回 プログラミングの舞台裏「5.人の好みは様々で〜Ver.0.4」
|
|
14−5 人の好みは様々で〜Ver.0.4
スクロールという大きな問題が片付いた頃、要望は、その動作から使い勝手にシフトするようになってきます。 プログラムのエンジンは完成し、その先のゴールが見えてきたことを実感できるようになってきました。 次の要望点は「セル内のデータの配置」です。 データの配置とは、右寄せ、左寄せ、中央寄せ、という位置のことですが、通常のスプレッドシートなら標準で持っている機能です。 このダイナミックな画面表示のオプション、その原理はそれほど難しくありません。 まず、左寄せですが、これは簡単、そのままの座標にデータを表示すれば良いだけです。 ![]() 次に、右寄せですが、これは「セルの幅」と「文字列の長さ(幅)」があれば、簡単に計算できます。 ![]() そして、中央寄せは、右寄せの半分、という簡単な計算です。 ![]() 幸いなことに、NSBSystemLibのFontCharWidth()やFontCharsWidth()を使えば、文字列の長さ(幅)は簡単に取得することが出来ますし、各列のセル幅はVer.0.2を作成した時に、内部に持つようになりましたから、いつでもその値を使うことが出来ます。 さて、機能は簡単ですが、どの位置をデフォルトにするか決めかねました。そこで再び、noriさんに尋ねることにしました。 すると「文字列は(数値も)私は中央が見やすいと思います」との回答でした。 明快な回答でしたので、デフォルトを「中央寄せ」にして公開しました。 一方、掲示板では、他のユーザーさんからの反応がありました。 「Excelのように、文字は左寄せ、数字は右寄せがデフォルトになると見やすいです」 一応、但し書きとして、各列ごとに設定すると速度低下につながるなら列ごとにしなくてもよい、ということでした。 そもそものCSVファイル自体には、その列が数値であるのか文字であるのか、という概念はありませんから、これを実現しようとすれば、コンバータ側の操作が煩雑になってしまう恐れがあります。 そこで、この点は目をつぶって、とりあえず、全部の列が同じ設定に従うような作りとしました。 もちろん、各列ごとで指定することも機能的は難しくないでしょうが、そのために操作が煩雑になるとビューアとして失格かと思いましたので、思い切っての割愛です。 この件で得たこと、それは、文字配置の好みは人それぞれである点です。正解などありません。 最終的には、この文字配置は自由に変更できるようにしましたので、使う人の好みの配置で使うことが出来ます。 多分、ビューアに限らず、ソフトの使い方は人それぞれですから、ある部分は、作者側から使い方を強制するのではなく、いくつかの選択の余地を残しておくのがよい筈です。 機能としては用意して、それを選択する自由をユーザー側に与える。それが親切な機能だと、改めて思いました。 また、Ver.0.2では、1行目を固定表示にしましたが、なんとなく使っていて不便に感じたので、1列目も固定表示にしてみました。 これは思ったより便利でした。ビューアとしての使い勝手が向上したように思えます。 この時点で、ビューアのバージョンはVer.0.4、内容的には、完成の域に達していました。 密かに隠し球を用意していました。 これまでのコンバータは、VBで作成したスタンドアロンタイプだけだったのですが、ここで、密かに作成していたExcelのアドイン版を公開しました。 この構想は、Ver.0.2の頃から既に頭の中にあったシナリオですが、ビューアの完成に伴って公開することにしました。 この時点で、コンバータが2種類と、ビューアが1つという、ACV!セットの基本3アイテムが揃ったことになります。 |
第14回 プログラミングの舞台裏「5.人の好みは様々で〜Ver.0.4」
|