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

13.Модули

Подготовка к работе

  1. По рекомендованной литературе изучить назначение и использование модулей и DLL (Dynamic Linked Library = динамически связываемая библиотека);

  2. Разработать алгоритмы решения задач.

  3. Составить программы решения задач.

Контрольные вопросы

  1. Что такое модуль? Его назначение и создание.

  2. Структура модуля.

  3. Назначение и содержание секций Interface, Implementation, Initialization, Finalization.

  4. Связывание модуля с вызывающей программой.

  5. Что такое DLL? Ее назначение и создание.

  6. Структура DLL.

  7. Экспортируемые и внутренние подпрограммы DLL.

  8. Назначение и содержание списка Exports.

  9. Связывание DLL с вызывающей программой.

  10. Способы вызова подпрограмм из DLL.

Задание к работе

  1. Создать вызывающую программу, использующую модуль комплексной арифметики Complex, содержащий 4 функции: сложение, вычитание, умножение и деление. Вызывающая программа должна выполнить функцию 1 с комплексными операндами Comp1=a + i*b и Comp2=c + i*d b и функцию деления Comp1 на ноль. Варианты заданий в Табл. 13 .1. Проект – приложение.

  2. Повторить задание 1, модуль в виде DLL Complex2. Проект – приложение.

Табл. 13.1. Варианты заданий

a

b

c

d

Функция 1

1

1

2

3

4

Сложение

2

5

6

7

8

Вычитание

3

9

10

11

12

Умножение

4

4

1

2

3

Сложение

5

8

5

6

7

Вычитание

6

12

9

10

11

Умножение

7

3

8

1

2

Сложение

8

7

14

5

6

Вычитание

9

11

12

9

10

Умножение

10

2

3

4

1

Сложение

11

6

7

8

5

Вычитание

12

10

11

12

9

Умножение

13

4

1

3

12

Сложение

14

8

5

7

10

Вычитание

15

12

9

11

68

Умножение

Пример выполнения

Задание 1

Создать вызывающую программу, использующую модуль комплексной арифметики Complex, содержащий 4 функции: сложение, вычитание, умножение и деление. Вызывающая программа должна выполнить функцию сложения с комплексными операндами Comp1=6 + i*8 и Comp2=7 + i*11 функцию деления Op1 на ноль.

  1. Командой File=>New вызываем окно архива и выбираем в нем Unit (модуль без формы). Получаем в окне Редактора кода страницу шаблона модуля с именем Unit1.

  2. В редакторе кода заносим код модуля. Секции Initialization и Finalization не используем.

  3. Сохраним модуль с именем Complex.Pas.

  4. Компилируем модуль.

  5. Командой Файл => Создать => Приложение создаем проект вызывающей программы. Форма приложения приведена на рис. 13 .4.

рис. 13.4. Форма вызывающей программы

Форма содержит:

  • Метки Label1…Label6 для отображения поясняющих надписей.

  • Однострочные редакторы Edit1…Edit4 для ввода значений переменных a, b, c, d.

  • Многострочный редактор Memo1 для вывода результатов.

  • Кнопки BitBtn1…BitBtn4 с именами Ввод, Выполнить, Очистить, Закрыть. Кнопка Ввод принимает значения введенных переменных, Копка Выполнить осуществляет вычисления и выводит результаты. Кнопка Очистить удаляет содержимое поля результатов, Кнопка Закрыть завершает работу программы (дублирует стандартную кнопку закрытия окна Windows).

  1. В коде модуля формы вызывающей программы добавляем:

  • В строку uses ссылку на модуль Complex.

  • В раздел var переменные a,b,c,d типа real и Comp1, Comp2, Comp3 типа TComplex.

  1. Создаем обработчики нажатия кнопок.

  2. Сохраняем проект под именем Prg_13_1.

Листинг модуля Complex:

unit Complex; // Комплексная арифметика

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]