パート5コンピレーションファイル(12ページ)
次の例は、IDEのVCL(Visual Component Library)で書かれたプログラムです。このプログラムは、フレームウィンドウとリソースファイルを自動的に形成するため、単一のソースファイルからコンパイルすることはできません。しかし、彼はDelphi言語の重要な特徴を示しています。マルチユニットに加えて、クラスとオブジェクトを使用できます。
このプログラムには、プロジェクトファイルと2つの新しいユニットファイルが含まれます。まず、プロジェクトファイルは次のとおりです。プログラムグリーティング、forms、unit1、unit2; {$ r *.res} //このディレクティブはプロジェクトのリソースファイルをリンクします。グローバルアプリケーションインスタンスへ//グローバルアプリケーションInstance Application.Initialize; application.createform(tform1、form1); application.createform(tform2、form2); application.run; end. in one 1つに、プログラムはグリーティングと名付けられています。彼は3つのユニットファイルを使用しました。フォームはVCLの一部です。
このプログラムは、アプリケーションと呼ばれる一連のオブジェクトを呼び出します。これは、フォームユニットで定義されているタップライセーションクラスのインスタンスです。 (各プロジェクトは、アプリケーションオブジェクトを自動的に生成します。)tapplicationのcreateformコールという名前の2つのメソッド。 Form1を作成する最初の呼び出しcreateFormは、Unit1で定義されたTFORM1クラスのインスタンスです。 2番目の呼び出しは、Form2を作成し、Form2を作成し、Unit2のTFROM2クラスのインスタンスを定義します。 10Unit1は次のようになります:Unit1は次のようになります。ユニット1;インターフェイスSysutils、タイプ、クラス、コントロール、フォーム、ダイアログ; typetform1 = class(tform)button1:tbutton; procedure button1click(sender:tobject); end; tform1; {$ r *.dfm}手順tform1.button1click(sender:tobject); TFORM1には、ButtonButton1ボタン、Tbuttonクラスのインスタンス、およびButton1Clickという名前のプロセスが含まれています。 button1clickはform1を隠してform2を表示します(form2.showmodalを呼び出します)。
Form2は、sysutils、型、グラフィック、フォーム、ダイアログ(tform)の定義されたユニット2です。 tform2; {$ r *.dfm}手順tform2.cancelbuttonclick(sender:tobject; TFORM2には、ボタン(CancelButtonのインスタンス、Tbuttonのインスタンス)とテキストボックス(Label1のインスタンス、Tlabelのインスタンス)が含まれています。 label1がタイトルを読んでhello worldを示していることを除いて、このフォームはソースコードに表示されません!
TFORM2は、キャンセルButtonClickのメソッドを宣言および定義します。これは、ユーザーが実行時にCancelButtonを押したときに呼び出されます。このプロセス(form1.button1click in unit1の)は、イベントハンドラーと呼ばれます。それは、プログラムが実行されているときに応答されるイベントだからです。イベントハンドルは、Form1およびForm2 Formファイルで定義された特別なイベントです。グリーティングプログラムが実行を開始すると、Form1が表示され、Form2が非表示になります。 (デフォルトでは、プロジェクトファイルで作成された最初のウィンドウのみが実行時に表示され、プロジェクトメインウィンドウと呼ばれます。)ユーザーがForm1のボタンを押すと、Form2がHello Worldを示します!高熱を聞いてください。ユーザーがキャンセルボタンボタンまたはタイトルバーの閉じるボタンを押すと、Form2が閉じられます。