雑学講座 第四回

ボタンってどんな種類があるの...

またまた予定を変更して[ボタン]の種類について講釈を...

今まで、フォームとかダイアログとかボタンというキーワードを何気なく使ってきましたが、一回整理しておきましょう。

その前に、Palmでは普段耳にしない いくつかの概念を持っているということをお話しないといけません。
ちょっとお付き合いくださいませ。

普段PC上で、ファイルとして扱っている物に相当するデータは、Palm上ではデータベースという概念で扱われていて、
大きく分けて、単なるデータベースとリソースデータベースと呼ばれています。

前者は、PC上で"xxxx.pdb"、後者は"yyyy.prc"という形で拡張子が付けられています。

今までお話してきたことは、リソースデータベースに関することですので、後者のリソースデータベースを解説しましょう。

リソースデータベースとは、リソースデータにより構成されるデータベースである。

以上

といってはみもふたも無いので、ちょっと解説を

「リソースデータベースとは、リソースデータにより構成されるデータベースである」

これはいいですよね。そんなものです。

では、「リソースって何?」と当然思われたでしょう。

リソースというのは、Macになじみのある方なら聞いたことがあるかもしれませんが、用はアプリケーションを構成する部品のことになります。

で、このリソースには、その内容に応じて識別する為の名前が決められています。

例えば、

[code]:実行コード
      アプリケーションの主役ですね。
[tFRM]:フォームリソース
      普段皆さんが目にしている画面に表示されている物と思ってください。
[tALT]:アラートリソース
      データを削除しようとしたら、
      「本当に削除してしまっていいですか?」と聞かれるときがありますね。
      このときに表示されるダイアログです。
[MBAR]:メニューリソース
      メニューです。
[tAIN]:アプリケーション名
      Home画面でアイコンと供に名前が表示されていますね。
      この名前は、このtAINというリソースに書き込まれています。

なんとなくお判りになりますか?

ちょっと自動車に例えてみましょう。

自動車
┣エンジン
┣ドア
┣ボンネット
┣シート
┣・・・

どうでしょう?
自動車というアプリケーションは、エンジン、ドア、ボンネットなどのリソースが集まったリソースデータベースという見方ができるかと思います。

さて、お次はオブジェクトという概念を。

上の自動車の例を見て、

「ひとくくりに「ドア」といっても、いろんな部品で作られているじゃないか。このいろんな部品に相当する概念は無いの?」

と思いませんでしたか?

では、ちょっと書き直してみましょう。

自動車
┣エンジン
┣ドア
┃┣右前
┃┃┣ガラス
┃┃┣内張り
┃┃┗・・・
┃┣左前
┃┃┣ガラス
┃┃┣内張り
┃┃┗・・・
┃┗・・・
┣ボンネット
┣シート
┣・・・

どうですか?
ここで、ガラス、内張り・・・というもろもろの部品がPalmではオブジェクトという概念で扱われています。

つまり、

ドアというリソースは、右前、左前といくつかあって、
それぞれのドアというリソースは、ガラス、内張り・・・というオブジェクトで構成されている。

ちょっとすっきりしてきましたか?

さて、Palmの世界に戻りましょう。

今回の講座のタイトルである「ボタン」というオブジェクトは、フォームリソースを構成する部品になりますので、
フォームリソースを例にとって、もう少し掘り下げてみましょう。

フォームリソースの一例を

 Zatu4-1.prc

画面全体を占めているフォームに、
ボタン、チェックボックス、テキストフィールドというオブジェクト(部品)が配置されていることがお判りでしょうか。

上半分の6個の四角はプッシュボタン
中ほどの4個の□+文字はチェックボックス
左下はボタン
下のまんなかはリピーティングボタン
右下はテキストフィールド

というオブジェクトとなっています。

これまた色々な種類があるのですが、
はあ、ちょっと疲れましたね。一旦中断しましょう。

Zatu4-1.prcをダウンロードしていじってみてください。
(どれを押すとどうなるか。宿題です)

次回は、ボタンオブジェクトの動作について解説しますね。