Рис1. Структура экрана в среде Delphi.Рассмотрим расположенное в верхней части экрана графическое меню системыDelphi, составленное из пиктограмм.В левой части графического меню находится панель инструментов. Инструментывыполняют некоторые команды главного меню - такое дублирование частопрактикуется в инструментальных средах.На этой панели есть, в частности, кнопка сохранения проекта на диске, кнопкаоткрытия проекта, кнопка запуска программы на выполнение.Следующая часть графического меню - палитра компонентов, устроенная в виденаборов пиктограмм. Совокупность наборов составляет библиотеку визуальныхкомпонентов (VCL). Имеется несколько категорий компонентов, каждая из которыхсвязана со своей закладкой. С помощью палитры компонентов мы будем создаватьэкземпляры компонентов (или объекты) в форме.Для того чтобы разместить объект в форме, нужно "щелкнуть" на соответствующейкнопке палитры и затем щелкнуть внутри окна формы: в указанное место формыбудет вставлен объект - экземпляр компонента выбранного типа.Окно Object Inspector - это окно, отображающее свойства либо формы, либоразмещенного на форме объекта. В нашем случае текущим компонентом являетсяформа, поэтому на рисунке окно свойств показывает свойства формы.Окно свойств имеет две закладки - Properties и Еvents, с помощью которыхможно получить в окне строки (поля) для задания, соответственно, свойствкомпонента (т. е. объекта или формы) и его реакции на различные события.Свойство определяет атрибут компонента, например, размер кнопки или шрифтметки. Событие означает, например, такие действия, как щелчок мыши на кнопкеили закрытие окна.Окно дерева объектов появилось в версии 6 и предназначено для наглядногоотображения связей между отдельными объектами, размещенными на активной формеили в активном модуле данных.Окно кода программы предназначено для создания и редактирования текстапрограммы. Первоначально оно содержит минимальный исходный текст. Проекты Delphi. Проект Delphi состоит из форм, модулей, установокпараметров проекта, ресурсов и т.д. Вся эта информация размещается в файлах.Многие из этих файлов автоматически создаются Delphi, когда вы строите вашеприложение. Ресурсы, такие как битовые матрицы, пиктограммы и т.д., находятся вфайлах, которые вы получаете из других источников или создаете при помощимногочисленных инструментов и редакторов ресурсов, имеющихся в вашемраспоряжении. Кроме того, компилятор также создает файлы.Создающиеся в процессе проектирования файлы показаны в табл. 7.Главной частью приложения является файл проекта (.dpr), содержащий код наязыке Object Pascal, с которого начинается выполнение программы и которыйобеспечивает инициализацию других модулей. Он создается и модифицируетсяDelphi автоматически в процессе разработки приложения. Имя, которое даетсяфайлу проекта в процессе сохранения, становится именем исполняемого файла. | Файл проекта (.dpr) | Этот текстовый файл используется для хранения информации о формах и модулях. В нем содержатся операторы инициализации и запуска программ на выполнение |
| Файл модуля (.pas) | Каждой создаваемой вами форме соответствует текстовый файл модуля, используемый для хранения кода. Можно создавать модули, не связанные с формами. Многие из функций и процедур Delphi хранятся в модулях. |
| Файл формы (.dfm) | Это двоичный или текстовый файл, который создается Delphi для хранения информации о формах. Каждому файлу формы соответствует файл модуля (.pas) |
| Файл параметров проекта(.dfo) | В этом файле хранятся установки параметров проекта |
| Файл ресурсов(.res) | Этот бинарный файл содержит используемую проектом пиктограмму и прочие ресурсы |
| Файлы резервных копий (.~dpr,.~dfm,.~pas) | Это соответственно файлы резервных копий для файлов проекта, формы и модуля. Если что-то безнадежно испорчено в проекте, можно соответственно изменить расширения этих файлов и таким образом вернуться к предыдущему не испорченному варианту |
| Файл конфигурации окон (.dsk) | Файл хранит конфигурацию всех окон среды разработки |
| Исполняемый файл (.exe) | Это исполняемый файл приложения. Он является автономным исполняемым файлом, для которого больше ничего не требуется, если только не используются библиотеки, содержащиеся в DLL, OCX и т.д. |
| Объектный файл модуля (.dcu) | Это откомпилированный файл модуля (.pas), который компонуется в окончательный исполняемый файл. |
IV.Заключение
Объектно-ориентированные системы (ООС), под которыми понимаются все языкипрограммирования, инструментарии и методологии, поддерживающие технологиюобъектно-ориентированного программирования, пользуются огромной популярностьюв мире. Это обусловлено рядом их преимуществ:1. ООС позволяют справляться со сложностью. Первое важноепреимущество объектно-ориентированных систем вытекает из природы их связи среальным миром. Разработчик может спроектировать физическую систему впрограммную, первоначально задав все важные физические объекты исоответствующие им программные объекты. Группы взаимосвязанных физическихобъектов отображаются в классы, которые можно организовать в иерархию, начинаяс общих классов и добавляя к ним специализированные подклассы. Процедуры, общиедля нескольких классов, находятся в их общем суперклассе и наследуются ими.Объектно-ориентированный подход уменьшает концептуальный разрыв междуреальным миром и компьютерной моделью. Он позволяет аналитикам ипроектировщикам ясно понимать структуру системы. Поэтому сегодня объектно-ориентированные системы используются для моделирования сложных физическихсистем на производстве, в телекоммуникациях, а также в военном и оборонномкомплексах.2. ООС предназначены для изменений. Второе преимуществообъектно-ориентированных систем обусловлено способом взаимосвязи объектов черезсообщения.Гибкость объектно-ориентированных систем является неоспоримым преимуществомдля пользователей в быстро меняющихся средах, например, в технологиипрограммирования. Так, Computer Science Corporation использовал объектно-ориентированный язык Smalltalk для разработки продукта Design Generator.Компания отмечает, что благодаря использованию объектно-ориентированнойтехнологии, разработчики программ имеют возможность быстро реагировать нановые течения рынка в условиях возрастающей конкуренции.3. Объекты могут использоваться несколько раз. Третьепреимущество объектно-ориентированных систем заключается в том, что классымогут наследовать процедуры от других классов. Компания может составитьбиблиотеки наиболее часто используемых классов, содержащих процедуры,предназначенные для специфических нужд и применяющихся в последующих прикладныхзадачах.В прошлом библиотеками подпрограмм пользовались разработчики ПО для решениястандартных задач типа математических вычислений. Объектно-ориентированныесистемы дают более широкий спектр многократного использования текстовпрограмм.Библиотеки объектов также можно приобретать от независимых поставщиков. Внастоящее время наиболее активно покупают такие библиотеки классов длясоздания пользовательских интерфейсов с пиктограммами. Разработка и написаниетаких интерфейсов с нуля - задача нелегкая. Компании типа Apple и WhitewaterGroup поставляют инструментарии для быстрого построения таких интерфейсов наоснове нескольких базовых классов типа Window, Menu, ScrollBar и Icon.Пользователи могут использовать как эти классы, так и их подклассы,добавляющие в интерфейс, например, специальные пиктограммы. 4. ООС легко поддерживаются. Четвертое преимущество заключается вспособе комплектования объектно-ориентированных программных модулей.Традиционное ПО состоит из данных и процедур, осуществляющих доступ и изменениеданных. Данные и процедуры комплектуются отдельно, поэтому изменение структурыданных влияет на различные модули, написанные разными пользователями. Вобъектно-ориентированной системе данные и процедуры рассматриваются вместе какчасть одного пакета - объекта. При изменении данных все задействованныепроцедуры легко идентифицируются и изменяются одновременно. Поскольку изменениераспространяется только на одну область системы, его побочное влияние на всюсистему уменьшается.Вследствие этих преимуществ, а также еще ряда причин, ООП является внастоящее время самым перспективным, распространенным и эффективнымнаправлением в программировании.Литература и ссылки
1. Г. Буч «Объектно-ориентированный анализ и проектирование спримерами приложений на С++» Пер. с англ. - М.: Бином; СПб.: Невский диалект,1999. 2. В. Фаронов «Deiphi 6» - СПб.: Питер, 2002. 3. Э. Ишкова «C++ начала программирования» - М.: Бином, 2001. 4. С. Немнюгин, Л. Перколаб «Изучаем Turbo Pascal» - СПб.: Питер, 2002. 5. С. С. Гайсарян «Объектно-ориентированное проектирование»(https://www.mista.ru/oop_book/index.htm) 6. Объектно-ориентированная методология программирования(https://www.math.rsu.ru/smalltalk/sml-a.ru.html) 7. Принципы объектно-ориентированного программирования – ArticlesDЛекции по Delphi (https://blackman.wp-club.net/lection/object.php) 8. Система визуального объектно-ориентированного проектированияDelphi - ArticlesD Лекции по Delphi(https://blackman.wp-club.net/lection/visualprg.php) 9. М.Плискин «Эволюция языков программирования»(https://ce2.ce.cctpu.edu.ru/edu/df/se/lang/lng_09.html) 10. Стили программирования(https://media.karelia.ru/~ftt/IVK/new2/Inflect/T_1_16.htm) 11. А. Жуков «Изучаем Delphi» - СПб.: Питер, 2003. 12. Структура экрана в среде Delphi(https://textbook.keldysh.ru/distant/delphi/del_2.htm) 13. Объектно-ориентированные системы: состояние и перспективы.Аналитический обзор по материалам фирмы OVUM. Обзор подготовил А. Г. Иванов.(https://www.math.rsu.ru/smalltalk/obzornew.ru.html) 14. Lections on Computer Science: Object Oriented Languages. Лекция 1.Объектно-ориентированные языки программирования. Сравнение с традиционнымиязыками (https://math.msu.su/~vvb/2course/lect1.html) 15. Патрикеев Ю. Н. «Объектно-ориентированное проектирование»(https://www.object.newmail.ru/oop1.html) 16. Патрикеев Ю. Н. «Объектно-ориентированное программирование наBorland C++» (https://www.object.newmail.ru/obj0.html) 17. А. Легалов «Итоги экспансии объектно-ориентированной парадигмы»(https://www.softcraft.ru/paradigm/process/pr01.shtml)Приложение
В качестве иллюстрации к вышеизложенному материалу, к курсовой работеприлагается программа, разработанная в объектно-ориентированной среде Delphi.Целью этого проекта была систематизация разных видов информации, относящейсяк одной теме – в данном случае информация о различных видах птиц. Средствавизуальной объектно-ориентированной среды Delphi позволили сделать эту работубыстро и с минимальными затратами. Ниже приводится краткое описание проекта,сам исполняемый файл прилагается на компакт-диске.Разработка проекта начиналась с главной формы (рис2.) На форме размещенывсего три объекта: Label1 класса TLabel (метка), Image1 класса TImage(изображение) и кнопка Button1 класса TButton. С помощью несложного кодапосредством этой кнопки производится переход на вторую форму: procedure TForm1.Button1Click(Sender: TObject); begin Form1.Hide;Form2.Show;
end;Рис 2. Главная форма проекта «Birds»В компоненты этой формы входит объект ListBox1 (рис3.) класса TListBox –список, с помощью которого осуществляется дальнейший переход к остальнымформам программы: procedure TForm2.ListBox1DblClick(Sender: TObject); begin Form2.Hide;(Birds[ListBox1.ItemIndex])^.Show; end; Здесь используется массив Birds, который был описан ранее: const numBirds = 15;Birds: array [0..numBirds-1] of ^TForm =(@Vorob, @Cov, @Popug, @Raksh, @Gol, @Gus, @Pog, @DHP, @Zur, @Kul,лплплл@Kur, @Dyat, @DK, @Golub, @Ping);
Рис3. Компонент ListBox1. В остальных формах программы с помощью несложных компонентов было размещенодовольно большое количество информации: графической, текстовой и звуковой.