Delphi入門

まずは何を準備すれば?

まずは「Delphi」を起動

まず、インストールされているものとしてお話を進めて行きます。 「Delphi」を起動して見て下さい。「Delphi3.0」では「たいまつのアイコン」、「Delphi5.0」では「神殿の柱のアイコン」があると思います。 しばらく、すると起動して画面が表れます。以下のは「Delphi5.0」での初期起動画面です。それでは説明を始めて行きましょう。

起動画面(Delphi5.0)

まず、画面が大きく3つに分割されています。 何やらメニューが書かれている「Delphi5 - Project1」と書かれているウィンドウ、そして、 「オブジェクトインスペクタ」と書かれたウィンドウ、 「Form1」と書かれたウィンドウの3つで基本的には構成されています。 これから説明して行く上で「Form1」と書かれているウィンドウ、 この事をフォーム[Form]と読んで説明を進めて行きます。

また、「Standard」「Additional」「Win32」「System」などと書かれたタブがあります。 これは先程説明したパーツ群です。 ここにあるいろいろなパーツをフォーム上に配置してアプリケーションを開発して行くわけです。 この各種パーツの事をコンポーネント(※1)といいます。 試しに、「Standard」にある左から6番目にあるコンポーネント(一行テキストボックスらしきもの)をクリックして、 フォーム上のどこでもいいので配置してみて下さい。下のようになったでしょうか?

「FrontPage」や「HomePageBuilder」などを使った方は結構いらっしゃると思いますが、 あのような感覚で配置して行くのです。また、これは先に言ってしまうと、「Editコンポーネント」と呼ばれるものです。 しかし、これでいいづらいので専門的に「TEdit」と呼びます。 「T」というものを最初に付ける事でそれがコンポーネントである事を示していると思っていて下さい。 同じく、そのひとつ左にあるコンポーネントは「TLabel」つまり、「Label(ラベル)コンポーネント」です。

まずはこの用語の使い方に慣れて下さい。コンポーネントはそれぞれ違った役割を持っています。 今回の「TEdit」は主に「一行テキストを編集するため」にあるコンポーネントです。 そして、これを配置する事により、先程話した「オブジェクト インスペクタ」と呼ばれるウィンドウが何か切り替わったと思います。 「オブジェクトインスペクタ」は主に「コンポーネントの設定を行うウィンドウ」みたいなものです。 ただ一般に「一行テキストボックス」と言っても、、、

  • キーボードから入力できなくするように(読み取り専用に)したい![ ReadOnly ]
  • プログラム実行時には場合によって見えたり隠れたりするようにしたい![ Visible ]
  • マウスがこのコンポーネントへ来たらカーソルを変えたい![ Cursor ]
  • パスワード用に入力したら「*****」のように表示させたい![ PasswordChar ]

などなど色々あると思います。これらを設定してくれるのが「オブジェクト インスペクタ」です。

※1 コンポーネント(Component):英訳すると「構成要素」の意味。パーツのようなものと思ってくれて構いません。

作ったデータを保存してみましょう...

さて、まずは配置が完了した所で、 実際にアプリケーションを動かして見ましょう。今、感じた方もいらっしゃると思いますが、 まだプログラムはひとつも書いてませんよね?ただ、配置しただけです。 しかし、これでもうすでアプリケーションとしてできあがっている訳です。 「ウィンドウ内に一行テキストボックスがある」という立派なアプリケーションとなっている訳です。 これがオブジェクト指向(前のページ参照)の素晴らしさです。 さしずめ、「アプリケーションツクール」みたいな感じで表現されるのも良いかと思われます(笑)。

そこで、早速実行してみましょう。その前に、この作ったデータをセーブ(保存)しておきましょう。 保存は、簡単です。「ファイル」から「上書き保存」「すべて保存」を選んで下さい。どちらでも構いません。 自分はいつも「すべて保存」を押しています。そうすると、新規ファイルなので、例のごとく保存先を聞いて来ます。 好きな所に保存して頂いて構いません。

デスクトップに「Delphi」などというフォルダを作ってその中に「sample」というフォルダをまた作って保存でもしてみて下さい。 後は自動的に「Delphi」がやってくれます。また、最初だけ2回保存先を聞いて来ますので同じディレクトリに保存して下さい。 最初の1回は、プロジェクトファイルを新たに作成するので、2回という事になります。

コンパイルしてコンピュータが読める形にする

さて、保存も無事完了した所で、次はいよいよ実行です。実行は極めて簡単です。 ファイルメニューにある「実行」→「実行」を押すだけです。または「F9」キーでも構いません。 そうするとコンパイルしてくれます。コンパイルというのは某会社名ではありません。 端的に言えば「機械語に変換」するという意味です。

まだプログラムは書いてませんが、C言語などにもコンパイルというものがあります。 プログラム言語というものはそもそも人間が読んで分かる形式に仕立てたものですので、 当然コンピュータは読み込めません!コンピュータは御存知の通り「0」「1」の符号しか読み取る事はできません。 コンパイルは、即ち書いたプログラムを「0」「1」に変換してコンピュータにも理解させてあげる事です。

プログラムの実行と、実行ファイルの自動生成

コンパイルは最初はいろいろ設定のために時間が多少かかります。 と言っても、他の言語の比ではありません。怖ろしく速いです。他の言語を経験した事のある方はお気づきだと思います。 そしてコンパイルが終了したら、このプログラムを実行してくれ、どのように動くかをテストする事ができます。 きちんと動きましたか? ウィンドウに一行テキストボックスが表示され、その中に書き込めるようになっていますよね? それでは確認が終わって、先程の編集画面に戻りたい時には、「実行」→「プログラムの終了」で終了させます。

それで、先程保存したフォルダを再度覗いて見て下さい。 なんと実行ファイルが出来てしまってます。「project1.exe」というものが出来ていませんか? これをダブルクリックして起動して見て下さい。さっきの実行画面と同じものとなりましたか?そうなんです… コンパイルすると同時に実行ファイルも同時に作成してくれます。これはもうすでにアプリケーションです。「Delphi」のスゴさ、何となく分かりましたか?

TEditのステータス(設定)をいろいろ変更して試してみよう!

でも、初期画面に「Edit1」と書かれているのは何か気に食わないと思うでしょう。 そこで、「オブジェクト インスペクタ」の登場です。「TEdit」のどこでもいいのでマウスでワンクリックして下さい。 そうすると、その「TEdit」に関する設定情報が「オブジェクト インスペクタ」に表れます。 先程はあまり言ってませんでしたが、「オブジェクト インスペクタ」は「起動時に反映させる初期情報」を扱います。 つまり、後で変えたいという時はプログラムを書きます。ここでは初期情報を変更するという事で次を値を変更します。

それで、先程保存したフォルダを再度覗いて見て下さい。 なんと実行ファイルが出来てしまってます。「project1.exe」というものが出来ていませんか? これをダブルクリックして起動して見て下さい。さっきの実行画面と同じものとなりましたか?そうなんです… コンパイルすると同時に実行ファイルも同時に作成してくれます。これはもうすでにアプリケーションです。「Delphi」のスゴさ、何となく分かりましたか?

オブジェクト・インスペクタ

これが「一行テキストボックス」である「TEdit」の情報です。ここでは、画像の容量の都合上縦幅を短くしています。 ここの「Text」という所の値を変更します。初期値は「Edit1」になっていると思います。ここを好きな値に変えて下さい。 「ここに文字を入力して下さい」「何か書いて!」でも何でも構いません。 また、何も記入しなくてもOKです。何も記入しないと実行時に何も記述されないようになります。 通常は何も記述しません。ここで少々他の値も変えて遊んでみましょう。 いろいろありますが、初めてみてもどれがどうなるかなんて当然分かりませんので、よく使うものを紹介しておきます。

Visible
実行時に、表示する(True)か、表示しない(False)か?
ReadOnly
実行時に、読み取り専用にする(True)か、しない(False)か?
ShowHint
実行時にマウスのカーソルが写った時にポップアップヒントを出すかどうか?
Hint
「ShowHint」が「True」ならば、ここに書かれているものをヒントとして表示します。
Height
縦幅を変更します。他に、Top・Left(コンポーネントの位置)などもあります。

まずはHintと、ShowHintなどをいろいろ設定して見て下さい。 そして、再度、「実行」→「実行」(またはF9キー)で実行します。そうすると、書かれている内容が変わりましたよね? こういう事です。しばらく適当に値を変えてみて結果を確認して慣れて見て下さい。

「Standard」のコンポーネントだけもこんなにある!

今回は、「一行テキストボックス」の「TEdit」についてのみの説明をしましたが、 コンポーネントは何百種類もあります。これから徐徐に慣れて行ってその効果を修得して行って下さい。 一番よく使われるのが基本的に一番最初の方に来ています。 ここでは「Standard」にあるコンポーネントの主な効用を説明する事にします。

TMainMenu TMainMenu
ファイルメニュー作成する時に扱う、非ビジュアルコンポーネント(※2)です。作成の仕方はこれを配置後にダブルクリックするだけです。
TPopupMenu TPopupMenu
マウスの右クリックを押される時によく出るポップアップメニューをつかさどる非ビジュアルコンポーネントです。「TEdit」の右クリックを押した時に表示させるようにするには、「TEdit」の「PopupMenu」という所がありますので、そこでこのコンポーネントを設定します。
TLabel TLabel
最も良く使うコンポーネントのひとつで、文字を配置するのに使います。試しに、配置して下さい。文字列変更は「Caption」の値を変更します。
TEdit TEdit
先程も説明したコンポーネント。主に一行テキスト入力を目的としています。
TMemo TMemo
複数行入力できるメモ帳ライクなコンポーネント。少し知識を習得すれば簡単なメモ帳ならこれで作成が可能です。Windows9x環境では、32KBまでのテキストを扱う事が出来ます。
TButton TButton
ボタンです。決定ボタン、キャンセルボタンなどを作る時はこれを使います。ボタン名の変更は「Caption」の値を変更します。
TCheckBox TCheckBox
チェックボックスです。チェックを外したり入れたりする事で色々な用途に使えます。
TRadioButton TRadioButton
ラジオボタンです。グループでひとつだけ選択したいという時に使います。
TListBox TListBox
リストボックスと呼ばれるもので、あるものからひとつ、または複数選択したい時に使うものです。「Items」の所で、リストに載せる文字列を指定して見て下さい。
TComboBox TComboBox
コンボボックスというもので、フォントを選ぶ時や、ブラウザでURL欄からURLを選ぶときなどに使うアレです。これも「Items」で、リストに載せる文字列を指定して下さい。
TRadioGroup TRadioGroup
TRadioButtonをグループ化したものです。こちらの方が扱いやすいと思います。「Items」でリストを設定、「Column」で何列にするかを設定します。
TPanel TPanel
パネルを配置します。パネルの上にコンポーネントを配置するのが主目的です。パネルの上にコンポーネントを配置した場合に、パネルを移動させると、そのパネル上のコンポーネントも一緒にパネルと動きます。こういうのを、パネルが親となるなどと行ったりします。
TActionList TActionList
Delphi4.0以降のバージョンで搭載されています。よく行うアクション(プログラム)を設定しておけば、ここからすぐ呼び出しできるようになります。

「Standard」のコンポーネントの説明でしたが、 まずはこれらを適当に配置したり、「オブジェクト インスペクタ」の値などを変更したりして、 実行し結果を確認して見て下さい。プログラムは次に話す事にして、今はコンポーネントの扱いに慣れて下さい。 つまり、コンポーネントの配置というのは言い換えれば、フォームのデザインです。 これを怠っては、いいアプリケーションが作れません。デザインもソフトには重要です。 デザインと扱い安さと機能が三味一体とならなければ良いソフトは作れません。 これは、やっていくうちに身に付いて行くものなので今はさほど気にせずに余計な事を考えずに、 ただ「Delphi」に慣れる事だけを考えて下さい。

尚、コンパイルしたいだけ(実行ファイルの生成だけしたい!)で実行結果をしたくないという場合には、「プロジェクト」→「Project1をコンパイル」を選択します。

※2 非ビジュアルコンポーネント:「TEdit」などは実行時にも見えますが、実行時に見えないコンポーネントの事です。