Текущий раздел:

Описания RDS

Приложения

Приложение А. Функции, константы и структуры RDS

А.5. Сервисные функции и макросы RDS

А.5.23. Вспомогательный объект для изменения связей и шин

А.5.23.5. rdsCEAddChannel – добавление канала шины

# Приложения

## Приложение А. Функции, константы и структуры RDS

### А.5. Сервисные функции и макросы RDS

#### А.5.23. Вспомогательный объект для изменения связей и шин

##### А.5.23.5. rdsCEAddChannel – добавление канала шины

Функция rdsCEAddChannel добавляет в объект редактирования шины новый канал передачи данных.

      BOOL RDSCALL rdsCEAddChannelA(
        RDS_HOBJECT Editor,  // Объект
        RDSCSTR ChnName,     // Имя канала (UTF8)
        char BaseVarType,    // Тип переменной
        RDSCSTR StructType,  // Имя типа структуры (UTF8)
        int ArrayDepth       // Вложенность матрицы
      );
      BOOL RDSCALL rdsCEAddChannelW(
        RDS_HOBJECT Editor,  // Объект
        RDSWCSTR ChnName,    // Имя канала (UTF16)
        char BaseVarType,    // Тип переменной
        RDSWCSTR StructType, // Имя типа структуры (UTF16)
        int ArrayDepth       // Вложенность матрицы
      );
      // Функция-псевдоним
      BOOL RDSCALL rdsCEAddChannel(
        RDS_HOBJECT Editor,  // Объект
        RDSXCSTR ChnName,    // Имя канала (кодировка по умолчанию)
        char BaseVarType,    // Тип переменной
        RDSXCSTR StructType, // Имя типа структуры (кодировка по умолчанию)
        int ArrayDepth       // Вложенность матрицы
      );

Тип указателя на эту функцию

RDS_BHoSCSI (для UTF8) или RDS_BHoWsCWsI (для UTF16)

Параметры

Editor(RDS_HOBJECT)
  Идентификатор вспомогательного объекта для редактирования связи (шины), ранее созданного функцией rdsCECreateEditor.
ChnName(RDSCSTR,RDSWCSTR,RDSXCSTR)
  Указатель на строку с именем добавляемого канала.
BaseVarType(char)
  Тип переменной канала – одна из констант RDS_VARTYPE_* кроме RDS_VARTYPE_STRUCTEND (это служебная константа, не тип переменной) и RDS_VARTYPE_ARRAY (массивы задаются другим способом). Если нужно указать в качестве типа структуру, в BaseVarType передается RDS_VARTYPE_STRUCT, а в параметре StructType – имя типа структуры, под которым она зарегистрирована в RDS. Если нужно указать в качестве типа матрицу, в BaseVarType передается тип элемента матрицы, а в параметре ArrayDepth – вложенность (1 для матрицы, 2 для матрицы матриц и т.д., см. ниже)
StructType(RDSCSTR,RDSWCSTR,RDSXCSTR)
  Имя типа структуры, если в параметре BaseVarType передана константа RDS_VARTYPE_STRUCT.
ArrayDepth(int)
  Вложенность матрицы переменной канала: 0 – простая переменная типа BaseVarType, 1 – матрица типа BaseVarType, 2 – матрица матриц BaseVarType и т.п.

Возвращаемое значение

TRUE – канал добавлен, FALSE – добавление невозможно (недопустимый тип, канал с таким именем уже есть и т.п.).

Примечания

Эта функция добавляет во внутренний набор объекта новый канал передачи данных (эта информация будет использована только в том случае, если объект Editor будет использован для создания шины). Имя канала задается параметром ChnName, а тип – сочетанием параметров BaseVarType, StructType и ArrayDepth. Параметр BaseVarType задает базовый тип элемента (тип самой переменной или тип элемента матрицы), в параметре StructType передается имя типа структуры, если базовый тип – структура, а в параметре ArrayDepth – вложенность матриц (0 – простая переменная). Например:

BaseVarType | StructType | ArrayDepth | Тип
--- | --- | --- | ---
RDS_VARTYPE_INT | NULL | 0 | Целое число (int)
RDS_VARTYPE_INT | NULL | 1 | Матрица целых
RDS_VARTYPE_INT | NULL | 2 | Матрица матриц целых
RDS_VARTYPE_STRUCT | "Complex" | 0 | Структура «Complex»
RDS_VARTYPE_STRUCT | "Complex" | 1 | Матрица структур «Complex»

Такой же способ задания типа переменных используется и в функции rdsVSAddVar.

См. также

rdsCECreateEditor, rdsCECreateConnBus, rdsCEEditConnBus, rdsVSAddVar.