ebook img

Программирование в Delphi PDF

191 Pages·2.256 MB·Russian
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Программирование в Delphi

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ЮЖНО-УРАЛЬСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ 681.3.06(07) Т41 С.А. Тимаева Программирование в Delphi Учебное пособие Челябинск 2010 Министерство образования и науки Российской Федерации Южно-Уральский государственный университет Кафедра международного менеджмента 681.3.06(07) Т41 С.А. Тимаева Программирование в Delphi Учебное пособие Челябинск Издательский центр ЮУрГУ 2010 УДК 681.3.06:519.6(075.8) Т41 Одобрено учебно-методической комиссией международного факультета Рецензенты: Л.В. Прохорова, М.И. Хаютин Тимаева, С.А. Т41 Программирование в Delphi: учебное пособие / С.А. Тимаева. – Челябинск: Издательский центр ЮУрГУ, 2010. – 189 с. Учебное пособие предназначено для студентов очной формы обучения специальностей 08508 «Информационный менеджмент», 220601 «Управление инновациями», 230200 «Информационные системы». В первой части пособия рассматриваются теоретические основы объектно-ориентированного программирования, работа по созданию приложений в интегрированной среде разработки, синтаксис и семантика языка программирования Delphi. В каждом разделе рассматриваются примеры для практического использования. Вторая часть пособия посвящена разработке приложений для работы с базой данных. Содержит в краткой форме теоретический материал и описание практической работы по созданию приложения по технологии step-by- step. В последней главе рассматривается практическая работа с использованием языка SQL. УДК 681.3.06:519.6(075.8) © Издательский центр ЮУрГУ, 2010 ОГЛАВЛЕНИЕ Часть I. Delphi и работа в Интегрированной Среде Разработки..........................................6 Глава 1. Объектно-ориентированное программирование .................................................... 6 1.1. Основные понятия и определения ............................................................................... 6 1.2. Визуальное программирование интерфейса ............................................................... 8 1.3. Общие вопросы построения программ ..................................................................... 10 Глава 2. Проекты Delphi 2.1.Файлы проекта .............................................................................................................. 11 2.2.Структура файла головной программы ...................................................................... 12 2.3. Окно Интегрированной Среды Разработки Delphi .................................................. 13 2.4. Панель главного меню и всплывающие меню ......................................................... 16 2.5. Форма и компоненты .................................................................................................. 17 2.5.1.Окно формы ........................................................................................................... 17 2.5.2. Окно Редактора Кода ........................................................................................... 17 2.5.3. Инспектор Объектов ............................................................................................ 18 2.6. Структура модуля приложения .................................................................................. 21 Глава 3. Элементы языка Delphi ......................................................................................... 22 3.1.Типы данных ................................................................................................................. 22 3.1.1. Целый тип ............................................................................................................. 23 3.1.2.Вещественный тип ................................................................................................ 23 3.1.3. Символьный тип ................................................................................................... 23 3.1.4. Строковый тип ...................................................................................................... 24 3.1.5. Логический тип ..................................................................................................... 24 3.2. Переменная .................................................................................................................. 24 3.3. Константы .................................................................................................................... 25 3.3.1.Числовые константы ............................................................................................. 25 3.3.2. Строковые и символьные константы ................................................................. 25 3.3.3. Логические и именованные константы .............................................................. 26 3.4. Инструкция присваивания .......................................................................................... 26 3.5. Стандартные функции ................................................................................................ 29 3.5.1.Математические функции .................................................................................... 29 Глава 4. Компоненты ............................................................................................................. 31 4.1. Форма и компоненты на форме ................................................................................. 32 4.2. Событие и процедура обработки событий ................................................................ 36 Глава 5. Основы программирования 5.1. Сохранение проекта, его повторное открывание ..................................................... 38 5.2. Стиль программирования ........................................................................................... 39 5.3. Порядок разработки проекта ...................................................................................... 41 5.4. Управляющие структуры языка Delphi ..................................................................... 41 5.4.1. Инструкция if ..................................................................................................... 44 5.4.2. Инструкция case ................................................................................................. 50 3 5.5. Циклы ........................................................................................................................... 57 5.5.1. Инструкция for ................................................................................................... 57 5.5.2. Инструкция while .............................................................................................. 60 5.5.3. Инструкция repeat ............................................................................................ 62 5.5.4. Инструкция goto ................................................................................................. 64 5.6. Процедуры и функции ................................................................................................ 65 5.6.1. Структура функции .............................................................................................. 66 5.6.2. Структура процедуры .......................................................................................... 67 5.6.3. Ввод и вывод данных в диалоговых окнах ........................................................ 69 5.6.4. Запись инструкций программы ........................................................................... 72 5.6.5. Отладка программы ............................................................................................. 73 5.7. Операции со строками ................................................................................................ 75 5.7.1. Стандартные функции и процедуры работы со строками ............................... 75 5.7.2. Использование операций со строками ............................................................... 76 5.8. Массивы ....................................................................................................................... 77 5.8.1. Объявление массива ............................................................................................. 77 5.8.2. Операции с массивами ......................................................................................... 79 5.8.3. Стандартные функции обработки массивов ...................................................... 85 5.8.4. Многомерные массивы ........................................................................................ 87 5.8.5. Одномерные динамические массивы ................................................................. 90 5.9. Дополнительные модули ............................................................................................ 96 5.9.1. Создание модуля .................................................................................................. 96 5.9.2. Использование модуля ......................................................................................... 98 5.9.3. Включение в проект новой формы ..................................................................... 99 5.10. Файлы ....................................................................................................................... 102 5.10.1. Объявление файла ............................................................................................ 102 5.10.2. Работа с файловыми переменными ................................................................ 102 5.10.3. Ошибки открытия файла ................................................................................. 104 Часть II. Создание приложения для работы с базой данных Глава 6. Простое приложение на основе компонента Table 6.1. Структура приложения ............................................................................................. 108 6.2.Создание проекта 6.2.1. Создание базы данных ....................................................................................... 109 6.2.2. Создание проекта и начало работы .................................................................. 110 6.2.3. Навигация по таблице ........................................................................................ 113 6.3.Упорядочивание записей, работа с полями ............................................................. 117 6.4. Создание вычисляемых полей ................................................................................. 122 6.5. Фильтрация данных .................................................................................................. 124 6.5.1. Создание фильтра ............................................................................................... 124 6.5.2. Фильтрация с использованием события FilterRecord ............................. 131 Глава 7. Приёмы разработки сложных приложений......................................................... 132 4 7.1. Применение модуля данных .................................................................................... 133 7.2. Компоненты отображения и редактирования данных ........................................... 137 7.3. Приложение с несколькими связанными таблицами ............................................ 141 7.4. Поля просмотра ......................................................................................................... 144 7.5. Программирование работы с базой данных ........................................................... 148 7.5.1.Пересылка записи в базу данных ....................................................................... 149 7.5.2.Использование для редактирования компонентов категории Data Controls ........................................................................................................................................ 150 7.5.2. Использование для редактирования БД компонентов категории Standard .. 155 7.5.3.Поиск записей ...................................................................................................... 158 Глава 8. Основы языка SQL и его использование в приложениях .................................. 162 8.1. Оператор выбора SELECT........................................................................................ 162 8.3. Вложенные запросы .................................................................................................. 173 8.4.Объединения таблиц .................................................................................................. 178 8.5. Операции с записями ................................................................................................ 179 8.6. Операции с таблицами .............................................................................................. 182 8.7. Операции с индексами .............................................................................................. 187 Библиографический список ................................................................................................. 189 5 ЧАСТЬ I. DELPHI И РАБОТА В ИНТЕГРИРОВАННОЙ СРЕДЕ РАЗРАБОТКИ Современные версии Delphi являются одними из самых мощных систем, позво- ляющих на самом современном уровне создавать как отдельные прикладные програм- мы Windows, так и разветвленные комплексы, предназначенные для работы в корпора- тивных сетях и в Интернете. Глава 1. Объектно-ориентированное программирование Объектно-ориентированное программирование (сокращенно ООП) – это естест- венный подход к построению сложных (и не очень сложных) программ и систем. Когда вы открываете любую программу Windows, вы видите окно с множеством кнопок, раз- делов меню, окон редактирования, списков и т.п. Все это объекты. Причем сами по себе они ничего не делают. Они ждут каких-то событий – нажатия пользователем клавиш или кнопок мыши, перемещения курсора и т.д. Когда происходит подобное событие, объект получает сообщение об этом и как-то на него реагирует: выполняет некоторые вычисления, разворачивает список, заносит символ в окно редактирования. Вот такая программа Windows и есть объектно-ориентированная программа (для краткости в дальнейшем называем прикладные программы приложениями). 1.1. Основные понятия и определения Приложение, построенное по принципам объектной ориентации – это не последо- вательность каких-то операторов, не некий жесткий алгоритм. Объектно- ориентрованная программа – это совокупность объектов и способов их взаимодей- ствия. Отдельным (и главным) объектом при таком подходе во многих случаях можно считать пользователя программы. Он же служит и основным, но не единственным, ис- точником событий, управляющих приложением. Основное понятие ООП – объект. Объект хранит в себе, как правило, какие-то дан- ные. Данные можно рассматривать как поля записи. Это характеристики объекта. Поль- зователь и объекты программы должны, конечно, иметь возможность читать эти дан- ные объекта, как-то их обрабатывать и записывать в объект новые значения. Здесь важ- нейшее значение имеют принципы инкапсуляции и скрытия данных. Принцип скры- тия данных заключается в том, что внешним объектам и пользователю прямой доступ к данным, как правило, запрещен. Делается это по двум причинам: • для надежного функционирования объекта надо поддерживать целостность и не- противоречивость его данных. Если не позаботиться об этом, то внешний объект или пользователь могут занести в объект такие неверные данные, что он начнет функцио- нировать с ошибками; • необходимо изолировать внешние объекты от особенностей внутренней реализации данных. Для внешних потребителей данных должен быть доступен только пользова- тельский интерфейс – описание того, какие имеются данные и функции и как их ис- пользовать. Внутренняя реализация – это дело разработчика объекта. При таком подходе разра- ботчик может в любой момент модернизировать объект, изменить структуру хранения и форму представления данных, но, если при этом не затронут интерфейс, внешний по- требитель этого даже не заметит. И значит, во внешней программе и в поведении поль- зователя ничего не придется менять. 6 Чтобы выдержать принцип скрытия данных, в объекте обычно определяются про- цедуры и функции, обеспечивающие все необходимые операции с данными: их чтение, преобразование, запись. Эти функции и процедуры называются методами, и через них происходит общение с данными объекта. Совокупность данных и методов их чтения и записи называется свойством. Свойства можно устанавливать в процессе проектиро- вания, их можно изменять программно во время выполнения вашей прикладной про- граммы. Причем внешне это все выглядит так, как будто объект имеет какие-то данные, например, целые числа, которые можно прочитать, использовать в каких-то вы- числениях, заложить в объект новые значения данных. В процессе проектирования ва- шего приложения с помощью Delphi вы можете видеть значения некоторых из этих данных в окне Инспектора Объектов, можете изменять эти значения. В действительно- сти все обстоит иначе. Все общение с данными происходит через методы их чтения и записи. Это происходит и в процессе проектирования, когда среда Delphi запускает в нужный момент эти методы, и в процессе выполнения приложения, поскольку компи- лятор Delphi незримо для разработчика вставляет в нужных местах программы вызовы этих методов [1]. Помимо методов, работающих с отдельными данными, в объекте имеются методы, работающие со всей их совокупностью, меняющие их структуру. Таким образом, объ- ект является, прежде всего, совокупностью свойств и методов. Но это пока нельзя счи- тать законченным определением объекта, поскольку надо еще рассмотреть взаимодей- ствие объектов друг с другом. Средой взаимодействия объектов (как бы силовым полем, в котором существуют объекты) являются сообщения, генерируемые в результате различных событий. Со- бытия наступают, прежде всего, вследствие действий пользователя – перемещения кур- сора мыши, нажатия кнопок мыши или клавиш клавиатуры. Но события могут насту- пать и в результате работы самих объектов. В каждом объекте определено множество событий, на которые он может реагировать. В конкретных экземплярах объекта могут быть определены обработчики каких-то из этих событий, которые и определяют реак- цию данного экземпляра объекта. К написанию этих обработчиков, часто весьма про- стых, и сводится основное программирование при разработке графического интер- фейса пользователя с помощью Delphi. Теперь можно окончательно определить объект как совокупность свойств и ме- тодов, а также событий, на которые он может реагировать (рис. 1.1). Внешнее управление объектом осуществляется через обработчики событий. Эти обработчики обращаются к методам и свойствам объекта. Начальные значения данных объекта могут задаваться также в процессе проектирования установкой различ- ных свойств. В результате выполнения методов объекта могут генерироваться новые события, воспринимаемые другими объектами программы или пользователем. Представление о программе как о некоторой фиксированной совокупности объек- тов не является полным. Чаще всего сложная программа – это не просто какая-то пре- допределенная совокупность объектов. В процессе работы объекты могут создаваться и уничтожаться. Таким образом, структура программы является динамическим обра- зованием, меняющимся в процессе выполнения. Основная цель создания и уничтожения объектов – экономия ресурсов компьютера и, прежде всего, памяти. Несмотря на бурное развитие вычислительной техники, па- мять, наверное, всегда будет лимитировать возможности сложных приложений. Это связано с тем, что сложность программных проектов растет теми же, если не более бы- стрыми, темпами, что и техническое обеспечение. Поэтому от объектов, которые не нужны на данной стадии выполнения программы, лучше освобождаться [1]. 7 Установки при проектировании Свойст в а События Метод ы Обработчики событий Событи я Рис. 1.1. Схема организации объекта При этом освобождаются и выделенные им области памяти, которые могут исполь- зоваться вновь создаваемыми объектами. Простой пример этого – окно-заставка с лого- типом, появляющееся при запуске многих приложений. После начала реального вы- полнения приложения эта заставка исчезает с экрана и никогда больше не появится в данном сеансе работы. Было бы варварством не уничтожить этот объект и не освобо- дить занимаемую им память для более продуктивного использования. В любом сколь- ко-нибудь сложном приложении имеется также немало диалоговых окон, которые вы- зываются пользователем очень редко, а многими пользователями вообще никогда не вызываются. Например, почти наверняка и вы даже не видали всех диалоговых окон, предусмотренных в программе Word. А часто ли вы вызываете окно «О программе» в том же Word? Естественно, что все эти диалоговые окна бессмысленно хранить посто- янно в памяти. Они создаются в тот момент, когда пользователь их вызывает, и унич- тожатся после того, как пользователь закончил работу с ними. С целью организации динамического распределения памяти во все объекты зало- жены методы их создания – конструкторы и уничтожения – деструкторы. Конструк- торы тех объектов, которые изначально должны присутствовать в приложении (при- кладной программе), срабатывают при запуске программы. Деструкторы всех объектов, имеющихся в данный момент в приложении, срабатывают при нормальном (неаварий- ном) завершении его работы. Но нередко и в процессе выполнения различные новые объекты (например, новые окна документов) динамически создаются и уничтожаются с помощью их конструкторов и деструкторов [1]. Включать объекты в свою программу можно двумя способами: вручную включать в нее соответствующие операторы (это приходится делать не очень часто) или путем ви- зуального программирования, используя заготовки – компоненты. 1.2. Визуальное программирование интерфейса Сколько существует программирование, столько существуют в нем и тупики, в ко- торые оно постоянно попадает и из которых, в конце концов, выходит. Один из таких тупиков или кризисов был в свое время связан с разработкой графического интерфейса пользователя. Программирование вручную всяких привычных для пользователя окон, кнопок, меню, обработка событий мыши и клавиатуры, включение в программы изо- бражений и звука требовало все больше и больше времени программиста. В ряде слу- 8 чаев весь этот сервис начинал занимать до 80-90%. Выход из этой ситуации обозначил- ся благодаря двум подходам. Первый из них – стандартизация многих функций интерфейса, благодаря чему появилась возможность использовать библиотеки, имеющиеся, например, в Windows. В частности, появился API Windows – интерфейс, в котором описано множество функ- ций, причем от версии к версии набор функций расширяется, внутреннее описание функций совершенствуется, но формы вызова функций не изменяются. В итоге, при смене стиля графического интерфейса (например, при переходе от Windows 3.x к Win- dows 95, а затем к Windows 2000 и ХР) приложения смогли автоматически приспосаб- ливаться к новой системе без какого-либо перепрограммирования. На этом пути созда- лись прекрасные условия для решения одной из важнейших задач совершенствования техники программирования – повторного использования кодов. Однажды разработан- ные вами формы, компоненты, функции могли быть впоследствии неоднократно ис- пользованы вами или другими программистами для решения их задач. Каждый про- граммист получил доступ к наработкам других программистов и к огромным библио- текам, созданным различными фирмами. Причем была обеспечена совместимость про- граммного обеспечения, разработанного на разных алгоритмических языках [1]. Вторым революционным шагом, кардинально облегчившим жизнь программистов, явилось появление визуального программирования, возникшего в Visual Basic и на- шедшего блестящее воплощение в Delphi и C++Builder фирмы Borland. Визуальное программирование позволило свести проектирование пользо- вательского интерфейса к простым и наглядным процедурам, которые дают возмож- ность за минуты или часы сделать то, на что ранее уходили месяцы работы. В совре- менном виде в Delphi это выглядит так. Вы работаете в Интегрированной Среде Разработки (ИСР или Integrated develop- ment environment – IDE) Delphi. Среда предоставляет вам формы (в приложении их может быть несколько), на которых размещаются компоненты. Обычно это оконная форма, хотя могут быть и невидимые формы. На форму с помощью мыши переносятся и размещаются пиктограммы компонентов, имеющихся в библиотеках Delphi. С помо- щью простых манипуляций вы можете изменять размеры и расположение этих компо- нентов. При этом вы все время в процессе проектирования видите результат – изобра- жение формы и расположенных на ней компонентов. Вам не надо мучиться, много- кратно запуская приложение и выбирая наиболее удачные размеры окна и компонен- тов. Результаты проектирования вы видите, даже не компилируя программу, немедлен- но после выполнения какой-то операции с помощью мыши. Но достоинства визуального программирования не сводятся к этому. Самое главное заключается в том, что во время проектирования формы и размещения на ней компо- нентов Delphi автоматически формирует коды программы, включая в нее соответст- вующие фрагменты, описывающие данный компонент. А затем в соответствующих диалоговых окнах пользователь может изменить заданные по умолчанию значения ка- ких-то свойств этих компонентов и, при необходимости, написать обработчики каких- то событий. То есть проектирование сводится, фактически, к размещению компонентов на форме, заданию некоторых их свойств и написанию, при необходимости, обработ- чиков событий. Компоненты могут быть визуальные, видимые при работе приложения, и невизу- альные, выполняющие те или иные служебные функции. Визуальные компоненты сра- зу видны на экране в процессе проектирования в таком же виде, в каком их увидит пользователь во время выполнения приложения. Это позволяет очень легко выбрать место их расположения и их дизайн – форму, размер, оформление, текст, цвет и т.д. 9

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.