Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Интегрированные среды разработки программ (Понятие интегрированной среды разработки)

Содержание:

ВВЕДЕНИЕ

Интегрированная среда разработки программ предназначена для быстрого создания прикладного программного обеспечения для различных операционных систем. Благодаря этому позволяет достаточно низкоуровнево взаимодействовать с операционной системой, а также с библиотеками, написанными на языке программирования. Выделение и освобождение памяти контролируется в основном пользовательским кодом, что, с одной стороны, ужесточает требования к качеству кода, а с другой - делает возможным создание сложных приложений, с высокими требованиями к работе в реальном времени.

Среда разработки позволяет управлять не только процессом кодирования приложения, но и берет на себя функции управления процессом компоновки и отладки приложения.

Основные функциональные возможности существенно увеличивают скорость разработки программ, что особенно актуально для такого трудоемкого процесса.

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

Объектом исследования данной работы является интегрированная среда разработки данных.

Предметом исследования данной работы являются основные возможности и этапы создания программ в интегрированной среде.

Задачами курсовой работы являются:

изучение теоретических основ интегрированной среды разработки программ;

рассмотрение с практической точки зрения интегрированной среды разработки Delphi.

Глава 1. Интегрированная среда разработки программ

1.1 Понятие интегрированной среды разработки

Интегрированная среда разработки (англ. IDE, Integrated Development Environment или Integrated Debugging Environment) – совокупность программных средств и инструментов, которая позволяет программистам разрабатывать качественное программное обеспечение (ПО), поддерживая при этом все этапы реализации программного продукта, начиная от написания исходного кода, компиляцией, сборкой и отладкой, и заканчивая удобным взаимодействием с другим инструментарием программиста.

До появления первых IDE специалисты тратили много времени на разработку самых простых и тривиальных программ, по причине отсутствия качественного софта на тот момент. Первым был Maestro I – немецкий программный продукт от компании Softlab Munich, который вышел в свет в 1975 году и занимал лидирующие позиции в 70-80-ых годах прошлого столетия. В те времена это было настоящим прорывом, этот комплекс был установлен на компьютерах у 22000 программистов. Первой IDE с поддержкой плагинов стала Softbench.

IDE была придумана в первую очередь для того, чтобы в разы ускорить и автоматизировать процесс разработки программного обеспечения.

Использование интегрированной среды - один из возможных подходов к разработке программ. Альтернативой ему является более ранний, традиционный подход системы UNIX, основанный на использовании набора инструментов, родственных по тематике и функциональности, но не объединенных в одну интегрированную интерактивную среду и подчас вызываемых в режиме командной строки (command line interface) [1].

Использование интегрированной среды значительно сокращает время создания программы для разработчика, чем и объясняется бурное развитие и разнообразие интегрированных сред, начиная с 1980-х годов.

Одной из первых интегрированных сред стала среда Turbo Pascal фирмы Borland, руководителем разработки которой в середине 1980-х гг. стал Филипп Кан.

Идея интегрированных сред достигла еще большего развития к середине 1980-х гг., когда появились две группы популярных интегрированных сред:

  1. Турбо-среды (Turbo Pascal, Turbo C, Turbo C++, Delphi и др.) фирмы Borland для поддержки программирования на этих языках, реализованные сначала для операционной системы MS DOS, затем - для ОС Windows;
  2. GNU Emacs - многоязыковая и многоплатформная интегрированная среда разработки, реализованная для MS DOS, затем для Windows, OpenVMS и для Linux.

Следует также указать интегрированную среду тех лет для разработки программ на объектно-ориентированном языке Smalltalk фирмы Xeror PARC - одну из первых интегрированных сред ООП, в которой впервые появилось понятие байт-кода как бинарной постфиксной формы промежуточного представления программы и понятие just-in-time (JIT, динамического) компилятора, выполняющего при первом вызове метода его компиляцию в платформно-зависимый код целевого компьютера.

Турбо-среды фирмы Borland оказали огромное влияние на разработчиков ПО и создателей инструментов разработки ПО. Их характерной чертой стала поддержка непрерывного цикла разработки: набор и редактирование исходного текста - компиляция - анализ и исправление ошибок - завершение компиляции - исполнение и отладка - без выхода из интегрированной среды, причем все эти этапы управлялись простым набором функциональных клавиш и не требовали явного вызова каких-либо отдельных инструментов. Привлекательным качеством Турбо-сред стала также высокая скорость компиляции. Хотя в первых версиях Турбо-Паскаля компиляция осуществлялась до первой ошибки, и для поиска и диагностики всех ошибок приходилось, после исправления предыдущей, запускать компиляцию снова, но это выполнялось мгновенно с помощью функциональных клавиш [5].

Турбо-среды имели встроенный механизм сборки (build) для полной компиляции всех исходных текстов проекта в бинарный код, а также режим make, аналогичный функциональности классической утилиты make системы UNIX, для повторной компиляции только измененных модулей исходного текста.

Самым важным нововведением в среде Турбо-Паскаль было расширение входного языка объектно-ориентированными концепциями (класс, объект) и конструкцией unit (модуль), воплощающей в себе идею независимой единицы компиляции (compilation unit). Поддержка ООП появилась в версии 5.5. Впоследствии эти идеи были развиты, уже на платформе Windows, в новых версиях интегрированных сред фирмы Borland - Borland Pascal и Delphi (язык программирования фирмы Borland, развивающий идеи Паскаля в сочетании с ООП).

IDE позволяют избежать большого объема однообразных действий и тем самым существенно повысить эффективность процесса разработки и отладки позволяют, то есть они являются RAD-средами различной степени автоматизации процесса программирования.

Работа в интегрированной среде позволяет специалисту[5]:

  • использование встроенного многофайлового текстового редактора, специально ориентированного на работу с исходными текстами программ;
  • проводить автоматическую диагностику выявленных при компиляции ошибок, когда исходный текст программы, доступный редактированию, выводится одновременно с диагностикой в многооконном режиме;
  • параллельно работать над несколькими проектами. Менеджер проектов позволяет использовать любой проект в качестве шаблона для вновь создаваемого проекта;
  • загрузить отлаживаемой программы в имеющиеся средства отладки, и возможность работы с ними без выхода из оболочки;
  • подключаться к оболочке практически любых программных средств.

В последнее время, функции интегрированных сред разработки становятся стандартной принадлежностью программных интерфейсов эмуляторов и отладчиков-симуляторов.

1.2 Основные возможности интегрированных сред разработки

Обозначим основные возможности интегрированных сред разработки программ. Для каждой из них характерно наличие следующих компонент:

  • единая интерактивная оболочка, обеспечивающая вызов всех других компонент, не выходя из среды, с широким использованием функциональных клавиш;
  • текстовый редактор для набора и редактирования исходных текстов программ. В недавнем прошлом в отечественной традиции использовался именно термин исходный текст, впоследствии стал использоваться термин исходный код (source code);
  • система поддержки сборки (build), то есть компиляции проектов из исходных кодов, включающая компилятор с исходного реализуемого языка и компоновщик (linker) объектных бинарных кодов в единый исполняемый код (загрузочный модуль); компоновщик используется либо штатный, входящий в состав операционной системы, либо специфичный для данной среды;
  • отладчик (debugger) для отладки программ в среде с помощью типичного набора команд: установить контрольную точку остановки; остановиться в заданной процедуры (методе); визуализировать значения переменных (или, на более низком уровне, регистров и областей памяти)[7].

Современные текстовые редакторы в интегрированных средах обеспечивают также режим автоматического завершения кода (code completion), который в них включен по умолчанию и в котором редактор среды подсказывает разработчику кода возможные и синтаксически правильные его продолжения - например, отсутствие закрывающей скобки, отсутствие точки с запятой; возможные варианты имен методов при вызове метода от объекта какого-либо определенного класса, и т.д.

В современных версиях интегрированных сред появились также следующие возможности (компоненты):

  1. Профилировщик (profiler) - инструмент для накопления и анализа статистических данных, полученных в результате исполнения программы под управлением интегрированной среды: число вызовов процедур (методов), объем памяти, используемой при выполнении программы.
  2. Рефакторинг (refactoring) - инструментарий систематических групповых модификаций программ в среде, без принципиальных изменений их функциональности, с целью улучшения кода. К типичным подобным действиям относится, например, изменение имени метода в его определении и во всех использованиях, добавление его аргумента, добавление try/catch - блока для обработки ранее не учтенного исключения[2].
  3. Генератор тестов (unit test generator) - инструмент для генерации типовых тестов для тестирования модулей (units) - методов или процедур - с различными возможными сочетаниями значений аргументов.
  4. Система управления версиями исходных кодов (source code control system) или инструмент интеграции среды с одной из существующих версионных систем (CVS, RCS, Mercurial, Visual SourceSafe и др.) - поддержка управления версиями файлов исходных кодов проектов в среде при сопровождении программ.
  5. Инструменты поддержки командной разработки программ (teamwork) - этапов жизненного цикла программы (требования и спецификации, проектирование, реализация, тестирование), распределения заданий по разработке среди участников команды программистов, контроля выполнения заданий менеджером проекта.
  6. Инструменты анализа кода (code analysis) - его семантической корректности: отсутствие некоторых видов ошибок, обнаруживаемых обычно при исполнении, например, недостижимые условия; отсутствие необходимых проверок и полномочий безопасности и др [4].
  7. Инструменты визуализации сгенерированного бинарного кода - методов, переменных, их имен и т.д.
  8. Инструменты «запутывания» кода (obfuscation), выполняющие именно с этой целью замену имен элементов кода - классов, методов, полей и т.д. на непонятные, «случайные», «запутанные» имена, с целью затруднения изучения декомпилированного бинарного кода, для защиты от «взлома» кода злоумышленниками, которые хотят несанкционированным образом присвоить себе новые идеи, содержащиеся в коде, либо изучить его со злонамеренными целями организации атак.
  9. Поддержка создания различных видов программных проектов (projects) и решений (solutions) на основе типовых шаблонов кода (code patterns); механизм разработки расширений (plug-ins, add-ins, add-ons). При современной разработке программ подчас требуется создавать очень сильно отличающиеся друг от друга разновидности приложений и инструментов - консольные (простейшие) приложения, Web-приложения и Web-сервисы, мобильные приложения, облачные приложения.

1.3 Этапы выполнения программы в интегрированной среде разработки

Рассмотрим весь процесс разработки программы, от самого начала до готового собранного бинарника, который можно будет запустить вне среды разработки. Для простоты и наглядности в качестве примера обратим внимание на классические этапы выполнения программы:

  • Набор и редактирование кода
  • Препроцессорная обработка
  • Компиляция
  • Компоновка
  • Загрузка
  • Выполнение

Рисунок 1 – процесс разработки программы

Изучим каждый этап, который отображен на рисунке 1:

  1. Набор и редактирование кода. Первый этап разработки программы, который подразумевает под собой написание текста, а если быть точнее, то инструкций для компилятора. В течение этого процесса программист не только набирает непосредственно код, но при этом он активно пользуется всем функционалом, который предоставляет ему ИСК в виде умного текстового редактора. В самых продвинутых решениях все изменения сохраняются автоматически, так же сразу происходит перекомпиляция необходимых участков кода, поэтому программист может видеть не только свои синтаксические ошибки, но и логические. Разработчик также будет иметь доступ ко всему дереву проекта и сможет работать параллельно с несколькими файлами[8].
  2. Препроцессорная обработка. После того, как разработчик завершил писать и редактировать код, он отправляет код компилятору, но до этого момента, до того, как компиляция начнется, программа проходит через специальную предварительную препроцессорную обработку.
  3. Компиляция. После выполнения второго этапа код, пока что еще понятные программисту, отправляется к компилятору, где сначала проверяется на наличие синтаксических ошибок, и если их нет, то текст программы с подстановками после препроцессорной обработки преобразуется в машинный код, по-другому его еще называют объектный код, и сохраняется на диске.

Файлы на выходе имеют расширение .obj. Помимо этого в распоряжении разработчика могут быть сторонние объектные файлы, куски машинного кода, или, если по- другому их назвать, библиотеки с расширением. lib. На данном этапе они никак не состыковываются с теми файлами .obj, которые были получены после работы компилятора.

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

В итоге получается, что объектные файлы содержать в себе «дыры», ссылки на несуществующие методы и классы, которые находятся в других объектных файлах, либо располагаются в тех самых библиотеках .lib. Компоновщик собирает все эти файлы в единое целое, на выходе получаются файлы следующих расширений: .exe у Windows.out в Unix; другими словами исполняемый загрузочный модуль, который выгружается на диск.

Загрузка. Следующий этап подразумевает под собой окончательное приготовление системы к запуску новой разработанной программы. На этой стадии загрузочный модуль с диска выгружается в оперативную память компьютера для последующего выполнения.

Выполнение. Заключительный этап, программа выполняется под управлением ЦПУ(центральное процессорное устройство), каждая команда программы выполняется за единицу процессорного времени, которая называет такт. Чем выше тактовая частота процессора, тем, соответственно, быстрее выполняются программы.

Все приведенные выше этапы автоматизируются в ИСР, тем самым экономя много времени разработчикам. Чем выше сложность проекта, чем больше файлов и директорий в программе, тем сложнее становятся зависимости, и решать все проблемы с приведением проекта в рабочее состояние «вручную» становится крайне невыгодно[11].

Вывод по первой главе.

Таким образом, интегрированные среды разработки, в сочетании с удобным интерфейсом, значительно увеличивают скорость разработки программ, которые являются очень трудоемкими. Необходимо отметить, что IDE позволяет разработчику избегать обилие однотипных действий, и предлагает ему уникальные возможности:

  • рефакторинга кода;
  • повторному использованию кода;
  • автоматической перекомпиляции нужных мест в программе, что является экстремально важным моментом в гигантских, где полная компиляция может составить целые дни, а то и недели;
  • параллельной работы над несколькими проектами;
  • расширения функционала «из коробки», с помощью многочисленных плагинов;
  • выполнения любых действий без непосредственного выхода из оболочки.

Глава 2. Интегрированная среда разработки приложений Delphi

2.1 Интегрированная среда разработчика

Обычно, визуальная среда разработки состоит из трех взаимосвязанных компонентов: редактора, отладчика и конструктора форм. В любом из современных инструментов ускоренной разработки приложений (Rapid Application Development — RAD) эти три компонента должны гармонично взаимодействовать друг с другом. При работе в конструкторе форм Delphi неявно генерирует программный код тех компонентов, которые размещаются или обрабатываются в формах. В окне редактора в код автоматически созданной программы можно внести необходимые дополнения, определяющие специфическое поведение данного приложения. Здесь же, в окне редактора, можно отладить код, внося точки останова, точки просмотра.

Редактор Delphi обычно используется параллельно с другими инструментами. Пожалуй, наиболее мощным из них можно считать технологию CodeInsight (интерактивную подсказку), позволяющую существенно уменьшить объем кода, вводимого с клавиатуры. Этот инструмент построен на использовании информации компилятора, а не библиотеки типов (как в Visual Basic), поэтому область его применения значительно шире. Хотя редактор Delphi поддерживает достаточный набор параметров настройки, следует отметить, что возможности настройки редактора пакета Visual Studio несколько шире[15].

Современная версия отладчика Delphi поддерживает весь набор функциональных возможностей, присущих отладчику пакета Visual Studio. К вновь добавленным функциям относятся средства удаленной отладки, подключения процессов, отладки пакетов и библиотек DLL, средства контроля значений автоматических локальных переменных и поддержки окна CPU. Кроме того, Delphi предоставляет удобные средства управления графической средой отладки. Они позволяют в ходе отладки размещать и объединять окна в любом удобном месте, а также запоминать сведения о полученной конфигурации в виде поименованной группы параметров настройки рабочего стола. Одна из чрезвычайно удобных функций отладчиков, которая широко распространена в среде интерпретаторов (таких как Visual Basic или Java), заключается в возможности изменять программный код и, следовательно, поведение приложения непосредственно в процессе его отладки. К сожалению, в среде компиляторов реализация подобных функций связана с очень большими трудностями, поэтому в нынешней версии она отсутствует.

Конструктор форм является обязательной принадлежностью всех инструментов RAD, включая Delphi, Visual Basic, С++ Builder и PowerBuilder. Классический вариант среды разработки обычно содержит редакторы диалогов, однако эти инструменты менее удобны для интеграции в рабочий поток создания приложения, чем конструкторы форм.

Delphi – быстро развивающаяся система. Первая версия Delphi была выпущена в феврале 1995 года, в 1996 году вышла вторая версия, 1997 – третья, 1998 – четвертая, 1999 – пятая, 2001 – шестая. Все версии, начиная с Delphi 2.0, рассчитаны на разработку 32-разрядных приложений, т.е. приложений для операционных систем Windows 95/98, NT и т.д. В 2002 году вышла седьмая версия, основным нововведением в которой были Интернет-технологии.

Интегрированная среда разработки Delphi – это среда, в которой есть все необходимое для проектирования, запуска и тестирования создаваемых приложений. Большинство версий Delphi выпускается в нескольких вариантах:

а) стандартная;

б) профессиональная версия;

в) разработка баз данных предметных областей.

Эти варианты различаются, в основном разным уровнем доступа к системам управления базами данных. Последние два варианта являются наиболее мощными в этом отношении. Библиотеки компонентов в различных вариантах практически одинаковы[3].

Среда разработчика представляет собой полнофункциональный инструмент, объединяющий все средства, необходимые для создания приложений: редактор исходных текстов, менеджер проектов, палитру компонентов, инспектор объектов и ряд дополнительных утилит (встроенный отладчик, браузер объектов, дизайнер меню и т.п.). Более того, она обеспечивает возможность подключения к среде внешних утилит.

Рисунок 2 – главное окно интегрированной среды

На рисунке 3 показано диалоговое окно Customize, предназначенное для настройки панелей инструментов. Чтобы добавить новую кнопку на любую панель инструментов, достаточно просто перетащить ее из этого окна. Для удаления кнопки достаточно перетащить ее за пределы панели инструментов [15].

Рисунок 3 - Диалоговое окно Customize предназначено для настройки панелей инструментов

Возможности настройки панелей инструментов не ограничиваются лишь заданием отображаемых на них кнопок. Любую из панелей инструментов, палитру компонентов и панель меню можно перемещать в пределах главного окна IDE. Для этого достаточно щелкнуть указателем мыши на выпуклой серой полоске в левой части панели и перетащить ее в нужное место. Если перетащить панель за пределы главного окна, будет использована еще одна из возможностей настройки — панель инструментов отделится от главного окна и станет плавающей, т.е. расположенной в собственном независимом окне. Вид плавающих панелей инструментов показан на рисунке 4.

Рисунок 4 - Плавающие панели инструментов

Главное окно. Помимо традиционного меню, содержащего базовые команды File (Файл), Edit (Правка), Search (Поиск), View (Вид), Project (2Проект), Run(Запуск), Component (Компонент), Database (База данных), Tools (Инструменты), Window (Окно), Help (Помощь), главное окно среды разработчика включает полосу быстрого доступа к командам и палитру компонентов.

Палитра компонентов позволяет выбрать визуальные и другие компоненты, которые будут присутствовать в нашем приложении. Компоненты, располагаемые в палитре, представлены в виде кнопок. Компонентами могут быть, например, кнопки, списки (визуальные компоненты) или таблицы для доступа к базам данных (невизуальные компоненты)[14].

Дерево объектов. Это окно появилось в 6-й версии Delphi и предназначено для наглядного отображения связей между отдельными компонентами, размещенными на активной форме или в активном модуле данных. Щелчок по любому компоненту в этом окне активизирует соответствующий компонент в окне формы и отображает свойства этого компонента в окне инспектора объектов. Двойной щелчок приводит к срабатыванию механизма Code Insight (кодового проникновения), который вставляет в окно кода заготовку для обработчика события OnClick. Наконец, компонент можно «перетащить» в окне и таким образом поменять его владельца (свойство parent).

Редактор кода – это еще один обязательный элемент среды разработчика, он используется для непосредственного написания кода. Создаваемый инспектором объектов код типа шаблона обработчика события, а также код, создаваемый самой средой Delphi, помещаются в окне редактора, они доступны для редактирования в любой момент создания программы. Редактор позволяет осуществлять выделение синтаксиса цветом, имеет неограниченную возможность отмены действий и возможность переключения между всеми исходными файлами, входящими в проект[9].

Инспектор объектов позволяет устанавливать свойства объектов и назначать методы-обработчики событий во время разработки программы. Расположив необходимые объекты в форме, вы можете изменять их свойства – список свойств каждого объекта отображается в инспекторе объектов. Инспектор объектов отображает также список событий, обрабатываемых объектом, и код для каждого обработчика. Такой подход существенно упрощает связь кода с интерфейсными элементами, а также с неотображаемыми элементами типа компонентов для управления базами данных.

Окно инспектора объектов содержит две страницы Properties (Свойства) и Events (События), рисунок 3:

Рисунок 5 – окно инспектора объектов

Страница Properties служит для установки нужных свойств компонента, страница Events позволяет определить реакцию компонента на то или иное событие. Совокупность свойств отображает видимую сторону компонента: положение относительно левого верхнего угла рабочей области формы, его размеры и цвет, шрифт и текст надписи на нем; совокупность событий его поведенческую сторону: будет ли компонент реагировать на щелчок мыши или на нажатие клавиш, как он будет вести себя в момент появления на экране или в момент изменения размеров окна.

Встроенный отладчик. Любая система создания приложений была бы неполной без средства отладки программ. Среда разработчика Delphi включает в себя интегрированный отладчик, который позволяет выполнять пошаговую трассировку кода, устанавливать различные точки останова (break points), узнавать значения различных выражений и просматривать стек вызовов.

Дизайнер формы представляет собой чистую форму, на которой разработчик устанавливает необходимые ему компоненты[13].

Вся рабочая область окна формы обычно заполнена точками координатной сетки, служащей для упорядочения размещаемых на форме компонентов (вы можете убрать эти точки, вызвав с помощью меню Tools - Environment options соответствующее окно настроек и убрав флажок в переключателе Display Grid на окне, связанном с закладкой Preferences).

2.2 Проекты в среде Delphi

В среде Delphi вы работаете с проектами – наборами файлов, из которых состоит создаваемое вами приложение. Ими могут быть файлы, создаваемые в среде Delphi, – файлы с исходным текстом модулей(р асширение *.PAS) формы, являющиеся графическим представлением вашего приложения (расширение *.DFM), и сами файлы проектов (расширение *.DPR). Следует отметить, что каждому файлу формы обязательно соответствует файл с исходным текстом модуля, но файл с исходным текстом модуля не обязательно должен иметь соответствующую ему форму.

Файлы проекта в Delphi, представлены в таблице 1.

Таблица 1 - Файлы проекта

Головной файл проекта (.drp)

Этот текстовый файл используется для хранения информации о формах и модулях. В нем содержатся операторы инициализации и запуска программы на выполнение.

Файл модуля (.pas)

Каждой создаваемой форме соответствует текстовый файл модуля, используемый для хранения кода. Многие из функций и процедур Delphi хранятся в модулях.

Файл формы (.dfm)

Это двоичный или текстовый файл, который создается для хранения информации о собственных формах.

Файл параметров проекта (.dfo)

В этом файле хранятся установки параметров проекта.

Файл ресурсов (.res)

Этот бинарный файл содержит используемую проектом пиктограмму и прочие ресурсы.

Файл группы файлов (.bpg)

Этот файл создается, если работать с группой проектов.

Файл пакета (.dpk)

Это двоичный файл пакета.

Файлы резервных копий (.dp, df, pa)

Это соответственно файлы резервных копий для файлов проекта, формы и модуля. Можно соответственно изменить расширения этих файлов и таким образом вернуться к предыдущему не испорченному варианту.

Продолжение таблицы 1 - Файлы проекта

Исполняемый файл (.exe)

Это исполняемый файл приложения. Он является автономным, для которого ничего не требуется, если не использовать поддержку пакетов времени выполнения.

Объектный файл модуля (.dcu)

Это откомпилированный объектный файл модуля (.pas), который компонуется в окончательный исполняемый файл.

Когда вы начинаете создавать новый проект, выбрав команду File | New Project, среда Delphi создает файл проекта и управляет им в процессе создания приложения. Файл проекта сохраняется с расширением *.DPR, и для каждого проекта может быть только один такой файл. По умолчанию проект имеет название PROJECT1. Для каждого проекта файл проекта может выглядеть следующим образом [15]:

program Project1; uses

Forms,

Unit1 in 'Unit1.pas' {Form1};

{$R *.res} begin

Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run;

end.

Следует отметить, что использование модуля Forms обязательно для всех программ, создаваемых в среде Delphi, так как в этом модуле содержится описание класса TApplication, который лежит в основе всех Delphi- приложений. В приведенном примере модуль UNIT1.PAS описывает главную форму, включенную в данное приложение. Название формы (ее идентификатор), которое должно отличаться от названия модуля, описывающего ее, приводится в фигурных скобках. Это название соответствует значению свойства Name формы. Директива in указывает на то, что модуль является обязательной частью проекта, а не просто файлом, используемым в проекте. Директива $R подключает к создаваемому файлу (проекту) все необходимые ресурсы (все файлы с расширением *.RES). Отметим, что само изображение формы хранится в виде Windows-ресурса, но имеет расширение *.DFM (Delphi Form). Вызов метода Application.Initialize приводит к инициализации самого приложения, представленного экземпляром класса TApplication. Метод Application.CreateForm загружает и инициализирует форму, а метод Application.Run начинает выполнение приложения и загружает главную форму приложения. Каждый раз, когда вы добавляете к проекту новую форму или новый модуль, Delphi автоматически добавляет директиву uses в файл проекта. Точно так же в файл проекта автоматически добавляются вызовы метода Application.CreateForm для загрузки и инициализации дополнительных форм, используемых в данном приложении.

Так как среда Delphi автоматически управляет файлами проектов, нет необходимости в самостоятельном внесении изменений в эти файлы. Более того, этого делать не рекомендуется во избежание потери целостности всего приложения.

Модули – это программные единицы, предназначенные для размещений фрагментов программ. Как уже было отмечено, для каждой формы, включаемой в проект, создается отдельный модуль (файл с исходным текстом, имеющий расширение *.PAS) Именно в этом файле хранится код, который вы пишете в процессе создания приложения, – объявления переменных, типов, код обработчиков сообщений для интерфейсных элементов, дополнительный код и т.п. В проект можно включать и модули, не связанные с формами[2].

Ниже показан код, создаваемый для формы в самом начале работы с новым проектом:

unit Unit1; interface // Секция интерфейсных объявлений

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs;

Type TForm1 = class(TForm)

procedure FormCreate(Sender: TObject); private

{ Private declarations } public

{ Public declarations } end;

Var Form1: TForm1;

Implementation // Секция реализации

{$R *.dfm} end.

В секции интерфейсных объявлений Interface описываются программные элементы (типы, классы, процедуры и функции), которые будут «видны» другим программным модулям, а в секции реализации Implementation раскрывается механизм работы этих элементов. Разделение модуля на две секции обеспечивает удобный механизм обмена алгоритмами между отдельными частями одной программы. Он также реализует средство обмена программными разработками между отдельными программистами. Получив откомпилированный «посторонний» модуль, программист получает доступ только к его интерфейсной части, в которой, как уже говорилось, содержатся объявления элементов. Детали реализации объявленных процедур, функций, классов скрыты в секции реализации и недоступны другим модулям.

2.3 Общая организация программы в Delphi

Программа, создаваемая в среде Delphi в процессе проектирования приложения, основана на модульном принципе. Главная программа состоит из объявления списка используемых модулей и нескольких операторов, создающих объекты для необходимых форм и запускающих приложение на выполнение. Модульность очень важна для создания надежных и относительно легко модифицируемых и сопровождаемых приложений. Четкое соблюдение принципов модульности в сочетании с принципом скрытия информации позволяет производить модификации внутри любого модуля, не затрагивая при этом остальных модулей и главную программу[5].

Все объекты компонентов размещаются в объектах – формах. Для каждой формы, проектируемой в приложении, Delphi создает отдельный модуль. Именно в модулях и осуществляется программирование задачи. В обработчиках событий объектов размещаются описания алгоритмов, которые в основном сводятся к обработке информации, содержащейся в свойствах одних объектов, и задании по результатам этой обработки свойств других объектов.

Структура файла главной (головной) программы приложения Delphi.

В процессе проектирования Delphi автоматически создает код головной программы и отдельных модулей. В модули вводятся собственные коды, создавая обработчики различных событий. Но головную программу, как правило, не приходится модифицировать и даже просматривать ее текст (только в исключительных случаях).

Головной файл приложения Delphi имеет следующую структуру:

Program < имя >;

{объявление подключаемых модулей, а также локальных типов, классов, констант, переменных, описание локальных функций и переменных}

Begin

{операторы тела программы}

End.

Типичная головная программа приложения имеет следующий вид:

Program Project 1;

Uses

Forms,

Unit 1 in ‘Unit 1.pas’ {Form 1}, Unit 2 in ‘Unit 2.pas’ {Form 2};

{$R *. res}

{можно поместить описание констант, переменных, функций, процедур, доступных для использования только в пределах данного файла}

Begin

Application. Initialize;

Application. CreateForm (TForm 1, Form 1);

Application. CreateForm (TForm 2, Form 2);

Application. Run;

End.

1) Программа начинается с ключевого слова program, после которого указывается имя программы (оно совпадает с именем файла, в котором был сохранен проект). Это же имя присваивается исполняемому файлу приложения. По умолчанию используется имя Project1.

2) После заголовка в тексте программы располагается предложение:

Uses

Forms,

Unit 1 in ‘Unit 1.pas’ {Form 1}, Unit 2 in ‘Unit 2.pas’ {Form 2};

В этом предложении перечисляются модули, загружаемые программой. Первый модуль Forms является системным, а следующие – модулями, разработанными самостоятельно форм. Данный пример подразумевает, что в проекте были созданы две формы с именами Form1, Form2 в модулях Unit1, Unit2. Заключенные в фигурные скобки название форм представляют собой комментарии[15].

3) Следующая строка текста – {$R *. res} – представляет собой директиву компилятора, связанную с использованием файлов ресурсов. Указанный файл должен быть файлом ресурсов Windows. По умолчанию используется расширение.RES для файлов ресурсов.

4) Первый оператор в теле программы Application. Initialize; – инициализирует приложение, следующий за ним оператор Application. CreateForm (TForm 1, Form 1); и Application. CreateForm (TForm 2, Form 2); – создают объекты формы1 и формы2, последний оператор Application. Run; – начинает выполнение приложения.

Общая структура файла модуля:

Unit < имя модуля >;

Interface // Открытый интерфейс модуля (могут помещаться списки подключаемых модулей, объявление типов, констант, переменных, функций и процедур, к которым будет доступ из других модулей)

Implementation // Реализация модуля (могут помещаться списки подключаемых модулей, объявление типов, констант, переменных, функций и процедур, к которым не будет доступа из других модулей)

Initialization // (Необязательный раздел – операторы выполняются один раз при первом обращении к модулю)

Finalization // (Необязательный раздел – операторы выполняются при любом завершении работы модуля)

End[15].

1) Модуль начинается с ключевого слова UNIT, после которого указывается имя модуля. Оно совпадает с именем файла, в котором был сохранен модуль. Текс модуля состоит из двух основных разделов: открытый интерфейс модуля и реализация модуля. Внешние модули не могут видеть типы, переменные, константы, функции и процедуры, размещенные в разделе реализации.

2) После предложения USES, содержащего список подключаемых модулей, располагается заготовка объявления класса формы. Имя класса формы – TForml. Класс содержит два раздела: открытый раздел класса (PUBLIC) – то, что объявлено в этом разделе доступно для других классов и модулей, закрытый раздел класса (PRIVATE) – то, что объявлено в этом разделе доступно в пределах данного модуля.

3) За объявлением класса формы следуют строки:

Var

Form 1: TForm1;

Таким образом, объявляется переменная Form1 класса TForm1.

4) Затем следует пустой раздел реализации INPLEMENTATION, в котором содержится только директива компилятора {$R *. dfm}, обеспечивающая компоновку файлов ресурсов форм.

Вывод по 2 главе. Таким образом, система визуального объектно-ориентированного проектирования Delphi позволяет:

  1. Создавать законченные приложения для Windows самой различной направленности.
  2. Быстро создавать профессионально выглядящий оконный интерфейс для любых приложений; интерфейс удовлетворяет всем требованиям Windows и автоматически настраивается на ту систему, которая установлена, поскольку использует функции, процедуры и библиотеки Windows.
  3. Создавать свои динамически присоединяемые библиотеки компонентов, форм, функций, которые потом можно использовать из других языков программирования.
  4. Создавать мощные системы работы с базами данных любых типов.
  5. Формировать и печатать сложные отчеты, включающие таблицы, графики и т.п.
  6. Создавать справочные системы, как для своих приложений, так и для любых других.
  7. Создавать профессиональные программы установки для приложений Windows, учитывающие всю специфику и все требования операционной системы.

Несомненно, использование простой и удобной среды Delphi позволяет даже людям с достаточно низкой компьютерной грамотностью создавать собственные программы. Для профессионала Delphi также может предоставить множество различных возможностей.

ЗАКЛЮЧЕНИЕ

В настоящее время существует большое число высокоразвитых сред разработки, ориентированных на компонентное объектно-ориентированное программирование. Различные среды разработки программного обеспечения ориентированы на различные сферы применения, используют в качестве языкового инструмента различные алгоритмические языки программирования.

Интегрированная среда разработки значительно повышает скорость и эффективность процесса разработки и отладки программы, что минимизирует временные затраты программиста и влияет на его скорость работы.

Интегрированная среда разработки позволяет

  • использовать многофайловый текстовый редактор, специально ориентированный на работу с исходными текстами программ;
  • выявлять при компиляции ошибки, когда исходный текст программы, доступный редактированию, выводится одновременно с диагностикой в многооконном режиме;
  • работать параллельно над несколькими проектами. Менеджер проектов позволяет использовать любой проект в качестве шаблона для вновь создаваемого проекта;
  • загрузить отлаживаемую программу в имеющиеся средства отладки, и возможность работы с ними без выхода из оболочки;
  • использовать возможность подключения к оболочке практически любых программных средств.

В настоящее время, функции и возможности интегрированных сред разработки становятся стандартной частью программных интерфейсов эмуляторов и отладчиков.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. В.А. Гвоздева. Введение в специальность программиста: Учебник / В.А. Гвоздева. - 2-e изд., испр. и доп. - М.: ИД ФОРУМ: НИЦ Инфра-М, 2013. - 208 с.
  2. В.Б. Попов. Delphi для школьников. – М.: Финансы и статистика, Инфра-М, 2010. – 320 с.
  3. В.Э. Гофман, А.Д Хомоненко. Delphi. Быстрый старт. – СПб.: БХВ-Петербург, 2012. – 288 с.
  4. Дарахвелидзе П.Г. Марков Е.П. Delphi – средства визуального программирования. – СПБ.: BHV – С-Петербург, 2006. – 765 с.
  5. И.Г. Семакин, А.П. Шестаков. Основы алгоритмизации и программирования. – М.: Академия, 2012. – 400 с.
  6. И.Г. Семакин, А.П. Шестаков. Основы алгоритмизации и программирования. – М.: Академия, 2008. – 400 с.
  7. Конопка Р. Создание оригинальных компонент в среде Delphi: Пер. с англ. – Киев: DiaSoftLtd, 2014. – 675 с.
  8. Константин Суворов, Михаил Черемных. Справочник Delphi. Базовые классы. – СПб.: БХВ-Петербург, 2004. – 564 с.
  9. И.Г. Крынкин. Основы разработки компонент в Delphi XE8. М.: Фолио, 2014. – 321 с.
  10. Мельников С. Delphi и Turbo Pascal на занимательных примерах. СПб.: БХВ, 2013. – 356 с.
  11. О.Л. Голицына, И.И. Попов. Программирование на языках высокого уровня. – М.: Форум, 2010. – 496 с.
  12. С.Г. Емельянов, Э.И. Ватутин, В.С. Панищев, В.С. Титов. Процедурно-модульное программирование на Delphi. – М.: Аргамак-Медиа, 2014. – 352 с.
  13. Т.И.Немцова и др. Программирование на языке Object Pascal: Учеб. пос. / Т.И.Немцова и др; Под ред. Л.Г.Гагариной. - М.: ИД ФОРУМ: НИЦ ИНФРА-М, 2013. - 496 с
  14. Э. Возневич. Освой самостоятельно Delphi: Полное руководство для самостоятельного обучения. /Под ред. В. Тимофеева. – М.: Бином, 2006. – 563 с.
  15. П.Б. Хорев. Объектно-ориентированное программирование. – М.: Академия, 2012. – 448 с.

Размещено