Программирование на Верхнем Уровне СУ
Библиотеки программных объектов СУ
Класс содержит методы работы с цепочкой адресов индексированных объектов. Индексы
могут иметь следующие значения:
enum // индексы классов
{
// классы для работы с физическим параметром СУ
N_PPtable // описание параметра
,N_PDtable // данные параметра
,N_PPcontrol // описание управляющего параметра
,N_PDcontrol // данные управляющего параметра
,N_PPmeasure // описание измеряемого параметра
,N_PDmeasure // данные измеряемого параметра
// классы для работы с технологическим параметром СУ
,N_TPtable // описание технологического параметра
,N_TDtable // данные технологического параметра
,N_TPcontrol // описание управляющего параметра
,N_TDcontrol // данные управляющего параметра
,N_TPmeasure // описание измеряемого параметра
,N_TDmeasure // данные измеряемого параметра
// количество индексов
,N_classTotal
};
Данный класс может быть
непосредственно использован для
соответствующих целей в прикладных программах,
он использует только константу N_classTotal .
Однако, как показывает название констант, он ориентирован для работы с
классами таблиц типа
PASSPORT и DATA ,
пары которых которые содержат полное
определение параметра СУ. Этот класс
является базовым для классов-потомков
classAdrPar и
classAdrParWork , которые
содержат в полном объеме свойства и методы работы с
параметрами всех типов.
class classAdrTbl
|
|
Открытые (public ) методы
|
|
|
classAdrTbl ()
|
|
|
~classAdrTbl ()
|
|
|
void SetTrace (int fl)
|
|
|
int GetTrace (void)
|
|
|
int NumMax (void)
|
|
|
int NumIni (void)
|
|
|
void *Ini (void *a, int x)
|
|
|
int Index (void *a)
|
|
|
void *First (int x)
|
|
|
void *Next (int x)
|
|
|
void Delete (int x)
|
|
|
void *Delete (void *a)
|
|
Закрытые (protected ) Данные
|
|
|
int fl_trace - семафор трассировки;
|
|
|
int num_max - максимально возможное число объектов, равно 100;
|
|
|
void *adr[100] - адреса объектов;
|
|
|
void *ind[100] - индексы объектов;
|
|
|
int nfind[N_classTotal] - массив, используемый для поиска объекта;
|
|
|
int i - переменная, используемая для поиска объекта.
|
public
|
classAdrTbl ()
|
Конструктор определяет максимальное число объектов, равное 100. Обнуляет данные.
|
public
|
~classAdrTbl ()
|
Деструктор освобождает область динамической памяти, занятой в процессе работы.
|
public
|
SetTrace (int fl)
|
Функция устанавливает семафор fl_trace
трассировки - вывод в файл-протокол
работы класса:
- fl=0 - выключить трассировку;
- fl=1 - включить трассировку.
|
public
|
int GetTrace (void)
|
Получить значение семафора fl_trace трассировки.
|
public
|
int NumMax (void)
|
Получить значение максимально возможного числа объектов.
|
public
|
int NumIni (void)
|
Получить число инициализированных объектов.
|
public
|
void *Ini (void *a, int x)
|
Инициализировать объект с адресом
a, имеющим индекс x.
Если результат есть NULL , то
это означает, что уже имеется
максимально возможное число объектов и процедура не выполнилась.
|
public
|
int Index (void *a)
|
Получить значение индекса объекта с адресом a.
Значение -1 означает, что объект не найден в цепочке.
|
public
|
void *First (int x)
|
Получить адрес первого объекта в цепочке, имеющего индекс x.
|
public
|
void *Next (int x)
|
Получить адрес следующего объекта в
цепочке, имеющего индекс x.
Процедура может быть вызвана после
процедуры *First или *Next .
|
public
|
void Delete (int x)
|
Удалить объект, имеющий индекс x, из цепочки.
Объект должен быть предварительно найден процедурой
*First или
*Next
|
public
|
void *Delete (void *a)
|
Удалить объект, имеющий адрес a, из цепочки.
|
Автор © Клименков Е.В.
|