Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
57
Добавлен:
04.06.2015
Размер:
1.18 Mб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ, МОЛОДЕЖИ И СПОРТА УКРАИНЫ

ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ

ФИЗИЧЕСКИЙ ФАКУЛЬТЕТ

В.К. Толстых

Донецк 2010

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ, МОЛОДЕЖИ И СПОРТА УКРАИНЫ

ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ

ФИЗИЧЕСКИЙ ФАКУЛЬТЕТ

В.К. Толстых

Программирование в среде Delphi

УЧЕБНО-МЕТОДИЧЕСКОЕ ПОСОБИЕ для студентов инженерных, физических и математических специальностей

ИЗДАНИЕ ДЕСЯТОЕ, ПЕРЕРАБОТАННОЕ

Донецк 2010

ББК 32 97 Т58

УДК 681.325.5

Программирование в среде Delphi: учеб.-метод. Пособие для бакалавров инженерных и физических специальностей / сост. В. К. Толстых. – Донецк: ДонНУ, 2010. – 128 с.: ил.

Описываются базовые понятия объектно-ориентированного программирования, принципы работы в среде визуального программирования Delphi и её основные компоненты. Излагаются основы алгоритмического языка программирования Delphi (Object Pascal) с примерами программ и рисунками экранных форм. Приводятся задания для студентов, с тематическим содержанием характерным для инженерных, физических и математических специальностей, в виде лабораторных работ с 10 вариантами и контрольными вопросами. Прилагаются кредитно-модульная система контроля знаний и ряд справочных таблиц.

Учебно-методическое пособие составлено на основе курса, читаемого на физическом факультете Донецкого национального университета для специальностей 6.070101 – « Физика», 6.070201 – « Радиофизика и электроника». Пособие предназначено для студентов естественных специальностей, не имеющих профессиональных навыков программирования.

Составитель: В. К. Толстых, д-р физ.-мат. наук, проф.

Отв. за выпуск: А.А. Каргин, д-р техн. наук, проф.

©

ДонНУ, 2010

©

Толстых В. К., 2010

2

ВВЕДЕНИЕ

ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ..........................................................................................................................

 

5

1 ОПЕРАЦИОННАЯ СИСТЕМА WINDOWS ..................................................................

 

7

ЗАДАНИЕ 1. РАБОТА С ФАЙЛАМИ В WINDOWS .......................................................................

 

7

2 ПРОГРАММИРОВАНИЕ В СРЕДЕ DELPHI...............................................................

 

8

2.1

КАК СОЗДАТЬ ПРОГРАММУ....................................................................................

 

8

2.2

СТРУКТУРА ПРОЕКТА ............................................................................................

 

10

2.3

СТРУКТУРА МОДУЛЯ..............................................................................................

 

12

2.4

БЛОКИ ЛОКАЛИЗАЦИИ ПАРАМЕТРОВ .............................................................

 

13

2.5

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ.......................

15

2.5.1

Классы и объекты ................................................................................................

 

15

2.5.2

Наследование ........................................................................................................

 

17

2.5.3

Инкапсуляция ........................................................................................................

 

17

2.5.4

Полиморфизм........................................................................................................

 

17

2.6

НАЧИНАЕМ ПРОГРАММИРОВАТЬ.....................................................................

 

18

2.7

ОТЛАДКА ПРИЛОЖЕНИЙ......................................................................................

 

21

2.7.1

Точки останова.....................................................................................................

 

22

2.7.2

Контроль значения переменных..........................................................................

 

23

2.7.3

Пошаговое выполнение программы....................................................................

 

24

ЗАДАНИЕ 2. ЗНАКОМСТВО С DELPHI....................................................................................

 

24

3 ЯЗЫК ПРОГРАММИРОВАНИЯ OBJECT PASCAL ................................................

 

27

3.1

ПРОСТЫЕ ТИПЫ ДАННЫХ...................................................................................

 

27

3.1.1

Объявление меток (Label)....................................................................................

 

27

3.1.2

Объявление констант (Const) .............................................................................

 

27

3.1.3

Объявление переменных (Var) .............................................................................

 

28

3.2

ВВОД-ВЫВОД ДАННЫХ .........................................................................................

 

29

3.2.1

Работа со строковыми данными .......................................................................

 

29

3.2.2

Стандартные строковые процедуры и функции..............................................

 

32

ЗАДАНИЕ 3. ОРГАНИЗАЦИЯ ВВОДА-ВЫВОДА.......................................................................

 

34

3.3

ПРОГРАММИРОВАНИЕ ЛИНЕЙНЫХ ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ

..............................................................................................................................................

 

 

 

37

3.3.1

Выражения............................................................................................................

 

37

3.3.2

Арифметические операции..................................................................................

 

37

3.3.3 Булевские (логические) операции.........................................................................

 

38

3.3.4

Операции отношений...........................................................................................

 

38

3.3.5

Стандартные арифметические процедуры и функции ...................................

 

39

3.3.6

Прочие полезные процедуры и функции .............................................................

 

40

3.4

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ ВЫЧИСЛИТЕЛЬНЫХ

 

ПРОЦЕСОВ........................................................................................................................

 

41

3.4.1 Оператор безусловного перехода (GoTo)...........................................................

 

41

3.4.2

Составной оператор (Begin … End).....................................

.............................. 41

3.4.3

Операторы условного перехода (If, Case) ..........................................................

 

42

ЗАДАНИЕ 4. РЕШЕНИЕ УРАВНЕНИЙ И НЕРАВЕНСТВ ..........................................................

 

44

3.5

ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ ВЫЧИСЛИТЕЛЬНЫХ

 

ПРОЦЕССОВ.....................................................................................................................

 

45

3.5.1

Оператор цикла с параметром (For) .................................................................

 

45

3.5.2

Оператор цикла с предусловием (While) ............................................................

 

46

3.5.3

Оператор цикла с постусловием (Repeat)..........................................................

 

47

3

3.5.4

Процедуры Break и Continue в операторах циклов...........................................

47

3.5.5

Обработка событий в циклах (ProcessMessage) ..............................................

48

3.6 ОПИСАНИЯ ТИПОВ ................................................................................................

48

3.6.1

Перечислимый и скалярный типы. Отрезок типа...........................................

49

3.6.2

Множества (Set) ..................................................................................................

50

3.6.3

Описание массивов (Array)..................................................................................

52

ЗАДАНИЕ 5. ОРГАНИЗАЦИЯ ЦИКЛОВ С КОНТРОЛЬНЫМ ВЫВОДОМ ИТЕРАЦИЙ ................

54

3.6.4

Ссылочные типы данных, указатели (Pointer) .................................................

58

3.6.5

Динамический массив ..........................................................................................

59

ЗАДАНИЕ 6. РАБОТА С ДИНАМИЧЕСКИМИ МАССИВАМИ ....................................................

61

3.6.6

Описание записей (Record, With).........................................................................

65

ЗАДАНИЕ 7. РАБОТА С ЗАПИСЯМИ.......................................................................................

67

3.6.7

Преобразование типов ........................................................................................

67

3.6.8

Размещение данных в файлах.............................................................................

68

ЗАДАНИЕ 8. РАБОТА С ФАЙЛАМИ ........................................................................................

75

3.7 ПРОЦЕДУРЫ И ФУНКЦИИ...................................................................................

77

3.7.1

Описание процедур, оператор процедуры (Procedure) ....................................

77

3.7.2

Описание функций, операнд функции (Function) ..............................................

78

3.7.3

Перегружаемые процедуры и функции..............................................................

78

3.7.4

Параметры процедур и функций........................................................................

81

ЗАДАНИЕ 9. ЧИСЛЕННОЕ РЕШЕНИЕ ЗАДАЧИ КОШИ МЕТОДОМ ЭЙЛЕРА ..........................

84

ЗАДАНИЕ 10. ВЫЧИСЛЕНИЕ ОПРЕДЕЛЕННОГО ИНТЕГРАЛА МЕТОДОМ ТРАПЕЦИЙ..........

87

3.8 КЛАССЫ, ОБЪЕКТЫ................................................................................................

90

3.8.1

Описание классов .................................................................................................

90

3.8.2

Создание и удаление объектов...........................................................................

92

3.9 ОБРАБОТКА ИСКЛЮЧИТЕЛЬНЫХ СИТУАЦИЙ.............................................

92

3.9.1

Исключения (Exception, Raise).............................................................................

93

3.9.2

Обработка исключений (Try, ApplicationEvents, Is)..........................................

93

3.10 ПРЕДСТАВЛЕНИЕ РИСУНКОВ В DELPHI.......................................................

97

3.10.1

Компоненты для работы с графикой..............................................................

97

3.10.2 Компонент TCanvas.........................................................................................

101

ЗАДАНИЕ 11. ПОСТРОЕНИЕ ГРАФИКА ФУНКЦИИ.............................................................

106

4 МОДУЛЬНЫЙ КОНТРОЛЬ .......................................................................................

110

СЕМЕСТР 1 .........................................................................................................................

111

СЕМЕСТР 2 .........................................................................................................................

112

СЕМЕСТР 3 .........................................................................................................................

113

СПИСОК ЛИТЕРАТУРЫ................................................................................................

115

ПРИЛОЖЕНИЯ.................................................................................................................

116

1 ПРИМЕР ОТЧЕТА.............................................................................................................

116

2 ИЕРАРХИЯ КЛАССОВ БИБЛИОТЕКИ ВИЗУАЛЬНЫХ КОМПОНЕНТ (VCL)........................

117

3 ТЕКСТ ФАЙЛА ФОРМЫ UNIT1.DFM РИМЕР 2.1) ........................................................

118

4 СООБЩЕНИЯ ОБ ОШИБКАХ (ERROR)..................................................................

119

5 ТАБЛИЦА КОДОВ ANSI ..................................................................................................

120

6 ОСНОВНЫЕ КЛАССЫ ИСКЛЮЧЕНИЙ .............................................................................

121

7 ТАБЛИЦЫ НЕКОТОРЫХ СВОЙСТВ ОБЪЕКТОВ.................................................................

122

8 “ ГОРЯЧИЕКЛАВИШИ СРЕДЫ DELPHI .........................................................................

126

9 ИСПОЛЬЗОВАННЫЕ КОМПОНЕНТЫ ................................................................................

127

4

ВВЕДЕНИЕ

ВВЕДЕНИЕ

Современные технологии программирования выбрали стратегию поблочного конструирования программ с использованием наглядных графических инструментов. Профессионалами заранее написано множество стандартных блоков-компонент, например, различные кнопки, диалоговые окна и др. Они могут выбираться из палитры компонент и встраиваться в форму (интерфейс, внешний вид) программы при помощи мыши. При этом автоматически генерируются необходимые коды программы. Программирование превращается в красивую и увлекательную игру. Последнюю фразу следует дополнить – «… для тех, кому нечего программировать». Если перед Вами стоит конкретная математическая задача, то на одном интерфейсе «далеко не уедешь». В стандартные коды придется добавлять свои уникальные операторы программы, а для этого необходимо изучить основы соответствующего языка программирования.

Мы рассмотрим язык программирования Delphi и его же среду разработки Delphi [1-3,6]. Эта среда была создана компанией Borland с использованием языка Object Pascal. Сейчас развитие Delphi осуществляется компанией Embarcadero, а сама среда поддерживает несколько языков: Delphi, C, C++, С#. Среда Delphi позволяет компилировать одни и те же коды программы для Windows, Mac OS, iPhone, Android и др.

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

[2-5,7-11].

Материал излагается следующим образом, – даётся краткое описание какого-либо раздела языка Object Pascal, рассматриваются примеры, формулируются задания в виде лабораторных работ в компьютерных классах. Лабораторные работы содержит по 10 вариантов заданий. Всего предлагается 10 лабораторных работ по программированию в среде Delphi. Кроме того, в качестве, первой лабораторной работы, дополнительно, предлагается задание, формирующее, или закрепляющее, если таковые имелись ранее, необходимые минимальные навыки работы с файлами в операционной системе Windows. В конце пособия приведен список экзаменационных вопросов и типовых практических заданий.

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

5

6

1 ОПЕРАЦИОННАЯ СИСТЕМА WINDOWS

Задание 1.

Работа с файлами в Windows

Цель задания

1.Получение навыков работы с файлами в операционной системе

Windows.

2.Освоение технологий Drag&Drop, Recycle Bin

Постановка задачи

Определить количество свободной памяти на диске С:;

В головном каталоге диска С: создать через локальное меню мыши папку Test и раскрыть её;

Создать в текущей папке файл с именем text1 текстового типа txt, открыть файл и наполнить произвольным содержанием в одну строку, сохранить файл и минимизировать (свернуть) окно редактора;

Создать в папке Test копию файла с именем text2;

Создать папку Group... в текущей папке;

Выделить все файлы текущей папки и копировать их в папку Group...;

Определить объем памяти, занимаемый папкой Group...;

Разместить на «рабочем столе» два не перекрывающихся окна папок Group... и Test, изменить тип файла text2.txt в папке Test на тип *.doc. Объяснить возникающее предупреждение;

Копировать файл text2.doc из папки Test в папку Group... и упорядочить все файлы по расширениям (по именам). Представить все файлы в виде малых икон (больших икон) и в виде краткого списка (детального списка). Продемонстрировать умение выделять нужные файлы при любом их представлении;

При помощи панели задач определить, сколько задач (приложений) в данное время выполняется. Закрыть приложения и переместить все файлы одновременно из папки Test в корзину Recycle Bin.

Удалить папку Group...;

Восстановить файл text2.doc из корзины Recycle Bin;

Удалить все папки.

При сдаче лабораторной работы необходимо объяснить Ваши действия по каждому из пунктов задания. Расскажите, сколько способов удаления, копирования и создания файлов Вы знаете. Для чего нужны расширения (типы) файлов?

7

2 ПРОГРАММИРОВАНИЕ В СРЕДЕ Delphi

2 ПРОГРАММИРОВАНИЕ В СРЕДЕ

DELPHI

Delphi – это система визуального объектно-ориентированного программирования на языке Object Pascal для операционной системы Windows. Программы, написанные для Windows, называются приложениями. Технология визуального программирования предоставляет пользователю возможность строить приложения при помощи мыши и наблюдать на экране результаты работы в процессе построения приложения. Кстати, сама среда Delphi написана в Delphi.

Программа в Delphi состоит, как минимум, из четырех типов файлов:

1. *.dpr – файл-проект (например, Project1.dpr) связывает остальные файлы в единую программу. Опции проекта (настройки компилятора, имена служебных каталогов…) хранятся в файле *.dof;

2.*.pas – файлы модулей (например, Unit1.pas) содержат описания и операторы, подготовленные программистом для решения какихлибо частей программируемой задачи. Откомпилированный модуль – это файл *.dcu;

3.*.res – двоичный файл ресурсов (например, Project1.res) хранит используемые в программе ресурсы Delphi – пиктограммы, изображение курсора мыши и т.п. Создается автоматически при создании проекта.

4.*.dfm – аналогичен *.res, хранит свойства настройки интерфейса (формы) программы.

После компиляции мы получаем один исполнимый *.exe файл, например, Project1.exe, который содержит в себе файлы *.res и *.dfm.

2.1 КАК СОЗДАТЬ ПРОГРАММУ

После запуска Delphi автоматически создается текст проекта на языке Object Pascal (файл Project1.dpr) и заготовка для основного модуля (файл Unit1.pas) с макетом интерфейса, называемым формой (Form1). На рис.2.1 показан внешний вид экрана монитора среды Delphi.

Визуальное программирование заключается в следующем:

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

2.указать вторым щелчком мыши место на форме где сразу же будет создан визуальный объект в виде рабочей копии компонента;

8

2.1КАК СОЗДАТЬ ПРОГРАММУ

3.в инспекторе объектов (рис. 2.2) необходимо выбрать требуемые свойства (properties) выделенного объекта и настроить их значения, например, изменить заголовок объекта, тип шрифта, цвет фона и т.д;

4.там же можно выбрать события (events), например, нажатие кнопки мыши, операция Drag&Drop и т.д. на которые должен реагировать выбранный объект на Вашей форме.

При этом автоматически генерируется Pascal-текст программы и заносится в указанные ранее файлы. Текст программы доступен в окнах редактора кодов. Для переключения между редактором текстов и формой используйте функциональную клавишу F12, а для инспектора объектов – F11.

Рис. 2.1 Внешний вид экрана монитора со средой Delphi

Приведем наиболее часто используемые свойства разных компонент1.

Align – выбор выравнивания компонента относительно окна формы; Alignment – выбор выравнивания текста внутри объекта;

Border… – настройка границ объекта; Caption – заголовок объекта;

Color – цвет объекта и его элементов;

Enable – доступность объекта, т.е. он должен/нет (значения данного свойства – True/False) реагировать на мышь, клавиатуру, время;

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

9