水曜日1.コンポーネントとはさて、2,3章でも登場しましたが「コンポーネント」って何でしょう??簡単に、「アプリを作る為の部品」と解釈した方もいるかと思います。その通りだったりします。どんな部品なの?と言われると、難しいですよね。コンポーネントとは、「プログラム(アプリ)を作る為の部品」に例えられます。プログラマは、この部品「コンポーネント」を駆使して、くっつけたり、カスタムしたり、色々放り込んだり、伸ばしたり、縮めたり、サッと処理を書いたり、沢山処理を書いたりして、アプリを作っていく事になります。拡張してオリジナルのコンポーネントを作ったり、コンポーネントのプロパティを変えて、形を色々いじったり、コンポーネントの中にコンポーネントを入れたり、コンポーネント同士をくっつけて、連動させたり、コンポーネントのイベントを巧みに利用し、処理を色々書いたり・・・。本当にいろいろな事をします。言うは易し、行うは難しですが、コンポーネントとは言っても、それは抽象的な表現ともいえて、(基本となるコンポーネントのクラスは存在しますが)大体、直接触れるのは、数百の種類がある機能も性格も千差万別な色とりどりのコンポーネントを扱わなくてはなりません。結局、自前でコードを書いては見たものの・・・。終わってみれば、数百あるコンポーネント中のある機能の劣化コピーだったという事になりかねません。そんな恥ずかしい事にならない様、コンポーネントの使い方を少しずつ学んでいきましょう。コンポーネントの種類コンポーネントは大きく分けて2種類に分類できます。ビジュアルコンポーネント・ユーザーインターフェースを構築する為のもの。(例えば、パネル、ボタン、リストボックスなど。非ビジュアルコンポーネント・設計時は、四角いアイコンで表示される。(しかし、実行時には、アイコンは表示されない。)・主に、何かの動作を促したり、提供したりする。先ほども述べた通り、Delphiには数百のコンポーネントがあります。判り易い様に配置されています。それのみに留まらず、表示順序の変更や、コンポーネントの追加、別のグループにコンポーネントを移動したりできます。その為、自分が使いやすい様にカスタマイズできます。コメントは受け付けていません。Pascal」を使った実践的プログラミングに入っていきます。Delphiプログラミングは大変奥が深く、仮に本章ですべての機能を網羅した場合、プロフェッショナル向けでこそあっても、初心者には到底理解し難い内容になってしまいます。そこで本章では、基礎の基礎を押さえた初歩的なプログラムを作ります。第2章で作ったメモ帳をベースに幾分機能を拡張したメモ帳を作ります。それでは始めましょう。ソースコードの構造化を説明していきましょう。第2章の計算プログラムは保存せずに閉じてしまって構いません。その他」をクリックし、新規作成の際のダイアログを表示します。ダイアログ上でvclフォームアプリケーションを選択します。次に、プロジェクトマネージャーから「新規プロジェクトを追加」ボタンを押します。「マルチデバイスアプリケーション」を選択します。これで準備は整いました。説明に入っていきます。アプリケーションからです。unit1.pasをダブルクリックし、Unit1にフォーカスを移します。Unit1;unitキーワードの後ろにユニット名を記述します。このユニット名はファイル名になりますが、自動的に設定されるため、手動で変更する必要は先ずありません。Interfaceインターフェース部と読みます。各種の定義と宣言を記述します。直接のプログラムコード(実行部分)は記述できません。Usesファイル内で利用する、クラスを記述します。ここで言うクラスとはDelphiの関数やライブラリが記述された独立したファイルであり、別名「クラスライブラリ」とも呼びます。多くの場合、ここには自動でクラスが登録されていきます。手動で変更する必要がある場合は開発者(つまりあなた)が直接Delphiの機能を呼び出す場合などです。Type型の定義を記述します。型名=型の定義、といった形で型を定義していきます。宣言とはプライベートの空間という意味です。この例で言うと、Unit1.pas内部でのみ使えます。外部のユニット、つまり、Unit2等はUnit1のプライベートに立ち入ることはできません。2は参照する事は出来ません。宣言は文字通りパブリックな空間という意味です。当然ながら、パブリックは公共という意味ですので、ここに書かれた宣言はプロジェクト全体で共有されます。注意が必要なのは宣言の管理です。ここで書かれた宣言は「グローバル」な宣言になります。プライベートであれ、パブリックであれ、ユニット内もしくはプロジェクト内で共有されます。いった現象が起きます。これはグローバル変数を多数宣言することにより、似たような名前、似たような機能の変数が宣言されることにより、変数管理が難しくなる現象のこと指します。そのため、無用のグローバル変数はなるべく避けた方が賢明でしょう。var変数の宣言を記述します。これは大変よく使いますので、必ず覚えましょう。Implementation「実装部」とも呼びます。関数や手続きなどの処理を記述します。型の定義や変数宣言を行うこともできます。Initialization{初期化部}この初期化部に記述されたコードはプログラム開始自動的に実行されます。このコードは省略可能なため、使用時には宣言を入力する必要があります。ソースコードの一番下、「end.」の上に記述します。Finalization{終了処理部}この終了処理部に記述されたコードはプログラム終了直前に実行されます。このコードは省略可能なため、使用時には専念を入力する必要があります。ソースコードの一番下、「end.」の上に記述します。この記号がないと、リンカがフォームファイル(*.dfm)を見つけられなくなってしまいます。一つの宣言や処理を行う単位となります。ちなみに、この1行当たりの文の事をステップと呼びます。文には大文字、小文字の区別はありません。囲まれた範囲のことを指します。特徴として、複数の処理をまとめることができます。このブロックとは処理のまとまりを示します。コメントソースコード注釈のことを指します。コメントの種類には、//1ステップをコメント化します。全てコメントとなります。全てコメントとなります。}end.ソースコードの終端記号です。この記号より先にはソースコードがあってはいけません。下にあるunit2.pasをダブルクリックし、フォーカスを映します。Monkeyアプリケーションも、基本的な構文は同じです。