Edited at

Delphi Community Edition Meet up ! - FireDAC VCL 編

More than 1 year has passed since last update.

これは、2018年8月3日に行なった Delphi Community Edition Meet up ! で行なったデータエクスプローラのデモで、FireDAC 接続を使って、サラッとデータを表示する VCL アプリケーションを作った際の説明です

データエクスプローラは、アプリケーションの作成の時にも効力を発揮します

予め接続する先のデータベースが決まっているのであれば、データエクスプロラー上に接続情報を作成しておくことで、必要なプロパティが設定されたコンポーネントを生成してくれます


デモで行なったこと

VCL アプリケーションを新規に作成して、ノンコーディングでデータを表示するアプリケーションを作り実行しました


デモの手順


1. VCL の新規アプリケーションを作成します

Delphi のメニューから「ファイル|新規作成|VCLフォームアプリケーション - Delphi」を選択します

後の手順のこともあるので、フォームの大きさを広げておきます

firedac01_1.gif


2. データエクスプローラから接続設定をフォーム上にドラックアンドドロップして、接続に必要なコンポーネントを生成します

データエクスプローラ側の設定等については Delphi Community Edition Meet up ! - データエクスプローラ編 を参照してくださいませ

このデモでは、データエクスプローラ上の Local DB (dbdemos.gdb) 内の BIOLIFE テーブルを使用しています

データエクスプローラ上で Local DB に接続して、BIOLIFE テーブルをドラックしてフォーム上にドロップします

この動作によって、フォーム上に予め接続設定が行なわれている Local Connection (TFDConnection) と、Biolife Table (TFDQuery) が自動生成されます

firedac01_2.gif


3. フィールドエディタに、テーブルのフィールドを追加します

Biolife Table コンポーネントをマウスで選択して、マウスの右ボタンをクリックします

ポップアップメニューから「フィールドエディタ」を選択します

表示されたフィールドエディタ上でマウスの右ボタンをクリックします

ポップアップメニューから「すべてのフィールドを追加」を選択します

オブジェクトインスペクタ上で、Biolife Table (TFDQuery) の Active プロパティが True になっていない場合は True にして、データベースのテーブルと接続しておきます

設計時でも接続できるってスゴイ!

firedac01_3.gif


4. 追加したフィールドをフォーム上にドラックアンドドロップして、データを表示するコンポーネントを生成します

フィールドエディタ上のフィールドをすべて選択して、フォーム上にドラックアンドドロップ!

VCL の場合は、データセット上のデータを扱うためのコンポーネントが予め決まっています

たとえば、文字データであれば TDBEdit、画像データなら TDBImage というようにです

なので、フィールドエディタからドラッグアンドドロップで、フィールドをフォーム上に配置すると、予め決まられたコンポーネントが生成されて、フォーム上に展開されます

firedac01_4_1.gif

実データが設計時に表示されれるので、コンポーネントの大きさの調整とかとても便利


5. ナビゲータを追加して、設定する

カレントのデータだけ見せるだけだと、面白くないので、データを前後に送るためのナビゲータを追加します

ツールパレットから、TDBNavigator をフォームにドラックアンドドロップします

オブジェクトインスペクタ上で、DBNavigator1 の DataSource プロパティを DataSource1 に設定します

firedac01_5.gif


6. 実行する

ナビゲータのボタンを操作すると、カレントのカーソルが前後し、対応するデータが表示されます

firedac01_6.gif


あとがき

今回は簡単なデモでしたので、フォームにそのままペタペタ貼りましたが、データモジュールを使って、ロジックと UI を分けた方がベターです(拡張や修正の面からも)