Справочное руководство по TDMS 7.0 API
C++
Смотри также Отправить замечание

Glossary Item Box

Исходный текст

//---------------------------------------------------------
// Показывает информацию о статусе объекта
//---------------------------------------------------------

//---------------------------------------------------------
void AddPermission (char* s, TDMSPermission perm) 
{
    if (perm == tdmAllow)
        strcat(s, "Разрешено");
    else if (perm == tdmDeny)
        strcat(s, "Запрещено");
    else
        strcat(s, "Не определено");
}


// выбрать объект
CComPtr<ITDMSObject> pObject;
if (SelectObject(&pObject, pApp, NULL)) 
{
    // получить статус
    CComPtr<ITDMSStatus> pStatus;
    CheckError(pObject->get_Status(&pStatus));

    // системное имя
    BSTR bsSysName;
    CheckError(pStatus->get_SysName(&bsSysName));
    // описание
    BSTR bsDescription;
    CheckError(pStatus->get_Description(&bsDescription));
    // независисимый?
    VARIANT_BOOL bIndependent;
    CheckError(pStatus->get_Independent(&bIndependent));
    // права
    CComPtr<ITDMSPermissions> pPerms;
    CheckError(pStatus->get_Permissions(&pPerms));
    
    char sInfo[1024];
    sprintf(sInfo, "Имя статуса: s\nОписаниеs\nНезависимый: %s\n\nПрава:", 
        CSW2A(bsSysName), CSW2A(bsDescription), bIndependent ? "Да" : "Нет");
    SysFreeString(bsSysName);
    SysFreeString(bsDescription);

    
    TDMSPermission perm;
    CheckError(pPerms->get_View(&perm));
    strcat(sInfo, "\nПросмотр объекта: ");
    AddPermission(sInfo, perm);

    CheckError(pPerms->get_ViewFiles(&perm));
    strcat(sInfo, "\nПросмотр файлов: ");
    AddPermission(sInfo, perm);

    CheckError(pPerms->get_Edit(&perm));
    strcat(sInfo, "\nРедактирование атрибутов: ");
    AddPermission(sInfo, perm);

    CheckError(pPerms->get_EditFiles(&perm));
    strcat(sInfo, "\nРедактирование файлов: ");
    AddPermission(sInfo, perm);

    CheckError(pPerms->get_EditContent(&perm));
    strcat(sInfo, "\nРедактирование состава: ");
    AddPermission(sInfo, perm);

    CheckError(pPerms->get_Erase(&perm));
    strcat(sInfo, "\nУдаление объекта: ");
    AddPermission(sInfo, perm);

    CheckError(pPerms->get_CreateVersion(&perm));
    strcat(sInfo, "\nСоздание версии: ");
    AddPermission(sInfo, perm);

    MessageBox(NULL, sInfo, "Информация о статусе объекта", MB_OK | MB_ICONINFORMATION);
}
© 2023 CSoft Development. Все права защищены.