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

Описания RDS

Приложения

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

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

А.5.14. Общие функции работы с переменными блока

А.5.14.6. rdsCreateVarDescriptionString – текстовое описание переменной

# Приложения

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

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

#### А.5.14. Общие функции работы с переменными блока

##### А.5.14.6. rdsCreateVarDescriptionString – текстовое описание переменной

Функция rdsCreateVarDescriptionString формирует в памяти динамическую строку с описанием переменной, идентификатор которой передан в ее параметрах.

      RDSSTR RDSCALL rdsCreateVarDescriptionStringA( // UTF8
        RDS_VHANDLE Var,   // Идентификатор переменной
        BOOL StructFields, // Описывать поля структуры
        int Indent,        // Отступ в пробелах
        int *pLength       // Возвращаемая длина текста
      );
      RDSWSTR RDSCALL rdsCreateVarDescriptionStringW( // UTF16
        RDS_VHANDLE Var,   // Идентификатор переменной
        BOOL StructFields, // Описывать поля структуры
        int Indent,        // Отступ в пробелах
        int *pLength       // Возвращаемая длина текста
      );
      // Функция-псевдоним
      RDSXSTR RDSCALL rdsCreateVarDescriptionString( // Кодировка по умолчанию
        RDS_VHANDLE Var,   // Идентификатор переменной
        BOOL StructFields, // Описывать поля структуры
        int Indent,        // Отступ в пробелах
        int *pLength       // Возвращаемая длина текста
      );

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

RDS_SVhBIpI (для UTF8) или RDS_WsVhBIpI (для UTF16)

Параметры

Var(RDS_VHANDLE)
  Идентификатор переменной.
StructFields(BOOL)
  Если переменная Var – структура, значение TRUE в этом параметре приведет к тому, что каждое из полей этой структуры в формируемом тексте будет описано с указанием имени, типа и т.д. на отдельной строке (строки разделяются символом перевода строки «\n» с кодом 10). При передаче FALSE в этом параметре для Var будет записано только имя типа структуры, а описания полей будут опущены. Если Var – не структура, этот параметр игнорируется.
Indent(int)
  Число пробелов, автоматически добавляемое в формируемый текст описания в начале каждой строки.
pLength(int*)
  Указатель на целую переменную, в которую функция должна записать длину сформированного текста строки. Если вызывающей программе не нужна длина текста, в этом параметре можно передать NULL.

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

Указатель на созданную в динамической памяти строку, в которой сформировано текстовое описание переменной Var. Это описание совместимо с текстовым форматом файлов схем RDS. В случае ошибки возвращается NULL.

Примечания

Эта функция часто используется для временного хранения описания какой-либо переменной блока или всей структуры его переменных (структура переменных блока тоже является переменной с точки зрения RDS). По этому описанию может быть потом создана реальная переменная при помощи функции rdsVSCreateByDescr.

Динамическая строка, созданная функцией rdsCreateVarDescriptionString, должна быть обязательно освобождена функцией rdsFree.

Пример

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

См. также

rdsVSCreateByDescr, rdsFree.