Справочное руководство по TDMS 5.0 API
C++
Смотри также Послать замечания

Glossary Item Box

Исходный код

//---------------------------------------------------------
// Показывает информацию о пользователе
//---------------------------------------------------------

// получить диалог выбора пользователей
CComPtr<ITDMSDialogs> pDialogs;
CheckError(pApp->get_Dialogs(&pDialogs));
CComPtr<ITDMSSelectUserDlg> pSelectUserDlg;
CheckError(pDialogs->get_SelectUserDlg(&pSelectUserDlg));

// показать диалог
VARIANT_BOOL bResult;
CheckError(pSelectUserDlg->Show(&bResult));
if (bResult) {
    // получить выбранного пользователя
    CComPtr<ITDMSUser> pUser;
    CheckError(pSelectUserDlg->get_User(&pUser));

    TDMSUserType type;
    BSTR bsSysName, bsDescription, bsFirstName, bsLastName, bsMiddleName, bsMail, bsPhone;
    CheckError(pUser->get_Type(&type));
    CheckError(pUser->get_SysName(&bsSysName));
    CheckError(pUser->get_Description(&bsDescription));
    CheckError(pUser->get_FirstName(&bsFirstName));
    CheckError(pUser->get_LastName(&bsLastName));
    CheckError(pUser->get_MiddleName(&bsMiddleName));
    CheckError(pUser->get_Mail(&bsMail));
    CheckError(pUser->get_Phone(&bsPhone));

    VARIANT varPosition, varDepartment;
    CheckError(pUser->get_Position(&varPosition));
    CheckError(pUser->get_Department(&varDepartment));

    char sLFM[256];
    sprintf(sLFM, "%s %s %s", CSW2A(bsLastName), CSW2A(bsFirstName), CSW2A(bsMiddleName));

    // вывести информацию о пользователе
    char sInfo[2048];
    sprintf(sInfo, "Тип: d\nСистемное имяs\nОписание: s\nФИОs\nДолжность: s\nОтделs\nE-Mail: s\nТелефонs ", 
        type, CSW2A(bsSysName), CSW2A(bsDescription), sLFM, CSW2A(varPosition.bstrVal), CSW2A(varDepartment.bstrVal), CSW2A(bsMail), CSW2A(bsPhone));

    SysFreeString(bsSysName);
    SysFreeString(bsDescription);
    SysFreeString(bsFirstName);
    SysFreeString(bsLastName);
    SysFreeString(bsMiddleName);
    SysFreeString(bsMail);
    SysFreeString(bsPhone);
    VariantClear(&varPosition);
    VariantClear(&varDepartment);

    MessageBox(NULL, sInfo, "Информация о пользователе", MB_OK | MB_ICONINFORMATION);
}

© 2016 CSoft Development. Все права защищены.