Основы программирования delphi pascal
Под редакцией доктора технических наук, профессора В.М. Черненького
по университетскому политехническому
образованию в качестве учебного пособия
для студентов высших учебных заведений,
обучающихся по направлению «Информатика
УДК 004.43 ББК 32.973-018.1 L Е60
д-р техн. наук В.Н, Богатиков (Институт информатики и математического моделирования технологических процессов РАН); д-р техн. наук В.И. Захаров (Институт проблем комплексного освоения недр PAI [>
Основы программирования на Delphi: Учеб. пособие для вузов/В.И. Емельянов, В.И. Воробьев, Т.П. Тюрина; Под ред. В.М. Черненького. — М.: Высш. шк., 2005.— 231 с: ил.
Пособие содержит основные начальные сведения по программированию на Delphi, более 20 заданий, рекомендованных к обязательному выполнению, и составляет материал курса «Алгоритмические языки программирования»
Для студентов вузов, обучающихся по направлению «Информатика и вычислительная техника». Может быть рекомендовано студентам других направлений и всем желающим изучить основы программирования на Delphi.
УДК 004.43 ББК 32.973-018.1
ФГУП «Издательство «Высшая школа», 2005
Оригинал-макет данного издания является собственностью издательства «Высшая школа», и его репродуцирование (воспроизведение) любым способом без согласия издательства запрещается.
Основной задачей изучения дисциплины «Алгоритмические языки и технология программирования» является обучение студентов методике разработки программ, основам алгоритмизации, методам отладки, тестирования и построения приложений на ЭВМ. В качестве базового языка программирования выбран Object Pascal (Паскаль).
Достоинства языка Паскаль общепризнанны: рациональность, лаконичность, полное соответствие идее структурного программирования, наличие мощной системы программирования и пакетов прикладных программ для решения широкого круга задач.
В настоящее время продолжают оказывать решающее влияние на состояние и развитие всех областей современного программирования идеи визуального, объектно-ориентированного и событийно управляемого программирования. Классическим выражением этих идей является среда программирования DELPHI и язык программирования OBJECT PASCAL.
Форма обучения программированию достаточно проста: обучение в работе. Такой способ не только ускоряет процесс обучения, но и помогает быстрее запомнить материал. Когда выполняется некоторое действие и можно увидеть его результат, то надолго запоминается, что было сделано и как.
Чтение книг по программированию — это хорошо, но гораздо лучше практика в программировании. Соответственно предлагаемое пособие — это фундамент Вашего успеха.
Для целей первоначального обучения наиболее приемлемым представляется разумное сочетание обучения программированию с изложением языка. Детально ориентированная на синтаксис методика учит не программированию, а кодированию. Не должно быть ни стремления к полноте, например, в описании языка, ни следования заповеди «от частного к общему», т. е. систематическому, формальному изложению предшествует предварительное неформальное знакомство с большинством языковых средств.
Данное учебное пособие содержит большое количество примеров. Теоретический материал изложен исходя из постепенного усвоения тех или иных языковых средств решения задач. Отличием данного пособия от многочисленных книг, посвященных программированию на DELPHI, является подробное описание реального процесса создания программ. Это означает,
что в центре внимания авторов пособия находились, прежде всего, технологии разработки приложений.
В данном пособии рассмотрена среда визуального программирования Delphi версии 7.0. Все примеры выполнены в операционной среде Windows ХР.
Программное обеспечение представляет собой один из видов интеллектуальной собственности, разработка которой превратилась в индустрию, которая развивается по собственным строго определенным законам. Скорость создания и надежность программного обеспечения напрямую зависят от основного рабочего инструмента — используемой среды разработки. При этом важны не только достоинства текущей версии, но и базовые идеи, заложенные в концепцию инструментария.
Особенностью программирования в Windows является наличие многочисленных технологий, используемых при создании приложений различных типов, например офисных, для работы с базами данных, в среде «клиент-сервер», в Интернете и т.д. Среда разработки приложений Delphi для самых разнообразных предприятий и организаций, являющаяся интеллектуальной собственностью фирмы Borland, на протяжении ряда лет успешно выдерживает (и выигрывает!) жесткую конкуренцию с другими системами подобного типа.
В среде Delphi могут работать не только профессионалы. Среда разработки сохраняет простоту и наглядность процесса создания приложений, основанного на использовании технологий визуального программирования. Объектно-ориентированный компонентный подход позволяет легко и быстро создавать не только интерфейс программ, но и достаточно сложные механизмы доступа к данным, а также повторять и тиражировать удачные программные решения.
ОБЩАЯ ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ
Компьютерное программирование часто рассматривается как вид искусства. Однако многие институты преподают программирование как науку. Исследовательские учреждения давно ищут пути увеличения эффективности труда и уровня профессионализма разработчиков программ, т. е. интеллектуальной собственности, которая имеет свой особый статус и свое правовое поле.
Существуют различные подходы к программированию. Одним из них является структурное программирование, представляющее попытку превра-
собственности, которая имеет свой особый статус и свое правовое поле.
Существуют различные подходы к программированию. Одним из них является структурное программирование, представляющее попытку превра-
тить искусство программирования в обычную науку. Основной принцип структурного программирования заключается в создании некоторых аналитических моделей решаемой задачи перед началом кодирования. Двумя наиболее используемыми старыми моделями являются разработки «сверху вниз» и «снизу вверх».
Разработка «сверху вниз» означает, что программа создается исходя из принципа первоочередного решения главных задач. Новые более детальные уровни разрабатывают по мере успешной реализации предыдущих более высоких уровней.
Идея разработки «снизу вверх» заключается в том, что все хорошие программы состоят из хорошо отлаженных процедур и функций, объединенных логично и разумно. Новые уровни программы разрабатывают с использованием уже готовых функций и процедур, пока программа не будет готова.
В настоящее время значительным сдвигом на пути разработки технологий программирования является объектно-ориентированное программирование (ООП). ООП задумывалось как некая мощная концепция, уменьшающая время разработки и отладки программ. ООП описывает программы в терминах логических сущностей и взаимодействий между ними. Основным элементом программирования является класс, от которого порождаются многочисленные объекты со своими инкапсулированными данными и интерфейсами, позволяющими выполнять определенные встроенные действия. Отличительной особенностью ООП является мощный механизм эволюционного развития имеющихся многочисленных базовых классов путем наследования и встраивания новых интерфейсов в последующие поколения классов.
Концепция ООП соответствует внутренней логике функционирования операционной системы (ОС) Windows. Поэтому приложения, разработанные на основе ООП (в том числе и вереде Delphi), приобретают большую надежность кода и возможность широкого использования однажды построенных классов.
Delphi — это могучая среда разработки самых разнообразных программных приложений, являющаяся одновременно и редактором и компилятором. Данная среда ориентирована на работу, прежде всего, в операционных системах Windows. Однако с помощью Delphi можно разрабатывать приложения для Linux и строить кроссплатформенные приложения Windows- Linux.
В основе любой программы на Delphi лежит язык Object Pascal — язык программирования высокого уровня, позволяющий использовать такие объектно-ориентированные языковые средства, как динамические массивы, перегрузка методов, параметры, заданные по умолчанию, файловые потоки, многопоточные приложения и многое другое.
В качестве главного момента можно отметить следующее: изучение Delphi следует вести в двух направлениях: изучение среды разработки и изучение языка программирования.
В Delphi разрабатываются приложения, работающие под управлением операциионной системы Windows. Эти приложения используют библиотеку базовых классов объектов (библиотеку компонентов). Таким образом, приложение представляет собой совокупность объектов, которыми являются само приложение и все его компоненты: окна, кнопки, меню и т.д. Объект-приложение разрабатывается как программа-проект, которая взаимодействует с другими объектами. Это взаимодействие, как и положено в объектно-ориентированном мире, выражается в сообщениях, посылаемых друг другу объектами. Идея обмена сообщениями легла в основу операционной системы Windows, где объекты-окна посылают и получают сообщения.
Основные принципы и понятия объектно-ориентированного программирования: класс, поля, методы, свойства, инкапсуляция, объект, наследование, полиморфизм.
Класс является обобщением понятия типа данных и задает свойства и поведение объектов класса, являющихся его построенными экземплярами. Каждый объект принадлежит некоторому классу. Отношение между объектом и классом такое же, как между переменной и ее типом. С формальной точки зрения класс — это объединение данных и обрабатывающих их процедур (инкапсуляция). Данные класса называются полями, или переменными класса, а процедуры обработки полей — методами класса. Поля определяют свойства объекта (экземпляра класса) или состояние объекта, методы определяют поведение объекта.
Для придания гибкости доступа к полям существуют такие элементы класса, как свойства. Свойства реализуют механизм доступа к полям. Каждому свойству соответствует свое поле, содержащее некоторое текущее знаовые поля и методы.
Метод базового класса иногда полезно объявить как виртуальный. Виртуальность обеспечивает возможность написания полиморфного метода,
Визуальное программирование позволяет разрабатывать все элементы приложения, непосредственно наблюдая результаты своей работы на экране. Иными словами, разработчик увидит, как будет работать его приложение еще до того, как полностью будет написана программа. Реализация визуального программирования стала возможной в связи с развитием графического интерфейса GUI (Graphical User Interface).
Основным понятием визуального программирования является интерфейсный элемент, который в терминах объектно-ориентированного программирования является объектом. Объекты — кнопки, строки, списки и т.д. — являются кирпичиками, из которых строится приложение. Среда визуального программирования позволяет увидеть объекты на экране монитора до выполнения программы. Изменение внешнего вида объекта выполняется с помощью таких его свойств, как высота, ширина, положение, цвет и др. Свойства — это атрибуты объекта, которые составляют его индивидуальность и помогают описать его. В то же время свойства обеспечивают возможность реагировать на внешние события.
Жизнь объектов состоит в обмене сообщениями. Сообщения инициируются событиями, которые происходят во внешнем по отношению к приложению мире: при действиях пользователя, операционной системы или другого приложения. События могут возникать, например, при нажатии на кнопку мыши или клавиши на клавиатуре. Сообщение может быть проигнорировано или обработано. Для обработки сообщения необходимо запрограммировать соответствующий обработчик события. Соответственно в ООП, в том числе и Delphi, основным стилем программирования является управляемое событиями программирование.
СОБЫТИЙНО УПРАВЛЯЕМОЕ ПРОГРАММИРОВАНИЕ
Рассмотрим простую и естественную модель событийно управляемого и визуального программирования, характерную для Delphi. В типовой модели у приложения три составляющие: визуальная, системная и обработчики событий (рис.1).
Визуальная составляющая задает образ на экране, с которым будет работать пользователь, т. е. визуальная составляющая определяет интерфейс пользователя. Большинство элементов интерфейса (кнопки, окна, списки и др.) стандартизированы. Поэтому в разных средах разработки (Visual Basic, Visual C++, Delphi и др.) визуальный инструментарий содержит одни и те же элементы интерфейса (элементы управления).