ГНЦ ИФВЭ
ОУ У-70
Система Управления комплекса У-70  

Программирование на Верхнем Уровне СУ

Библиотеки программных объектов СУ

class class class PARAMETER class

Класс содержит методы работы с цепочкой адресов индексированных объектов. Индексы могут иметь следующие значения:

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, из цепочки.

Автор © Клименков Е.В.