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

Описания RDS

Приложения

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

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

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

А.5.24.2. rdsBCLAddBlock – добавление блока в список

# Приложения

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

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

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

##### А.5.24.2. rdsBCLAddBlock – добавление блока в список

Функция rdsBCLAddBlock добавляет в список блоков и связей блок с указанным идентификатором.

      int RDSCALL rdsBCLAddBlock(
        RDS_HOBJECT List,   // Список
        RDS_BHANDLE Block,  // Блок
        BOOL IgnoreDup      // Игнорировать повторы
      );

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

RDS_IHoBhB

Параметры

List(RDS_HOBJECT)
  Идентификатор вспомогательного объекта-списка, ранее созданного функцией rdsBCLCreateList.
Block(RDS_BHANDLE)
  Идентификатор блока, который нужно добавить во внутренний массив объекта List.
IgnoreDup(BOOL)
  TRUE – перед добавлением проверить, нет ли уже в списке блока с идентификатором Block. Если он есть, второй раз он добавлен не будет. FALSE – добавлять блок в любом случае, даже если он уже есть в списке (ускоряет работу при больших размерах списков, но может привести к повторам идентификаторов блоков в списке).

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

Индекс добавленного блока во внутреннем массиве объекта List. Если в параметре IgnoreDup было передано значение TRUE, и блок с идентификатором Block уже находится в массиве, функция вернет индекс найденного идентификатора Block.

Примечания

Эта функция позволяет добавлять в список отдельные блоки. Для определения общего числа блоков в списке можно использовать команду RDS_HBCL_BLOCKCOUNT, для получения указателя на внутренний массив идентификаторов блоков – команду RDS_HBCL_BLOCKARRAY. Функция удаления отдельных блоков из списка не предусмотрена: для того, чтобы выбросить блок из списка, следует вручную заменить в массиве его идентификатор на NULL.

Пример

Пример использования функции rdsBCLAddBlock приведен в §2.16.2 руководства программиста.

См. также

rdsBCLCreateList, rdsBCLAddConn, RDS_HBCL_BLOCKCOUNT, RDS_HBCL_BLOCKARRAY, RDS_HBCL_CLEAR.