Навигация:
<< >> Оглавление Указатель

Приложения

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

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

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

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

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

    rdsVSExecuteEditorA(
     Vars, // Редактор переменных
     Extended,    // Расширенный редактор
     Flags,      // Флаги (RDS_HVAR_F*)
    int MaxDepth,     // Max вложенность матриц
     Caption   // Заголовок окна редактора (UTF8)
  );
    rdsVSExecuteEditorW(
     Vars, // Редактор переменных
     Extended,    // Расширенный редактор
     Flags,      // Флаги (RDS_HVAR_F*)
    int MaxDepth,     // Max вложенность матриц
     Caption  // Заголовок окна редактора (UTF16)
  );
  // 
    rdsVSExecuteEditor(
     Vars, // Редактор переменных
     Extended,    // Расширенный редактор
     Flags,      // Флаги (RDS_HVAR_F*)
    int MaxDepth,     // Max вложенность матриц
     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.


<< >> Оглавление Указатель