これは、2018年8月3日に行なった Delphi Community Edition Meet up ! で行なったデータエクスプローラのデモで、FireDAC 接続を使って、サラッとデータを表示する VCL アプリケーションを作った際の説明です
データエクスプローラは、アプリケーションの作成の時にも効力を発揮します
予め接続する先のデータベースが決まっているのであれば、データエクスプロラー上に接続情報を作成しておくことで、必要なプロパティが設定されたコンポーネントを生成してくれます
デモで行なったこと
VCL アプリケーションを新規に作成して、ノンコーディングでデータを表示するアプリケーションを作り実行しました
デモの手順
1. VCL の新規アプリケーションを作成します
Delphi のメニューから「ファイル|新規作成|VCLフォームアプリケーション - Delphi」を選択します
後の手順のこともあるので、フォームの大きさを広げておきます
2. データエクスプローラから接続設定をフォーム上にドラックアンドドロップして、接続に必要なコンポーネントを生成します
データエクスプローラ側の設定等については Delphi Community Edition Meet up ! - データエクスプローラ編 を参照してくださいませ
このデモでは、データエクスプローラ上の Local DB (dbdemos.gdb) 内の BIOLIFE テーブルを使用しています
データエクスプローラ上で Local DB に接続して、BIOLIFE テーブルをドラックしてフォーム上にドロップします
この動作によって、フォーム上に予め接続設定が行なわれている Local Connection (TFDConnection) と、Biolife Table (TFDQuery) が自動生成されます
3. フィールドエディタに、テーブルのフィールドを追加します
Biolife Table コンポーネントをマウスで選択して、マウスの右ボタンをクリックします
ポップアップメニューから「フィールドエディタ」を選択します
表示されたフィールドエディタ上でマウスの右ボタンをクリックします
ポップアップメニューから「すべてのフィールドを追加」を選択します
オブジェクトインスペクタ上で、Biolife Table (TFDQuery) の Active プロパティが True になっていない場合は True にして、データベースのテーブルと接続しておきます
4. 追加したフィールドをフォーム上にドラックアンドドロップして、データを表示するコンポーネントを生成します
フィールドエディタ上のフィールドをすべて選択して、フォーム上にドラックアンドドロップ!
VCL の場合は、データセット上のデータを扱うためのコンポーネントが予め決まっています
たとえば、文字データであれば TDBEdit、画像データなら TDBImage というようにです
なので、フィールドエディタからドラッグアンドドロップで、フィールドをフォーム上に配置すると、予め決まられたコンポーネントが生成されて、フォーム上に展開されます
実データが設計時に表示されれるので、コンポーネントの大きさの調整とかとても便利
5. ナビゲータを追加して、設定する
カレントのデータだけ見せるだけだと、面白くないので、データを前後に送るためのナビゲータを追加します
ツールパレットから、TDBNavigator をフォームにドラックアンドドロップします
オブジェクトインスペクタ上で、DBNavigator1 の DataSource プロパティを DataSource1 に設定します
6. 実行する
ナビゲータのボタンを操作すると、カレントのカーソルが前後し、対応するデータが表示されます
あとがき
今回は簡単なデモでしたので、フォームにそのままペタペタ貼りましたが、データモジュールを使って、ロジックと UI を分けた方がベターです(拡張や修正の面からも)