GO BACK

Delphi教室 その1


「Delphiの基礎知識」


■なぜDelphiなのか


 Windowsの世界では、「プログラミングの入門」というと、イコール「Visual Basic」でした。とにかく多くの人が使っていますし、解説書の類いも豊富で、しかも価格も安い。私も今まで、多くの人に「とりあえずVBから始めては?」と推薦してきました。

 が! ここにきて、ビギナー向け開発環境の分野に大きな変化が起こりつつあると思います。それは「Delphi」の登場です。

 Delphi(でるふぁい)は、ボーランドという老舗のソフト会社がリリースするWindows向けの開発環境です。この会社は他にもJavaの開発環境「JBuilder」などを出しており、開発者の間には非常に高く支持されています。このDelphiも、かなり前からリリースされており、アマチュアプログラマなどの間で根強い人気がありました。が、その信頼性と品質の高さの割には、あまりビギナーの間で広まっていなかったところがあります。

 その第一の理由は「マイクロソフト製でない」ということでしょう。ビギナーにとって、マイクロソフトという名前は非常に大きなものがあります。ボーランドなんてあまり聞いたところのない(本当は超有名なんだけど)会社の、Delphiなんてあんまり信用できそうにない(本当はVBより遥かに信頼できるんだけど)より、マイクロソフトのVisual Basicのほうがとりあえずいいだろう、と思ってしまうのですね。なにより、VBは非常に価格も安かった。Delphiの入門用もそれなりに安かったのですが、あまり値段が違わないならやっぱりVBを選んでしまうでしょう。

 それに、「VBのほうがわかりやすい」ということもあります。VBは、とにかくちょこっと使い方を覚えれば、簡単なアプリが作れるようになります。またVisual Basicという言語は、Excelなどで使われるマクロ言語VBAやスクリプト言語VBScriptなどと非常に近いものなので、なんとなく見たことがある、という感じなのですね。――それに比べ、Delphiはいきなりソースコードエディタにずらずらと難しげな単語が書き出されてきます。これを見ただけで「難しそう」と思ってしまった人は多いことでしょう。

  が、Delphi 6の登場により状況はかなり変わってきました。なぜって? ver. 6より、Delphiには「Personal版」というエディションが用意されたのです。これは、なんとボーランドのWebサイトで無償配付されているのです! つまり、タダなんですよ、タダ!

 タダなんだから、多少難しそうだろうがマイクロソフト製でなかろうが、「とりあえず一回試してみんべ」と思う人は圧倒的に多いはずです。そして、実際にある程度使ってみると、こいつがVBなんぞとは比較にならないぐらい本格的な機能をもった開発環境であることがわかってきます。そして「VB→Delphi」という乗り換え組が続々と出てくる(予定)というわけですね。

 では、Delphiってどこがそんなにすごいのか、ちょっと整理してみましょう。

・圧倒的な標準装備!
無償配付されているPersonal版でさえ、基本的な開発のための機能は一通りサポートされており、なんと80種類のコンポーネント(開発で使う部品ね)が標準添付されています。VBの十数種類しかない貧弱なコントールからすると、これは驚異ですよ。更にアプリケーション以外にもDLLやコンソールアプリケーション、コンポーネントなどの開発もPersonal版でできてしまいます。

・本格的なオブジェクト指向言語である
Delphiで採用されたObject Pascalという言語は、「Pascal(ぱすかる)」というプログラミングの学習用に考案された言語を元にオブジェクト指向対応にしたものです。非常にしっかりとした言語体系をもっており、今やプログラミングの世界では不可欠とも言えるオブジェクト指向に完全対応しています。VBは現時点で完全にオブジェクト指向対応となっておらず、非常にいびつな言語という感じです。将来的にきちんとプログラミングを覚えたいなら、Delphiの方が有利でしょう。

・作成したアプリケーションの質が違う!
VBの最大の欠点は「完全にスタンドアロンなアプリケーションが作れない」ということでしょう。動かすにはランタイムのDLLが必要で、これがバージョンが違ったりするとすぐにトラブルを起こします。Delphiでは、完全に独立したアプリケーションが作成可能であり、作ったEXEファイルをコピーするだけでどのマシンでもアプリケーションが動くようになります。
 また、作ったプログラムの質も違います。なによりそのスピードの違いは圧倒的で、純粋演算ならばVB製とDelphi製で数十倍も速度に違いが出ることもあります(もちろんDelphiの方が速いのよ)。また非常にきめ細かなコンポーネントが用意されていることから、アプリケーションのGUI(要するにメニューとかボタンとか)の表現力もDelphiの方が遥かに上でしょう。

 まあ、ざっとこんな感じでしょうか。「ちょっと作ってみる」だけならVBのほうが簡単で便利ですが、「プログラミングが次第にわかってきてもっともっと本格的に挑戦したい」となったとき、VBでは「じゃあCを買って下さい」となりかねません。つまり、VBは「このレベルより上は難しいかも」という上限が決まっている感があるんですね。

 Delphiでは、そんなことはありません。確かに取っ付きはVBより難しげですが、本格開発にも十分耐えうるポテンシャルを持っています。ですから、最初はVBのほうがいいように見えますが、ある程度まで進んだ時点で両者は逆転し、Delphiの方がやっぱりよかった!と思えるようになるはずです。

 では、このDelphiのPersonal版と無償配付版でどれぐらいのことができるのでしょうか。Delphiには、その上にProfessional版、Enterprise版というのがあります。これらの違いを簡単にまとめてみましょう。

・Personal版では、商業プログラムの開発は行えません。つまり、作ったものでお金をとって販売できないのです。ですから、個人の勉強やフリーウェアなどではいいでしょうが、シェアウェアなどを作ろうとしたらProfessional版を購入する必要があります。

・Personal版では、データベースおよびエンタープライズ機能がありません。Delphiの大きなウリの一つに「複雑なデータベースを簡単に設計し利用できる」ということがありますが、これはProfessional版以上でないと使えません。また、Webサーバ向けプログラムなどのエンタープライズ機能もPersonal版にはありません。

・Personal版では、Linux向け開発ができません。実は、ボーランドからはLinux版Delphiともいうべき「Kylix」という開発環境が出ており、Professional版以上では、これのプロジェクトも開発できるのです。つまり、同じプログラムをWindows用とLinux用の両方にコンパイルできるんですね。これもPersonal版では使えません。

 以上のように、単純にWindows向けアプリケーションを作るだけなら十分使えるけれど、それ以上のものになるとProfessional版を買って下さい、という仕組みになっているわけです。しかし、Personal版でも、少なくともVBの入門向けのエディションなどよりは2億倍はマシ(当社比)ですから、「タダでは役に立たないんじゃ?」なんて心配は無用です。

 というわけで、さっそくPersonal版をボーランドのサイトからダウンロードしましょう!

http://www.borland.co.jp/delphi/personal/

※注意!——現在、Delphiはver. 7になっていますが、ver. 7ではPersonal版の無償配布をやめてしまいました。ですから、ver. 6が無償で使える最後のPersonal版となります。



■Delphiの基本ウィンドウ

 では、とりあえずDelphiの入手とインストールができた、としましょう。DelphiのPersonal版は、利用のためにライセンスキーを取得する必要があります。また、そのためにはボーランドのメーリングニュースに参加し、そのメンバーになる必要があります。それらの手続きについては、ボーランドのサイトにある説明をよく読んで下さい。

(ここの登録ページはしょっちゅう内容や手順が変わるので、画面を使って手順の説明などはしません。各自で、Webの説明をよく読んで頑張って入手して下さいませ)

 では、さっそくDelphiを起動してみましょう。起動すると、ざっと以下のような感じの画面が現れます(ちょっと縮小してあるので見づらくてごめんなさい)。これがDelphiの起動画面です。Personal版では、このようにいくつかの小さなウィンドウとしてツールが表示されており、これらを使って開発を行なうようになっているのです。

 標準では、起動すると新規アプリケーションを作成するプロジェクトというものが設定された状態で起動します。この状態が、Delphiにおける開発の基本画面と考えて下さい。――では、各ウィンドウのツール類について簡単に説明をしておきましょう。

・オブジェクトマネージャ
上の表示で、左上に小さく見えるウィンドウです。これは、現在設計中のフォーム(ウィンドウのことね)に配置されているコンポーネント類とその組み込み状態を階層的に表示します。編集したいコンポーネントを選択したり、組み込み状態を変更するのに用います。

・オブジェクトインスペクタ
画面の左下に見えるウィンドウです。小さい項目がずらりと表示されていますね。これは、選択したコンポーネントのこまごまとした設定を行なうためのものです。大きく分けて「プロパティ」と「イベント」の2つがあり、それぞれ用意されている項目とその値が一覧表示されます。これらの値を変更することで、コンポーネントを編集できるようになっています。

・ フォームデザイナ
画面中央付近に見える、何もないのっぺらぼうなウィンドウです。ここに、様々なコンポーネントを配置して、アプリケーションのウィンドウを設計していきます。

・エディタウィンドウ
ソースコード(要するにプログラムのリストのことね)を記述するためのものです。画面右下あたりにある、何やら難しそうな文章がずらずら書かれているやつです。ここに必要な処理を記述してプログラムを作ります。

・ コンポーネントパレット
一番上にある横長のウィンドウ(メニューがくっついてるやつです)の中央から右側を全部占領している、アイコンがずらっと並んだエリアのことです。これは、Delphiに用意されているコンポーネントのためのもので、ここにあるアイコンから使いたいものを選び、そのアイコンをダブルクリックするかフォームデザイナ上をドラッグすることで、その部品をフォーム(つまりウィンドウ)の上に配置できます。

 この他、プロジェクトエクスプローラというものや、イメージエディタというツールなどもあるんですが、とりあえず上のものだけ頭に入れておけばよいでしょう。

 Delphiでのアプリケーション開発の基本は「コンポーネントパレットから必要な部品をフォームデザイナに配置し、オブジェクトインスペクタでそれらの細かな設定を行ない、エディタウィンドウで実行する処理を記述する」という流れになります。

 

■プロジェクト作成の流れ

 それでは、実際に簡単なプログラムを作りながら、開発の基本手順を整理していきましょう。

1.新規にプロジェクトを作成する。

Delphiでは、「プロジェクト」という形で開発プログラムを管理します。プロジェクトとは、作成するプログラムに必要なファイルやデータ、各種の設定などを管理するためのもの、と考えればいいでしょう。要するに、新しくアプリケーションを作ろうと思ったら、そのための新しいプロジェクトを作ればいい、ということなんですね。

 新規にプロジェクトを作るには、「ファイル」メニューの「新規作成」から作りたいものを選びます。通常、アプリケーションを作りたいならば、「アプリケーション」を選ぶと、自動的に新しいプロジェクトが作成され、画面に新たなフォームデザイナなんかが現れます。このメニューを選んでみて下さい。新しいプロジェクトが現れるはずですよ。

2.フォームデザイナでフォームを設計する。

では、実際にアプリケーションを作っていきましょう。Delphiでは、アプリケーションを作るというのはすなわち「フォームを作る」ということです。フォームというのは、まあ「ウィンドウのことだ」と考えて下さい。Windowsのアプリケーションは、起動するとまず画面にウィンドウが現れ、そこにボタンとかいろいろな部品があって、それを操作しますね? つまり、この「アプリケーションのメインウィンドウ」を作ることが、すなわちDelphiの開発の第一歩となるわけです。

・Buttonコンポーネントを作成する。
では、コンポーネントを作成しましょう。今回は「Button」という部品を1つだけ作ります。コンポーネントパレットで、「Standard」というタブをクリックし、その左から8番目にあるアイコン(「OK」と表示されたやつ)を選択します。そのままフォームデザイナ上をマウスでドラッグすると、ドラッグした領域に「Button1」と表示されたボタンが作成されます。
 作成されたコンポーネントは、マウスでドラッグして移動したり、縁の部分をつかんで大きさを変更したりできます。これはフォームデザイナの位置や大きさも同様です。使いやすいように位置と大きさを調整しておきましょう。

・Buttonのプロパティを変更する。
次に行なうのは、作成したコンポーネントのプロパティ設定です。「プロパティ」とは、「属性」なんて日本語で呼ばれます。つまり、その部品の性質や状態を示すさまざまな値のことですね。例えば、位置とか大きさとか色とかフォントとか表示テキストとか、そういったものがプロパティとして用意されています。
 プロパティの設定は、まずフォームデザイナかオブジェクトマネージャで設定したいコンポーネントを選択し、それからオブジェクトインスペクタの「プロパティ」タブから変更したいプロパティを探して値を書き換える、という手順で行ないます。
  ――では、作成したButton1というコンポーネントを選択し、オブジェクトインスペクタから「Caption」というプロパティを探して下さい。プロパティは、左側がプロパティ名、右側がその値となっています。Captionプロパティを見つけたら、その右側をクリックして選択し、値を「CLICK」と書き換えましょう。フォームデザイナのButton1の表示テキストがCLICKと変わるはずです。

・ Buttonのイベントを設定する。
プロパティの設定ができたら、次は「イベント」というものを設定します。イベントというのは、ユーザーの操作などが行なわれた際に発生する信号のようなものです。Delphiのコンポーネントには、あらかじめ「こういう操作をしたらこのイベントが発生する」という仕組みが組み込まれています。このイベントに、実行するプログラムを結び付けることで、そのイベントが発生したら指定の命令を自動的に実行するようにできるのです。
 では、「イベント」タブから「OnClick」という項目を探し、値部分をダブルクリックしてみましょう。このOnClickというのは、文字通りユーザーがコンポーネントをクリックした時に発生するイベントです。値部分をダブルクリックすると、「Button1Click」というテキストが自動的に設定され、そしてエディタウィンドウに「procedure なんたらかんたら」といったテキストが自動的に書き出されて、その間でインサーションポイント(カーソルね)がちかちか点灯して「ここに書いてくれよ!」と報告してくれます。
 つまり、このOnClickしたら自動的に実行するプログラムの枠組みを、自動的に作成してくれていた、ってことですね。

3.ソースコードを記述する。

では、この作成されたクリック用のプログラム部分に簡単な命令を書いてみましょう。――エディタウィンドウに切り替わった状態では、「begin」と「end;」の間でインサーションポイントが点滅しているはずです。そこで、以下のような形で命令を書きます。

procedure TForm1.Button1Click(Sender: TObject);  
begin
	ShowMessage('Hello!');
end;
          

わかりますか?  上の赤い部分「ShowMessage('Hello!');」という1行を追記すればいいだけです。これで、プログラムは完了です。

4.プログラムをビルドする。

ソースコードができあがり、プロジェクトが完成したら、後はプログラムを作成するだけです。この作業は「ビルド」と呼ばれます。これは、「プロジェクト」メニューから「Project1をコンパイル」「Project1を再構築」を選ぶとできます。また、「実行」メニューから「実行」を選ぶと、自動的にプロジェクトをビルドし、その場でプログラムを実行してくれます。

 それでは、「実行」メニューを選んでプロジェクトを実行してみましょう。画面に、作成したフォームが現れます。そしてボタンをクリックすると、画面に「Hello!」と表示されますよ。

 というわけで、まぁプロジェクトを作って実行するまでをやってみました。慣れてしまえば、意外と簡単でしょう? まだ、ソースコードの意味がわからないとかいろいろ悩むことはあるでしょうが、とりあえず基本的な手順がわかればOKでしょう。

 あとは、プロジェクトの保存ですね。これは「ファイル」メニューから「プロジェクトに名前をつけて保存」を選べばできます。また、保存した後でもう一度プロジェクトをビルドしてみましょう。保存した場所に、「プロジェクト名.EXE」というファイル名でEXEファイルが作成されます。これが、ビルドしてできたアプリケーションですよ。

 では、基本的な使い方と手順がわかったところで、次回から本格的に説明をしていくことにしましょう。

 


GO NEXT


GO HOME