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

9. Создание класса в отдельном модуле

Задание: Создать «простой» класс на основе TObject, и записать его в отдельный модуль. Методы и свойства объекта должны обеспечивать рисование, а также анимацию изображений по вариантам (методы Draw(x,y), свойства Position_X, Position_Y и т.д. по усмотрению разработчика). Эскизы изображений взять из таблицы 9. Использовать команды рисования.

Т а б л и ц а 9

Эскизы изображений

Вариант 1

Вариант 2

Вариант 3

Вариант 4

Вариант 5

Вариант 6

Вариант 7

Вариант 8

Вариант 9

Вариант 10

Структура команд:

Рекомендовано к использованию Sleep(<кол-во миллисекунд>); выполняет задержку на указанный промежуток времени, аналог Delay из Turbo Pascal или таймер;

Unit <Имя модуля>;

//раздел интерфейса

Interface

Uses <Список используемых модулей>;

Const <Список констант>;

Type <Описание типов>

<Имя класса> = class (Имя класса-родителя, если TObject, то

можно не указывать)

<имя поля 1>: <Имя типа 1>;

<имя поля 2>: <Имя типа 2>;

………………………….

procedure <Имя метода 1> (<Список параметров>);

function <Имя метода 2>(<Список параметров>):<Тип

результата>;

………………………….

public//открытый раздел класса

{Public declarations}

{Сюда могут помещаться объявления переменных, функций и процедур, включаемых в класс, доступных для других модулей}

protected

private//закрытый раздел класса

{Private declarations}

{Сюда могут помещаться объявления переменных, функций и процедур, включаемых в класс, но не доступных для других модулей}

end;

var <Объявление переменных>

<Заголовок процедур>

<Заголовок функций>

//раздел реализации

Implementation

Uses <Список используемых модулей>;

Const <Список констант>;

Type <Описание типов>

var <Объявление переменных>

<Описание процедур>

<Описание функций>

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

//Раздел инициализации

Initialization

<Операторы>;

{Располагаются операторы, выполняемые в начале работы программы}

//Раздел финализации

Finalization

<Операторы>;

{Располагаются операторы, которые выполняются при завершении работы программы}

End.

Содержание отчета: Условие, листинг программы, форма с результатом выполнения программы, выводы.

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

Задание: Создать динамическую библиотеку, реализующую функцию показа имени и фамилии студента.

Структура команд:

library <имя библиотеки, должно совпадать с именем >;

uses <используемые модули>;

<процедуры и функции, реализуемые в библиотеке>

Function MyExternalFunc(t: Real): Real; Export; stdcall;

Begin … end;

exports MyExternalFunc;

<список процедур и функций, доступных другим программам>

begin

<код, исполняемый при инициализации библиотеки>

end.

Для использования динамическая библиотека (файл с расширением dll), должна находиться либо в директории программы, либо в системной директории ОС.

Для использования внешней функции необходимо подключить ее к программе.

interface

function MyExternalFunc(t: Real): Real; external ‘file.dll’;

implementation

Result := MyExternalFunc(t);

Если программе не удастся найти библиотеку, то будет выдано сообщение о соответствующей ошибке.

Рекомендовано к использованию:

MessageBox(0, <заголовок сообщения>, <текст сообщения>, MB_OK); - выводит на экран сообщение с указанными заголовком и текстом. (подключить в USES модуль Windows!!!)

Содержание отчета: Условие, листинг программы, выводы.