4月のある日,高校1年生となったこうしろうとともにボーランドのDelphi 6の勉強をはじめた。Delphi 6 Personal版は同社のWebから無料でダウンロードして利用することができる。同じく無料でダウンロードできるBorland C++コンパイラはコマンドプロンプトなどで利用するコマンドライン・コンパイラだが,Delphi 6 Personalは統合開発環境である。ちょっと古いバージョンとはいえ,本格的な開発環境をフリーで使えるのだからありがたい。もちろん,これで作成したものを販売してはいけないなどの制限はある。
これがDelphi 6 Personalの開発画面だ。データベースにアクセスする部品が付いていないとはいえ,付属しているコンポーネント(部品)が少ないわけではない。Standard,Additional,Win32,・・・と連なるタブにたくさんのコントロールが用意されている。
Delphiの言語はObject Pascal,17世紀のフランスの数学者パスカルの名前を持つ古いPascal言語をオブジェクト化したものである。Pascal言語は1971年にスイスの大学教授が教育用に開発したものである。そのためか,文法は厳格でわかりやすいが,くどくどとした感じもする。
Delphiについて解説してあるWebページを複数ながめ,こうしろうと一緒に最初のプログラムを作る。
フォームにボタンなどのコンポーネントを貼り付け,ダブルクリックしてコードを書いていく方法はマイクロソフト社のVisual Basicなどと同じである。
TForm1.Button1Clickイベントに,ShowMessage('Hello!');と書いた。まず,「ありゃ,そうなの」と思ったのが複数行のコメントを{ }で表すこと。C言語では関数の開始,終了やforループなどの適用範囲を示す{ }がコメント行の開始と終了を示すのである。では,C言語の{ }に変わるのは何かというとbeginとend.になる。procedure(プロシージャ)の開始,終了やforループなどでもbeginとend.を使う。
「プログラムはあがり症で,酒飲んでからテレビで歌をうたうグループとend.だらけになる」などとくだらないことを言って楽しい勉強会を目指すのだが「はい,ビギンね」と高校生はさりげなくかわす(筆者はそんなビギンがなんとなく好きだ)。パチパチとノートPCの薄っぺらなキーボードをたたく音だけが響く,淡々とした時間が流れる。こうしろうが小学生だった頃の盛り上がったマインドストーム・タイムが懐かしく思い出される。
単一行のコメントを//で表すのは,C++と同じである。
実行し,ボタンを押すとメッセージボックスにHello!と表示される。文字列をダブルクォートではなく,シングルクォートでくくるのも特徴的である。
自分で入力したコードはコメントと,showMessageの1行だけだが,フォームには次のようなコードが自動的に記述されている。
--------------------------------------------------------------- unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private 宣言 } public { Public 宣言 } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin { 複数行の コメント } // 1行のコメント ShowMessage('Hello!'); end; end. ---------------------------------------------------------------interfaceやclass,Senderなどの単語がオブジェクト指向言語らしさを醸しだす。これから詳しく勉強していくことになるのだが,オブジェクト指向に真っ向から立ち向かわなくても,コンポーネントを中心にプログラミングを始められることも,Delphiのいいところかもしれない。