AFsoft WebSite(エーエフソフト・ウェブサイト)
 

オペレーティング・システムについて

プログラミングについて
ホームページについて
キャドについて
電子カタログについて
書籍・雑誌
イベント
リンク集
DelphiXE3 LiveBinding 2013/09/07
 
前々頁までは、Indy Project について見てみました。次は [LiveBindings]について見てみます。LiveBindingについては既に最初のほうでちらっと書いていますが、もう少しだけ。LiveBindingは、Delphi2010には搭載されておりませんので、これまでのような比較は行いません。
 
 
[ヘルプ]より
TBindSourceDB
データベースへのバインディングを作成するために使用されます。
[ヘルプ]より
TPrototypeBindSource
着手するデータがまだない場合に手始めに使用できるサンプル データを生成するためのデータ ソースを提供します。後で、このデータ ソースを何らかの実データに置き換えることができます。
[ヘルプ]より
TBindNavigator(VCL)
VCL アプリケーションの開発時にデータセット内のレコードを順次参照するために使用されます。
[ヘルプ]より
TBindSourceDBX
指定されたデータ ソースに含まれるデータに対して、アクセスしたいすべてのコンポーネントからアクセスできるようにする方法を、LiveBinding を使って実装しています。
 
[ヘルプ]より
TBindingsList
バインディング リストを保持するために使用されます。
[ヘルプ]より
TBindScope
コンポーネントへのバインディングに使用されます。
[ヘルプ]より
TDataGeneratorAdapter
データ ジェネレータのアダプタです。
[ヘルプ]より
TAdapterBindSource
データベース以外のデータを扱うために使用されます。アダプタ プロパティは、データ ソースをデータベース以外のデータ(たとえば、オブジェクトのジェネリック コレクションなど)に接続するのに使用されます。
 
と表示されても、ぱっと分かりませんので、DelphiXE3には「LiveBindingウィザード」も搭載されていますので、それにより、どのように構成されるのかを見ていきます。多分その方がわかり易いのではないかと思います。
 
まずは、フォームにラベルとエディットを3つずつ並べて、入力項目のように想定して内容を変えます。



 
メニュー「表示」→「LiveBindingデザイナ」でLiveBindingデザイナを表示させ、LiveBindingウィザードを実行します。

 

「データソースの作成」を選択して[次へ]クリック


「TPrototypeBindScope」を選択して[次へ]クリック


データテーブルのフィールドの追加を行う画面が表示されます。
「追加」クリック


まずは「番号」欄であるとして、とりあえずフィールド名は
そのままにしておいて、型が整数型の「ftInteger」を選択し
[OK]クリック


フィールド名「IntField1」が追加されました。
さらに「追加」クリック


次に「項目名」欄であるとして、とりあえずフィールド名は
そのままにしておいて、型が文字列型の「ftString」を選択し
[OK]クリックします。同様に「内容」欄用の追加もします。


フィールドは3つですので、[次へ]クリック


「データソースナビゲータを追加」にチェックして[完了]クリック


コンポーネントが追加されます。
画面レイアウトを少し並び替えてます。
NavigatorPrototypeBindSource1 の ShowHint を True にします。


LiveBindingデザイナで各フィールド名と
エディットのTextプロパティとをドラッグで関連付けます。
 
それでは、保存を行なって、ビルド(コンパイル)して実行してみます。

適当に入力して、「次のレコード」ボタンをクリック


適当に入力して、「次のレコード」ボタンをクリック


「前のレコード」ボタンをクリックしてみます


先ほど入力した内容が表示されました。更に
「前のレコード」ボタンをクリックしてみます


先ほど入力した内容が表示されました。
 
というわけで、入力したデータがどこかのメモリ内に?記憶されて、レコードを移動することによりデータの再利用を行う事ができるようになります。
 
さて、次に、データベースにアクセスして利用する方法を見てみます。使用した事がありませんので、適当に(いい加減に)やっていますのでツッコミ満載だと思われますが取り敢えずやってみます。
 
前頁での簡易住所録で作成したデータをアクセスする事を考えてみます。先のデータベースは「C:\DATA\ADDRESS.FDB」となっています。テーブル名は「PERSON」です。てきとうにデータを入力しておきます。

 
フォーム上に [dbExpress]内の TSQLConnection を配置します。

配置した SQLConnection1 のプロパティを変更します。
ConnectionNameDBX1
DriverInterbase
→Databasec:\data\address.fdb
 
LiveBindingデザイナにて、LiveBindingウィザードを実行します。

「データソースの作成」を選択して[次へ]クリック


「TBindSourceDBX」をクリック


パスワードに「masterkey」と入力して[OK]クリック

[次へ]クリック


接続コンポーネントSQLConnection1
ドライバInterbase
接続名DBX1
コマンドタイプctTable
コマンドテキストPERSON
と指定して[次へ]クリック


「データソースナビゲータを追加」にチェックして[完了]クリック


コンポーネントが追加されます。
画面レイアウトを少し並び替えてます。
NavigatorPERSON の ShowHint を True にします。


LiveBindingデザイナで各フィールド名と
エディットのTextプロパティとをドラッグで関連付けます。

 
それでは、保存を行なって、ビルド(コンパイル)して実行してみます。



 
というわけで、データベースにアクセスしている事がわかります。この状態でも、データの追加(挿入)・編集等も出来るようです。
 
他にもコンポーネントはありますが、まぁそれについては別にいいでしょう。
 
LiveBinding を経由せずに直接コンポーネント間・イベントハンドラ等でのプログラミングも可能だと思いますが、関連性を視覚化出来る=解り易い、というメリットもあると思われますので、利用出来る場合には利用した方がいいのかもしれません。
 
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
>Delphi入門編
>Delphi2010
>DelphiXE3
▲2013/09/06
 2013/09/07
▼2013/09/08
 
シェアウェア
Script!World
データベース
 
お問い合わせ 
本サイトはリンクフリーです
リンクバナー
(C)Copyright 1999-2015. By AFsoft All Rights Reserved.