«Ни один ремесленник, который стремится к вершинам своей профессии, не примет негодных инструментов; и ни один производитель, который ценит качество работы, не будет упрашивать ремесленника принять их»
2. Примеры программ
Первый пример – простейшее консольное приложение, которое можно разместить в .pas или .dpr файле.
Program Greeting;
{$APPTYPE CONSOLE}
var MyMessage: string;
BEGIN
MyMessage := 'Hello world!';
Writeln(MyMessage);
END.
Программа компилируется с помощью команды
DCC32 Greeting
Получим файл размером 15КБ вместо «обычных» 3КБ.
Второй пример – консольное приложение, размещенное в двух файлах.
Файл Greeting.dpr:
Program Greeting;
{$APPTYPE CONSOLE}
uses Unit1;
BEGIN
PrintMessage('Hello World!');
END.
Файл UNIT1.PAS:
Unit Unit1;
interface
Procedure PrintMessage(msg: string);
implementation
Procedure PrintMessage(msg: string);
Begin
Writeln(msg);
End;
END.
Третий пример – Windows-приложение, размещенное в трех файлах.
{файл Greet_3.dpr}
Program Greet_3;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};
{$R *.RES}
BEGIN
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.Run;
END.
{файл unit1.pas}
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
uses Unit2;
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Hide; Form2.Show;
end;
END.
{файл unit2.pas}
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TForm2 = class(TForm)
CancelButton: TButton;
Label1: TLabel;
procedure CancelButtonClick(Sender: TObject);
procedure FormClose(Sender: TObject;
var Action: TCloseAction);
end;
var
Form2: TForm2;
implementation
uses Unit1;
{$R *.DFM}
procedure TForm2.CancelButtonClick(Sender: TObject);
begin
Form2.Close;
end;
procedure TForm2.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Form1.Show;
end;
end.
Каждый проект имеет переменную Application, которая в свою очередь имеет тип TApplication, TWebApplication или TServiceApplication.
«1. Введение в программирование в Delphi»
3. Структура программы и модулей