PR

Delphiで学ぶコンピュータ言語

2011年5月26日(木)
藤井 等

コードを追加する

ここまで、1行もコードを記述せずに、データベースアプリケーションを開発できてしまいました。ビジュアル開発もここまで高機能なら、コーディングは不要なのではと錯覚してしまうかもしれません。

しかし、実際のアプリケーションでは、さまざまな個別の処理が必要であり、そのためにコーディングを行うことになります。

データベースアプリケーションでは、一般的に、データの入力に関する制御、入力されたデータに対する処理、更新などに伴う処理などが必要です。これらの処理は、それぞれ、コントロール、項目(フィールド)、データセットなどのイベントに記述します。

ここでは、変更したデータを更新するコードを記述してみましょう。DBNavigator1の更新ボタンをクリックしたら、データベースへ変更を反映します。

配置したDBNavigator1を選択し、オブジェクトインスペクタの[イベント]タブをクリックします。OnClickイベントの値列をダブルクリックして、イベントハンドラを追加します。

ここに次のようなコードを記述します。

procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
begin
  case Button of
    nbPost:
      if ClientDataSet1.ChangeCount > 0 then
        ClientDataSet1.ApplyUpdate(-1);
  end;
end;

DBNavigator1Clickに渡されるTNavigateBtn型の変数Buttonには、押されたボタンの種類が保持されています。この値がnbPost、つまり更新ボタンをクリックしたときに、実行されるコードを記述しています。これは、ClientDataSet1に対する変更が1つ以上あれば、それをデータベースに適用するコードです。

それでは、アプリケーションを実行してみましょう。

図5:アプリケーションの実行(クリックで拡大)

ボタンをクリックしてレコードを移動させることができます。値を変更して更新ボタンをクリックすると、データが変更されているのが分かります。

一連の手順は、こちらのビデオでもご覧いただけます。

学習しやすいDelphi言語

今回記述したコードは僅かでしたが、これまで数回にわたる記事で記述してきたコードを見ると、CやC++のように記号的でなく、分かりやすいプログラミング言語だという印象を抱くかもしれません。実は、Delphi言語は、プログラミングの学習で広く使われてきたPascalをベースとしており、これにオブジェクト指向の拡張、コンポーネントを扱うための拡張を追加しているのです(最近では、ジェネリクスなどの新しいプログラミング言語のトレンドも加わっています)。

ビギナー向け言語としては、Visual Basicがすぐに思い起こされますが、Delphi言語は、Visual Basicよりも型などについての厳密性があり、「プログラマーが制御したいようにプログラムを記述できる」という点では、より優れています。C、C++のように難解ではなく、しかし確実にプログラミングができること、さらには、より高度なプログラミング(例えばインラインアセンブラなど)にも対応していることから、「門戸が広く、奥行きも広い」といえます。

実際、Pascalでのプログラミング教育がさかんなヨーロッパでは、Delphiは大変人気があり、数多くのDelphiエキスパートを輩出しています。入門者にやさしい言語だからといって、簡単なアプリケーションだけでなく、高度なグラフィック処理やデバイス処理、ネットワーク通信などを駆使した高性能アプリケーションの開発などでも活用されているのです。

エンバカデロ・テクノロジーズ 日本法人代表
千葉大学文学部行動科学科卒業。石油関連会社でGISなどの開発を経験したのち、1995年、ボーランドに入社。マーケティングとしてJava開発ツールJBuilderやVisiBrokerなどミドルウエア製品の立ち上げを行う。2008年7月、ボーランドの開発ツール部門を合併したエンバカデロ・テクノロジーズに移籍。2009年1月より日本法人代表を務める。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています