Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Pascal / Delphi / Руководство по Borland Pascal.doc
Скачиваний:
106
Добавлен:
02.05.2014
Размер:
2.05 Mб
Скачать

Структура программы Windows

При наличии такого множества взаимодействующих элементов

программного обеспечения как DOS, Windows и прикладные программы

полезно знать о том, какие части ваших приложений Windows взаимо-

действуют с окружающей их программной средой. В данном разделе

исследуется структура типичных приложений Windows, написанных в

Borland Pascal with Objects.

Структура Windows

На этапе выполнения функциональные возможности Windows и ее

API сосредоточены в трех библиотечных модулях, вызываемых работа-

ющими в данный момент приложениями. Это следующие модули Windows:

* KERNEL.EXE - управляет распределением памяти и ресурсов,

выполняет планирование и взаимодействие с DOS.

* GDI.EXE - выводит на экран и на принтер графику.

* USER.EXE - работает с окнами, вводом данных от пользовате-

ля и коммуникациями.

Эти модули являются компонентами распространяемой версии

Windows, поэтому пользователи Windows могут найти их на своих

дисках. Поставляемые программы используют эти библиотечные моду-

ли; он не включают их.

Взаимодействие с Windows и dos

Из-за ограниченного масштаба операционной системы DOS легко

предвидеть, как будет влиять DOS на успешное выполнение ваших

прикладных программ. Тем не менее, программа для DOS работает

благодаря взаимодействию между вашей программой и средствами опе-

рационной системы.

Аналогичное правило действует для программы Windows. Пос-

кольку Windows предлагает значительно большее число функциональ-

ных вызовов операционной системы, взаимодействие между Windows и

вашей программой отследить значительно труднее. Например, чтобы

вывести графику на экран, ваша программа должна вызвать функцию

GDI Windows. Для реакции на нажатие пользователем кнопки "мыши"

программа должна определять метод реакции (ответа) на сообщение.

Ваша программа должна непрерывно взаимодействовать с операционной

системой (DOS + Windows).

Элементарная программа

Традиционным введением в новый язык программирования или

операционную среду является программа, выводящая сообщение

"Hello, Word!", написанная на данном языке или для данной опера-

ционной среды. Это программа содержит количество программного ко-

да, достаточное для вывода на экран строки "Hello, Word!".

Конечно, в Windows нужно сделать значительно больше. Вам

нужно вывести окно, записать в него текст и сделать так, чтобы

окно взаимодействовало с "окружающим миром", по крайней мере вы

должны иметь возможность закрыть окно и выйти. Если вы будете де-

лать все это с самых основ, то даже для выполнения этих элемен-

тарных задач потребуется очень большой объем кода. Например,

программа GENERIC.PAS, содержащаяся на дистрибутивных дисках, вы-

полняя такие элементарные действия, занимает более 100 строк.

Это связано с тем, что предъявляет к прикладной программе

ряд требований, которые та должна удовлетворять перед тем, как

она сможет работать в Windows. Даже простейшая программа требует

большого объема исходного кода. К счастью, программы, написанные

с использованием ObjectWindows, автоматически удовлетворяют этим

требованиям (включая создание и вывод на экран основного окна и

сохранение для приложения описателя окна). Таким образом, прог-

рамма "Hello, Word!" сокращается всего до 16 строк.

program HelloApp;

uses WObjects;

type

THelloWord = object(TApplication)

procedure InitMainWindow; virtual;

end;

procedure THelloWord.InitMainWindow;

begin

MainWindow := New(PWindow,

Init(nil, 'Hello, Borland Pascal'));

end;

var HelloWord: THelloWord;

begin

HelloWord.Init('HelloWord');

HelloWord.Run;

HelloWord.Done;

end.

Соседние файлы в папке Delphi