Разработать модуль функций обработки динамических байтовых массивов (ДБМ). Заголовок модуля:
{$mode objfpc}
unit DynArrayUnit;
interface
type
TDArray=record // структура ДБМ
count:longword; // кол-во байт в ДБМ
pa:^byte; // адрес начала памяти, где хранятся данные ДБМ
end;
PDArray=^TDArray; // тип указателя на ДБМ
// создает ДБМ, возвращаемое значение - ссылка на созданный ДБМ
// count - количество элементов в ДБМ
function DACreate(count:longword):PDArray;
// уничтожает ДБМ
// PDA - ссылка на уничтожаемый ДБМ
// По окончании уничтожения приваивает PDA значение nil
Procedure DADestroy(var PDA:PDArray);
// возвращет кол-во элементов в ДБМ
// PDA - ссылка на ДБМ
function DALength(PDA:PDArray):longword;
// заносит значение в ДБМ
// PDA - ссылка на ДБМ
// index - позиция, куда помещается заносимое значение (индексируется от нуля)
// data - заносимое значение
Procedure DASet(PDA:PDArray; index:integer; data:byte);
// возвращает значение из ДБМ
// PDA - ссылка на ДБМ
// index - позиция, откуда возвращется значение
function DAGet(PDA:PDArray; index:integer):byte;
// Дополнительная функция - изменение размера ДБМ
Procedure DASetSize(PDA:PDArray; size:longword);
implementation
// Вставить сюда свой код реализации функций и процедур
end.
Скачать код модуля