DAiLY NOTE のカレンダ〜 10年ぶりの質問に答える〜232個のリレーションフィールドで出来ています

「DAiLY NOTE」に関するメールを、旧サポートメールアドレスに10年ぶり位に受けました。

「DAiLY NOTE」は、自分が98年にシェアウェアとして発表したファイルメーカーproテンプレートウェア(ver4.0用)ですが、いやぁ構造や内容に関してはもう忘れかけてるなぁ...

97年、ハイパーカードの未来が閉ざされたこともあって、代わりにファイルメーカーpro を使ってみようと、海外のWEBサイトでネタを拾っては内部解析しながら勉強していました。ファイルメーカーpro は、まだ稚拙なスクリプト機能しか持たない非力なカード型DBでしたが、バージョン4.0でリレーションが使えるようになり、工夫次第で凝ったことが出来る可能性が生まれました。

そのうちリレーションを使ってカレンダをスクリプティングできる事がわかり、アレもコレも出来ると便利かも、と詰め込んだ日記帳が「DAiLY NOTE」でした。

当時のマックピープル誌の「ファイルメーカー特集」取材に取り上げられたときも、なぜこんなカレンダ動作が可能なの?にははっきり答えていませんでした。 非力な version4.0 ファイルメーカーでとりわけギミックな動きをするDAiLY NOTEのカレンダ部分は、全9層、15個のフィールドと、232個のリレーショナル・フィールド、で構成しています。現在では予めカレンダのスクリプトセットが標準搭載されてるので、誰でもカンタンに日記帳は作れますよね。

DAiLY NOTEのカレンダでは、さらに幾つかのフィールドはマルチフィールドで、内容をリレーション定義で切り替えたり、レコードを切り替えて、収納されたモノを表示するようにしています。この構成で、日英表示切り替え、先頭曜日切り替え とスケジュール件数表示、特定日のカラー化(3仕様)、選択日の位置表示を詰め込んでいました。 

マス目が全部リレーションフィールドで出来ています

カレンダを表示させるだけなら、ずっと簡単な構成になりますよね。カレンダからしてこういう構造なので、メモ/スケジュール/アドレス帳の造り(データ収納構造)にもかなり余分な(?)モノが付け加えられています。

最終更新版のver1.4は、はっきり言って機能詰め込み過ぎで、リレーション定義数が300を大きく超える設計になり、いま眺めると無謀に思えます。