Добавлен: 29.03.2023
Просмотров: 205
Скачиваний: 1
Введение
Энергичное развитие новых языков программирования началось сразу же после появления первых компьютеров на электронных лампах. Для таких компьютеров требовался высокоэффективный код, который вручную составлялся на Ассемблере. В 50-е годы был разработан первый алгоритмический язык Fortran. В конце 60-х был создан язык, в которым было пописано понятие класса - Simula-67. В 70-х появился язык Pascal и C. В 83 году на свет появляется язык С++. В 1986 году был изобретён Object Pascal, как следует из названия - язык стал объектно-ориентированным. В 1996 году на свет появляется Java. И в 2001 году появляется язык C#. И до сих пор языки продолжают развиваться и преобразовываться в новые [2].
Так в 2002 году вышел новый Delphi, который является продолжением Object Pascal. На данный момент среда Delphi продолжает развиваться [1].
Изначально среда разработки Delphi была предназначена исключительно для разработки приложений Microsoft Windows, затем был реализован вариант для платформ Linux (под торговой маркой Kylix), однако после выпуска в 2002 году Kylix 3 его разработка была прекращена, и вскоре было объявлено о поддержке Microsoft .NET, которая, в свою очередь, была прекращена с выходом Delphi 2007.
В настоящее время, наряду с поддержкой разработки 32 и 64-разрядных программ для Windows, реализована возможность создавать приложения для Apple Mac OS X (начиная с Embarcadero Delphi XE2), iOS (включая симулятор, начиная с XE4 посредством собственного компилятора), Google Android (начиная с Delphi XE5), а также Linux Server x64 (начиная с версии 10.2 Tokyo).
Актуальность курсовой работы заключается в изучении и закреплении навыков программирования на языке Pascal.
Объектом исследования курсовой работы является объектно-ориентированное программирование.
Предметом исследования курсовой работы является разработка графического приложения, отображающего структуру файловой системы компьютера в древовидной форме.
Цель курсовой работы – освоение принципов объектно-ориентированного программирования и разработка приложения на языке Pascal.
Задачи курсовой работы:
- изучить современные концепции программирования;
- изучить основные приемы создания приложения в интегрированной среде разработки Embarcadero RAD Studio Delphi;
- разработать графическое приложение, отображающее древовидную структуру файловой системы;
- провести тестирование системы и отладить код.
Теоретические основы программирования в Pascal
История развития и основы Pascal
Само названия языка – «Паскаль» возникло в честь одного из великих французских математиков и физиков Блеза Паскаля. Родоначальником языка Pascal стал один из первых высокоуровневых языков программирования Algol. Создателем языка Pascal является Николас Вирт [5].
Выдающийся успех языка Pascal обусловлен рядом причин:
- язык в естественной форме отразил самые важные современные концепции технологии разработки программ;
- именно благодаря своей компактности, целостности и ортогональности понятий, язык программирования Паскаль оказался весьма легок для изучения и освоения;
- несмотря на кажущуюся простоту языка, он оказался пригодным для достаточно широкого спектра приложений, для разработки очень больших и сложных программ, даже операционных систем;
- Pascal весьма технологичен для реализации почти для всех (в том числе нетрадиционных) машинных текстур.
Программа, написанная на языке программирования Pascal, состоит из заголовка, раздела описаний и тела программы (блока операторов). Для объявления заголовка необходимо указать слово «Program», а затем название самой программы. Для возможности использования многих функций и процедур необходимо подключить модули (или библиотеки), которые могут быть как стандартными, так и пользовательскими. Для этого используется ключевое слово «Uses» и далее через запятую перечисляются модули, которые требуется подключить.
Раздел описание констант начинается с ключевого слово «Const». Раздел описания типов с ключевого слова «Type». В разделе описания типов создаются пользовательские типы, которые, как и стандартные можно использовать при объявлении переменных [7].
Описанные типы применяются в разделе описания переменных, который начинается со слова «Var». Так как язык программирования Pascal является строго типизированным, то объявления типа переменной обязательное требование.
Процедуры и функции объявляются после раздела «Var» и перед телом главной программы. Данная тема требует особого подхода, и поэтому будет рассмотрена в одной из последующих статей.
Также стоит отметить, что разделы описаний, в случае их наличия, должны располагаться именно в той последовательности, в которой они описаны выше.
Раздел операторов является телом программы и представляет собой составной оператор, начало которого обозначается словом «Begin», а конец – «End.». Заключенный в нем операторы заканчиваются символом «;». Без этого раздела программа не имеет никакого смысла.
На данный момент язык Pascal развивается в основном в среде программирования Delphi. На данный момент Object Pascal в среде Delphi принято называть также, как и среду разработки.
Характеристика среды разработки Delphi
Delphi является быстродействующей системой разработки приложений для ОС Windows, которую зачастую называют системой RAD (Rapid Application Development): rapid – быстрый, скорый, development – усовершенствование, развитие.
Основу Delphi составляет графическая среда разработки приложений, являющаяся интегрированной средой разработки (Integrated Development Environment) [3].
Для работы в среде модификации Delphi 2007, Delphi 2010 и Delphi NET необходима установка компонентов Microsoft.NET Framework и Microsoft.NET Framework SDK.
Среда программирования в модификации Delphi 2010 выпущена в комплектах Professional, Enterprise и Architect. В каждый из комплектов входит набор компонентов и средств, которые сами по себе являются готовыми программными решениями и обеспечивают разработку мощных эффективных приложений различных по функционалу, в том числе и базы данных. Комплекты Enterprise и Architect оптимальны для работы с базами данных удалённо, посредством подключения к ним через сервер. Комплект Professional допускает работы лишь с локальными базами данных.
NET-технологии среды Delphi в настоящее время продолжают активно развиваться и имеют высокие перспективы. [6]
Среда программирования Delphi – многооконная система, включающая необходимы инструментарий для эффективной разработки приложений ОС Windows. Среда является гибко настраиваемой и стандартизированной.
Проекты, разрабатываемые в Delphi состоят из нескольких программных модулей с соответствующим расширением.
Новый проект в среде программирования Delphi создается использованием приложения VCL (Visual Component Library) – библиотеки визуальных компонентов. Данный модуль вызывает стандартный перечень утилитов и объект типа Forma, приписываемый к классу форм. Так, объектно-ориентированный язык программирования Паскаль предусматривает объекты и классы. Класс является типом данных, типом объектов, в свою очередь объект представляет конкретный экземпляр класса.
Таким образом, иерархия классов является необходимым атрибутом объектно-ориентированного программирования и предполагает использование классов различного уровня [8].
При создании программы выбрать необходимые свойства формы: Name (имя, идентификатор формы), Caption (надпись - заголовок на форме), Height (высота формы), Width (ширина формы), Top (расстояние от верхней границы формы до верхней границы экрана), Left (расстояние от левого края экрана до левой границы формы) и др. Размеры определяются в пикселях.
Указанные свойства применяются для ряда компонентов среды программирования Delphi [9].
Как правило, все файлы проекта располагают в определенном каталоге (папке).
Как правило достаточно одной формы для размещения элементов проекта, Тем не менее, проекта может быть специфическим и потребовать создание двух и более форм (рис. 1).
Наиболее значительным модулем проекта является окончательное приложение с расширением exe, которое создается путем быстрой компиляции откомпилированных модулей с расширением dcu. Такими модулями являются, к примеру, локальные базы данных, созданные на базе приложений Unit.
Помимо собственно модулей также формируются копии отдельных модулей, по которым можно восстановить проект при зависании или порчи программы.
Рисунок 1 – Структура проекта с двумя формами
Итак, проект, разрабатываемый в среде программирования Delphi представляется совокупностью файлов, используемых компилятором. При этом файл главного модуля Project.dpr (description – описание) является основой проекта и содержит один или несколько модулей (исходя из числа используемых форм). Помимо этого, процесс компиляции использует следующие файлы: файл ресурсов (res), файлы описания форм (отдельный файл для каждой формы с расширением dfm), файл конфигурации проекта (cfg).
Процедуры активизации формы, реализуемая в среде программирования Delphi, позволяют:
- выполнять рабочие процедуры в нужной последовательности;
- обеспечивать многократное повторение различных рабочих процедур с различными значениями параметров;
- производить вывод графической информации в различные окна системы, а также в буфер обмена данных (и перемещения информации из буфера в файлы текстового процессора Microsoft Word, в программы создания презентаций Microsoft Power Point и пр.);
- переключать элементы вывода информации и др [11].
Представленный перечень действий применяется для активизированных форм с расположенными на ней элементами. Активация форм осуществляется путем генерирования и запуска процедуры активизации формы procedure TForm1.FormActivate(Sender: TObject).
Любые глобальные переменные, которые вводятся в других программах, и на них существует запрос, работают в проекте без дополнительного ввода. Координаты данных переменных устанавливаются непосредственно на форму компонентов – верхний левый угол компонента. Если компоненты устанавливаются на другие компоненты, к примеру, на окно (Image), их координаты следует измерять от левого верхнего угла компонента, на который они устанавливаются, а не от левого верхнего угла формы. Среди таких компонентов можно выделить Edit, Memo, MaskEdit, Button, Panel, Radiobutton и пр [10].
На практике выявлено множество событий, предполагающие определенные реакции формы и установленных на ней элементов, таким образом ответ на каждое событие выполняет соответствующая программа-процедура. В качестве примера подобных событий можно привести одинарный или двойной щелчок по форме, по окну ввода-вывода текста по окну Image и прочим элементам, нажатие или отпускание клавиш клавиатуры или мыши и пр. Наиболее распространенным событием является нажатие на кнопку Button. Так, в ходе разработки программы проекта каждый раз программист создаёт стандартную заготовку для написания определенной процедуры [12].
Практический пример разработки
Постановка задачи
Программа Filemanager предназначена для построения дерева каталогов. Программа позволяет осуществлять поиск файлов в заданном каталоге и его подкаталогах. Поиск можно осуществлять без указания названия файла или его расширения, а также с указанием части названия или/и части расширения файла.
Найденный файл можно выбрать для копирования или удаления.
В программе должен быть реализован следующий функционал:
- построение дерева каталогов;
- поиск файлов в указанном каталоге, по параметрам;
- копирование файлов;
- удаление файлов.
Входные данные:
- каталог для поиска;
- название и расширение файла для поиска;
- каталог для копирования.
Логическая структура программы представлена на рисунке 2.
Рисунок 2 – Логическая структура программы
Разработка программы
Разработка приложения производилась в два этапа:
- разработка графического интерфейса;
- разработка классов и методов работы с файлами.
Графический интерфейс пользователя представлен двумя взаимосвязанными формами, представленными в режиме конструирования на рисунках 3 – 4.
Рисунок 3 – Главная форма приложения frmMain
На главной форме приложения размещен компонент TreeView и MainMenu. Переход в форму работы с файлами осуществляется через главное меню. На рисунке 4 представлена форма работы с файлами.
Рисунок 4 – Форма работы с файлами
На форме работы с файлами представлено поле указания каталога поиска. Кнопка выбора каталога. Поле введения имени файла и расширения файла. Кнопка поиска.