Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Тема 2.7 Создание пользовательских библиотек процедур и функций




    1. Понятие и виды программ

    2. Особенности описания и использования процедур и функций

    3. Создание и использование библиотек программ

    1. Понятие и виды подпрограмм

    Часто, работая над программой, программист замечает, что некоторая последовательность инструкций встречается в разных частях программы несколько раз.

    Преимущества использования подпрограмм очевидны.

Подпрограммы решают три важные задачи:

-Разделение некоторой общей задачи на несколько меньших по объему и сложности частных задач

-Уменьшение объема программы за счет многократного применения типовых программных действий, программируемых один раз в виде отдельной процедуры или функции

-Универсализации программных модулей - по возможности решение частной задачи обобщается, чтобы его можно было использовать при решении других задач.

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

    Подпрограмма - это небольшая программа, которая решает часть общей задачи. В языке Delphi есть два вида подпрограмм, различающихся назначение и способом их использования - процедура и функция.

    У каждой подпрограммы есть имя, которое используется в программе для вызова подпрограммы (процедуры).

    отличие функции от процедуры состоит в том, что с именем функции связано значение, поэтому функцию можно использовать в качестве операнда выражения, например, инструкции присваивания.

    Как правило, подпрограмма имеет параметры. Различают формальные и фактические параметры.

    Параметры, которые указываются в объявлении функции, называются формальными. Параметры, которые указываются в инструкции вызова процедуры, называются фактическими.

    Параметры используются:

    -для передачи данных в подпрограмму;

    -для получения из результата подпрограммы.

    В общем случае в качестве фактического параметра процедуры можно использовать выражение, тип которого должен совпадать с типом соответствующего формального параметра.

 

    2. Особенности описания и использования процедур и функций

    Функция - это подпрограмма, т.е. последовательность инструкций, имеющая имя.

    Процесс перехода к инструкциям функции называется вызовом функции или обращением к функции. Процесс перехода от инструкций функции к инструкциям функции, вызвавшей функцию, называется возвратом функции.

    В общем виде инструкция обращения к функции выглядит так:

    Переменная:=Функция (Параметры);

    Следует обратить внимание на то, что:

    -каждая функция возвращает значение определенного типа,

    поэтому тип переменной, которой присваивается значение      

    функции, должен соответствовать типу функции;

    -тип и количество параметров для каждой конкретной функции строго     определены.

Объявление функции в общем выглядит следующим образом:

 

function Имя (параметр1 : тип1,..., параметрК : типК):Тип;

var

//здесь объявления локальных переменных

begin

//здесь инструкции функции

Имя :=Выражение;

end;

 

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

    В общем виде объявление процедуры выглядит следующим образом:

    procedure Имя (var параметр1 :тип1; ... var параметрК: типК);

    var

    //здесь объявление локальных переменных

    begin

    //здесь инструкции процедуры

    end;

    Параметры процедуры используются для передачи данных в процедуру, а также для возврата данных из процедуры в вызывающую ее программу.

    Разработанная процедура должна быть помещена в раздел implementation, перед подпрограммой, которая использует эту процедуру.

    Инструкция вызова процедуры в общем виде выглядит так:

    Имя (Список Параметров);

    Фактическим параметром, в зависимости от описания формального параметра в объявлении процедуры может быть переменная, выражение или константа соответствующего типа.

    Если в описании процедуры перед именем параметра стоит слово var, то при вызове процедуры на месте соответствующего параметра должна стоять переменная основной программы. Использование константы или выражения считается ошибкой, и компилятор в этом случае выведет сообщение: Types of actual and formal var parameters must be identical (ТИП фактического параметра должен соответствовать типу формального параметра).

    3. Создание и использование библиотек подпрограмм

    Delphi позволяет программисту поместить свои функции и процедуры в отдельный модуль, а затем использовать процедуры и функции модуля в своих программах, указав имя модуля в списке модулей, необходимых программе (инструкция uses).

    Чтобы приступать к созданию модуля формы (в ответ на вопрос о необходимости сохранения модуля следует выбрать No. т.е. модуль, соответствующий закрытой форме, сохранять не надо). Затем из меню File нужно выбрать команду New l Unit. В результате открывается окно редактора кода, в котором находится сформированный Delphi шаблон модуля.

 

Шаблон модуля:

unit Unit1;

interface implementation

end.

    Начинается модуль заголовком - инструкцией unit, в которой указано имя модуля. Во время сохранения модуля это имя будет автоматически заменено на имя, указанное программистом.

    Слово interface отмечает раздел интерфейса модуля. В этот раздел программист должен поместить объявления находящихся в модуле процедур и функций, которые могут быть вызваны из других модулей, использующих данный.

    В раздел implementation (реализация) нужно поместить процедуры и функции, объявления в разделе interface.

    Сохраняется модуль обычным образом, т.е выбором из меню File команды Save. Вместе с тем, для модулей повторно используемых процедур и функций лучше создавать отдельную папку, назвав ее, например Units.

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

    После добавления имени модуля в список модулей, используемых приложением, сам модуль нужно добавить в проект. Для этого из меню Project надо выбрать команду Add to Project и в открывшемся диалоговом окне - имя файла модуля. В результате добавления модуля к проекту в окне редактора появится вкладка с текстом добавленного к проекту модуля.

    Увидеть структуру проекта можно в окне Project Manager, которое появляется в результате выбора соответствующей команды из меню View.

    После добавления модуля к проекту и включения его имени в список используемых модулей (инструкция uses) можно выполнить компиляцию программы.

 

Тема 2.8 Создание DLL- библиотек в Delphi

1. Понятие и особенности DLL-библиотек.

2.структура проекта DLL.










Последнее изменение этой страницы: 2018-04-12; просмотров: 659.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...