Программирование в Delphi. Барков И.А - 8 стр.

UptoLike

Составители: 

8
вить новую форму в ваш проект, связанный с ним файл .pas автоматически будет создан, и его имя бу-
дет добавлено в проект.
Такая синхронизация и делает Delphi two-way-инструментом, обеспечивая полное соответствие между
кодом и визуальным представлением. Как только вы добавите новый объект или код, Delphi устанав-
ливает т.н. “кодовую синхронизацию
между визуальными элементами и соответствующими им кодо-
выми представлениями.
Например, предположим, вы добавили описание поведения формы (соотв. обработчик событий), чтобы
показывать окно сообщения по нажатию кнопки. Такое описание появляется, если дважды щелкнуть
мышкой непосредственно на оъект Button в форме или дважды щелкнуть мышью на строчку OnClick
на странице Events в Инспекторе объектов. В
любом случае Delphi создаст процедуру или заголовок
метода, куда вы можете добавить код.
procedure TForm1.Button1Click(Sender: TObject);
begin
end;
Cоздавая этот код, Delphi автоматически формирует декларацию объекта TForm1, которая содержит
процедуру ButtonClick, представляющую из себя собственно обработчик события.
TForm1 = class (TForm)
Button1: Tbutton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Конечно вы запросто можете решить после получения этого кода,
что автоматически созданные имена
Вас не устраивают, и заменить их. Например, Button1 на Warning. Это можно сделать изменив свойство
Name для Button1 при помощи Инспектора объектов. Как только вы нажмете Enter, Delphi автоматиче-
ски произведет соответствующую синхронизацию в коде. Так как объект TForm1 существует в коде, вы
свободно можете добавлять любые другие поля, процедуры, функции или object definition.
К примеру,
вы можете дописать в коде свою собственную процедуру, обрабатывающую событие, а не делать это
визуальным методом.
Следующий пример показывает, как это можно сделать. Обработчик принимает аргумент типа TObject,
который позволяет нам определить, если необходимо, кто инициировал событие. Это полезно в случае,
когда несколько кнопок вызывают общую процедуру для обработки.
TForm1
= class(TForm)
Warning: TButton;
Button1: TButton;
procedure WarningClick(Sender: TObject);
procedure NewHandler(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Здесь мы имеем дело уже с второй стороной синхронизации. Визуальная среда в данном случае распо-
знает, что новая процедура добавлена к объекту и соответствующие имена появляются в Инспекторе
объектов.
вить новую форму в ваш проект, связанный с ним файл .pas автоматически будет создан, и его имя бу-
дет добавлено в проект.

Такая синхронизация и делает Delphi two-way-инструментом, обеспечивая полное соответствие между
кодом и визуальным представлением. Как только вы добавите новый объект или код, Delphi устанав-
ливает т.н. “кодовую синхронизацию” между визуальными элементами и соответствующими им кодо-
выми представлениями.

Например, предположим, вы добавили описание поведения формы (соотв. обработчик событий), чтобы
показывать окно сообщения по нажатию кнопки. Такое описание появляется, если дважды щелкнуть
мышкой непосредственно на оъект Button в форме или дважды щелкнуть мышью на строчку OnClick
на странице Events в Инспекторе объектов. В любом случае Delphi создаст процедуру или заголовок
метода, куда вы можете добавить код.
procedure TForm1.Button1Click(Sender: TObject);
begin
end;
Cоздавая этот код, Delphi автоматически формирует декларацию объекта TForm1, которая содержит
процедуру ButtonClick, представляющую из себя собственно обработчик события.
TForm1 = class (TForm)
Button1: Tbutton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Конечно вы запросто можете решить после получения этого кода, что автоматически созданные имена
Вас не устраивают, и заменить их. Например, Button1 на Warning. Это можно сделать изменив свойство
Name для Button1 при помощи Инспектора объектов. Как только вы нажмете Enter, Delphi автоматиче-
ски произведет соответствующую синхронизацию в коде. Так как объект TForm1 существует в коде, вы
свободно можете добавлять любые другие поля, процедуры, функции или object definition. К примеру,
вы можете дописать в коде свою собственную процедуру, обрабатывающую событие, а не делать это
визуальным методом.

Следующий пример показывает, как это можно сделать. Обработчик принимает аргумент типа TObject,
который позволяет нам определить, если необходимо, кто инициировал событие. Это полезно в случае,
когда несколько кнопок вызывают общую процедуру для обработки.
TForm1 = class(TForm)
Warning: TButton;
Button1: TButton;
procedure WarningClick(Sender: TObject);
procedure NewHandler(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Здесь мы имеем дело уже с второй стороной синхронизации. Визуальная среда в данном случае распо-
знает, что новая процедура добавлена к объекту и соответствующие имена появляются в Инспекторе
объектов.



                                                 8