アプリケーションは、特定の要求を満たすために設計されたデータベースです。アプリケーションは、操作を容易にするようにデザインされたユーザインタフェースを持っています。あるアプリケーションが実行する作業は、その目的内に限定されます。4Dを使用すると、アプリケーション作成は従来のプログラミングよりも速やかに、かつ容易に行うことができます。4Dは、次に示すようなさまざまなアプリケーション作成に利用可能です:
請求書システム 在庫管理システム 会計システム 給与システム 人事システム 顧客管理システム インターネットやイントラネット経由による共有データベース これらすべてのシステムを一つのアプリケーションに納めることもできます。このようなアプリケーションは、データベースの代表的な利用例です。さらに、4Dのツールを使用すると、次のような画期的なアプリケーションを作成することができます:
文書管理システム 画像管理システム カタログ発行アプリケーション シリアルデバイス制御/監視システム 電子メールシステム(E-メール) マルチユーザスケジューリングシステム メニューリスト、ビデオコレクション、音楽コレクション等の一覧 通常、アプリケーションは、デザインモードで使用するデータベースから始めることができます。カスタマイズするにつれて、データベースがアプリケーションへと“進化”していきます。アプリケーションの異なる点は、データベース管理に必要となるシステムがユーザの目に触れないというところです。データベース管理は自動化され、ユーザはメニューを利用して特定の作業を実行します。
4Dデータベースをデザインモードで使用する場合、結果を実現するために必要となる手順を知っておかなければなりません。アプリケーションのアプリケーションモードを使用するには、デザインモードでの自動化されている以下のようなすべての事柄を、あなたが管理する必要があります。
テーブル操作:ユーザはテーブルリストウィンドウや最後に使用したテーブル、ナビゲーションボタンを使用できません。メニューコマンドとメソッドを使用して、テーブル操作を制御します。 メニュー:アプリケーションモードには、終了メニューコマンドが納められたデフォルトのファイルメニューの他、編集、モード、そしてヘルプメニュー、(Mac OSではアプリケーションメニューも) が存在します。アプリケーションでさらにメニューが必要となる場合、メニューを作成し、4Dメソッドや標準アクションを用いてこれらの管理をしなくてはなりません。 エディタ:アプリケーションモードでは、クエリや並び替え等のエディタを自動的に利用することはできません。これらのエディタを使用したい場合、4Dメソッドを用いて呼び出す必要があります。 以下の節では例題を用いて、プログラミング言語によってデータベースの使用を自動化する方法を紹介します。
カスタムメニューは、アプリケーションにおける主要なインタフェースです。このメニューにより、ユーザはより簡単にデータベースの習得や利用を行えるようになります。カスタムメニューの作成はとても簡単です。メニューエディタを使用して、各メニューコマンド(メニュー項目とも呼ばれる)にメソッドや自動アクションを関連付けるだけです。
「ユーザの視点」の節では、ユーザがメニューコマンドを選択した後の事象について説明します。次の節「メニューの舞台裏」では、この動作を実現するための設計について説明します。例題はシンプルですが、カスタムメニューを用いることにより、データベースの使用や習得がいかに楽になるかが理解できます。デザインモードの“一般的な”ツールやメニューコマンドではなく、ユーザはそれぞれのニーズに合った事柄だけに注目することができます。
ユーザはPeople メニューからCreate というメニュー項目を選択し、新しいPeopleをデータベースに追加します。
Peopleテーブルの入力フォームが表示されます。
ユ-ザはPeopleのFirst Nameを入力し、タブで次のフィールドへ移動します。
ユーザはPeopleのLast Nameを入力します。
ユーザはタブで次のフィールドへ移動します。: Last Nameが大文字に変換されます。
ユ-ザはレコ-ドの入力を終了し、登録ボタンをクリックします(通常は、ボタンバー上の最後のボタン)。
空のレコードが表示されるので、ユーザはキャンセルボタン(“X”印が付いたボタン)をクリックして“データ入力ループ”を終了します。再びメニューバーが表示されます。
メニューバーは、デザインモードのメニューバーエディタを使用して作成します。
Create メニュー項目には、New person という名前のプロジェクトメソッドが関連付けられています。このメソッドは、デザインモードのメソッドエディタを使用して作成されています。
ユーザがこのメニュー項目を選択すると、メソッドNew Person が実行されます。
REPEAT
ADD RECORD ([People] )
Until (OK=0)
Repeat...Until ループ内のADD RECORD コマンドは、デザインモードにおける新規レコード メニュー項目と同様の動作を行います。このループは入力フォームを表示し、ユーザは新規レコードを追加することができます。ユーザがレコードを保存すると、新たに空のレコードが表示されます。このADD RECORD ループは、ユーザが「キャンセル」ボタンをクリックするまで実行を続けます。
レコードに入力すると、以下の作業が行われます:
First Name フィールドにはメソッドがなく、何も実行されません。Last Name フィールドにはメソッドがあります。このオブジェクトメソッドはデザインモードのフォームエディタとメソッドエディタで作成されます。メソッド内では以下のコードが実行されます:このコードはLast Name フィールドの内容を大文字に変換します。
レコードが入力され、ユーザが次のレコードでキャンセルボタンをクリックすると、OKシステム変数が0に設定されてADD RECORD ループが終了します。
次に実行するステートメントが存在しないため、New Person メソッドは実行を終了し、制御がメニューバーに戻ります。
あるタスクをデザインモードで実行する方法と、プログラミング言語で実行する方法とを比較してみましょう。実行する処理は共通のものです。
次の節の“デザインモードにおけるデータベースの使用”では、デザインモードで実行される処理を示します。
その次の節、“アプリケーションモードにおける組み込みエディタの使用”では、同じ処理がアプリケーションで実行される様子を示します。
これらのメソッドはともに同じ処理を実行しますが、2番目の節の手順はプログラミング言語を使用して自動化されている点に注目してください。
ユーザはレコード メニューからクエリ >クエリ... を選択します。
クエリ エディタが表示されます。
ユーザは検索条件を入力し、クエリ ボタンをクリックします。検索が行われます。
ユーザはレコード メニューから並び替え を選択します。
並び替え エディタが表示されます。
ユ-ザが並び替え条件を入力して並び替え ボタンをクリックすると、並び替えが実行されます。
この後、レコードを印刷するには、さらに次の手順が必要となります:
ユ-ザがファイル メニュ-からプリント ...を選択します。 いずれのフォームを印刷するかをユ-ザが認識する必要があるため、プリント ダイアログボックスが表示されます。 印刷用ダイアログボックスが表示されます。ユーザは各設定を選択し、レポ-トが印刷されます。
前述の作業がアプリケーションモードではどのように行われるかを検証しましょう。
ユーザはPeople メニューからReport を選択します。
すでにこの時点で、ユーザにとってアプリケーションを使用するほうが簡単です。ユーザは最初の手順がクエリであることを知っている必要はありません。
メニューコマンドにはMy Report というメソッドが関連付けられています。このメソッドは次の通りです:
最初の行が実行されます:
QUERY ([People] )
クエリ エディタが表示されます。
ユーザが検索条件を入力しクエリ ボタンをクリックすると、検索が実行されます。
次に、メソッドMy Report の2行目が実行されます:
ユーザは次の手順がレコードの並び替えであることを認識する必要がない点に注目してください。
並び替え エディタが表示されます。
ユーザが並び替え条件を入力し並び替え ボタンをクリックすると、並び替えが実行されます。
次に、メソッドMy Report の3行目が実行されます:
ここでもユーザは、次に実行されることを知っている必要がありません。このメソッドがすべて処理します。
最後に、メソッドMy Report の最終行が実行されます:
印刷 ダイアログボックスが表示されます。ユーザが各設定を選択すると、レポ-トが印刷されます。
前述の例題で使用したものと同じコマンドを使用し、データベースの自動化をさらに進めることができます。
新しくなったMy Report メソッドを見てみましょう。
ユーザは、People メニューからReport を選択します。メニューコマンドにはMy Report2 というメソッドが関連付けられています。このメソッドは次の通りです:
最初の行が実行されます:
QUERY ([People] ;[People]Compa ny="Acme")
クエリ エディタは表示されません。その代わりに、QUERY コマンドにより検索条件が指定され、実行されます。ユーザは何も行う必要はありません。
メソッドMy Report2 の2行目が実行されます:
ORDER BY ([People] ;[People]Last Name;>;[People]First Name;>)
並べ替え エディタは表示されず、並び替えが即座に実行されます。ここでもユーザによる処理は必要ありません。
メソッドMy Report2 の最終行が実行されます:
印刷 ダイアログボックスは表示されません。PRINT SELECTION コマンドは、任意の引数であるアスタリスク(*)を受け入れ、これによりコマンドはレポートフォームの作成時に指定された印刷設定を使用し、レポートが印刷されます。
このように自動化をさらに進めることにより、ユーザは3つのダイアログボックスでオプションを入力する必要がなくなりました。これらの利点は次の通りです:
クエリが自動的に実行される:ユーザが指定すると、クエリの作成時に誤った条件を選択する可能性があります。 並び替えが自動的に実行される:ユーザが指定すると、並び替えの定義時に誤った条件を選択する可能性があります。 印刷が自動的に実行される:ユーザが指定すると、誤ったフォームを選択して印刷する可能性があります
4Dアプリケーションの開発を進めていくと、最初は気付かなかった数多くの機能を発見することでしょう。また、他のツールやプラグインを4D開発環境に追加し、標準の4Dの機能を高めることができます。
4Dはアプリケーションの機能を向上させる各種プラグインを提供しています。
4D Write : ワードプロセッサ4D View : スプレッドシートおよびリストエディタ4D Internet Commands : インターネット上の通信用ユーティリティ 4D Pack : 4Dに30以上のコマンドを追加します。4D ODBC Pro : ODBCを使用した接続4D for OCI : ORACLE Callインタフェースを用いた接続詳細に関しては、4D社または4Dパートナーまでお問い合わせください。Webサイトでもこれらの情報を提供しています。: http://www.4d.com/jp/
世界各国において、ユーザグループや電子フォーラム、4Dパートナーから構成されている4Dコミュニティが意欲的に活躍しています。4Dパートナーからはサードパーティツール が提供されています。次のアドレスで、4Dのユーザフォーラムに登録することができます: http://forums.4D.fr/ 4Dコミュニティからは、ヒントやTips、ソリューション、情報、その他のツールが提供され、開発にかかる時間やエネルギーを節約して生産性を高めることが可能です。