Delphiで学ぶコンピュータ言語
コードを追加する
ここまで、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エキスパートを輩出しています。入門者にやさしい言語だからといって、簡単なアプリケーションだけでなく、高度なグラフィック処理やデバイス処理、ネットワーク通信などを駆使した高性能アプリケーションの開発などでも活用されているのです。