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

Описания RDS

Приложения

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

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

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

А.5.25.11. rdsVSExecuteEditor – открыть окно редактора переменных

# Приложения

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

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

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

##### А.5.25.11. rdsVSExecuteEditor – открыть окно редактора переменных

Функция rdsVSExecuteEditor вызывает стандартный редактор переменных RDS и позволяет пользователю изменить набор переменных во вспомогательном объекте.

      BOOL RDSCALL rdsVSExecuteEditorA(
        RDS_HOBJECT Vars, // Редактор переменных
        BOOL Extended,    // Расширенный редактор
        DWORD Flags,      // Флаги (RDS_HVAR_F*)
        int MaxDepth,     // Max вложенность матриц
        RDSCSTR Caption   // Заголовок окна редактора (UTF8)
      );
      BOOL RDSCALL rdsVSExecuteEditorW(
        RDS_HOBJECT Vars, // Редактор переменных
        BOOL Extended,    // Расширенный редактор
        DWORD Flags,      // Флаги (RDS_HVAR_F*)
        int MaxDepth,     // Max вложенность матриц
        RDSWCSTR Caption  // Заголовок окна редактора (UTF16)
      );
      // Функция-псевдоним
      BOOL RDSCALL rdsVSExecuteEditor(
        RDS_HOBJECT Vars, // Редактор переменных
        BOOL Extended,    // Расширенный редактор
        DWORD Flags,      // Флаги (RDS_HVAR_F*)
        int MaxDepth,     // Max вложенность матриц
        RDSXCSTR Caption  // Заголовок окна редактора (кодировка по умолчанию)
      );

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

RDS_BHoBDwIS (для UTF8) или RDS_BHoBDwIWs (для UTF16)

Параметры

Vars(RDS_HOBJECT)
  Идентификатор вспомогательного объекта-редактора переменных, ранее созданного функцией rdsVSCreateEditor.
Extended(BOOL)
  TRUE – вызвать окно редактирования переменных блока, FALSE – окно редактирования структуры (можно вводить только имя, тип и значение поля).
Flags(DWORD)

  Набор битовых флагов, управляющих колонками окна редактора и разрешенными типами переменных: RDS_HVAR_F1INDEX | Вместе с матрицами разрешить массивы (только при установленном RDS_HVAR_FARRAYS).
  RDS_HVAR_FARRAYS | Разрешить матрицы.
  RDS_HVAR_FARROFSTRUCT | Разрешить матрицы и массивы структур.
  RDS_HVAR_FCHAR | Разрешить тип «char».
  RDS_HVAR_FDOUBLE | Разрешить тип «double».
  RDS_HVAR_FFLOAT | Разрешить тип «float».
  RDS_HVAR_FINT | Разрешить тип «int».
  RDS_HVAR_FLOGICAL | Разрешить логический тип.
  RDS_HVAR_FNOOFFSET | Не показывать колонку смещения к переменной.
  RDS_HVAR_FNOSTRUCTNAME | Запретить ввод имени всей структуры (только при Extended==FALSE).
  RDS_HVAR_FRUNTIME | Разрешить произвольный тип.
  RDS_HVAR_FSHORT | Разрешить тип «short int».
  RDS_HVAR_FSIGNAL | Разрешить сигнальный тип.
  RDS_HVAR_FSTRING | Разрешить строки.
  RDS_HVAR_FSTRUCT | Разрешить структуры.

  Для удобства в «RdsDef.h» описано четыре дополнительных константы, представляющих собой объединение приведенных выше флагов для часто встречающихся случаев. Эти константы можно использовать в параметре функции вместо флагов:

  RDS_HVAR_FALL | все типы переменных;
  RDS_HVAR_FALLNS | все типы, кроме сигналов;
  RDS_HVAR_FALLPLAIN | все простые типы, то есть все, кроме структур, матриц/массивов, строк и произвольных типов;
  RDS_HVAR_FALLPLAINNS | все простые типы, кроме сигналов.

  Используемые в этом параметре флаги частично совпадают с флагами функции rdsListVarTypes.
MaxDepth(int)
  Максимальная глубина вложенности матриц (1 – только матрицы простых переменных, 2 – матрицы матриц, 3 – матрицы матриц матриц и т.п.) или −1 для максимальной вложенности (на данный момент RDS поддерживает вложенность до пяти).
Caption(RDSCSTR,RDSWCSTR,RDSXCSTR)
  Указатель на строку заголовка окна редактора переменных или NULL для стандартного заголовка «Структура переменных».

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

TRUE – пользователь закрыл окно редактора кнопкой «OK», FALSE – пользователь отменил редактирование.

Примечания

Эта функция позволяет пользователю изменить структуру переменных в объекте Vars при помощи стандартного редактора переменных RDS. В зависимости от значения Extended вызывается либо редактор переменных блока с колонками «вход/выход», «пуск» и т.п., либо более простой редактор структуры, в котором можно вводить только имя, тип и значение для каждого поля и имя самой структуры, если не установлен флаг RDS_HVAR_FNOSTRUCTNAME.

Пример

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

См. также

rdsVSCreateEditor, rdsListVarTypes, rdsVSApplyToBlock, rdsVSInstallStruct.