EssOtlGetAttributeInfo

指定した属性メンバーまたは属性次元に関する属性情報を戻します。

構文


      
      
パラメータデータ型説明

hOutline;

ESS_HOUTLINE_T

アウトラインのハンドル

hAttribute;

ESS_HMEMBER_T

属性メンバーまたは属性次元のハンドル

pAttributeInfo;

ESS_ATTRIBUTEINFO_T

属性情報

備考

 

         void ESS_GetAttributeInfo()
{
   ESS_PPATTRIBUTEINFO_T    pAttributeInfo = ESS_NULL;
   ESS_STS_T        sts = ESS_STS_NOERR;
   ESS_OBJDEF_T      Object;
   ESS_APPNAME_T      szAppName;
   ESS_DBNAME_T      szDbName;
   ESS_OBJNAME_T      szFileName;
   ESS_HOUTLINE_T       hOutline;
   ESS_PPHMEMBER_T      phMember;
   ESS_PPMBRINFO_T      phMemberInfo;
   ESS_MBRNAME_T      mbrName;
   ESS_HMEMBER_T      hMember;

   memset(&Object, '\0', sizeof(Object));
    Object.hCtx = hCtx;
    Object.ObjType = ESS_OBJTYPE_OUTLINE;
    strcpy(szAppName, "Sample");
    strcpy(szDbName, "Basic");
    strcpy(szFileName, "Basic");
    Object.AppName = szAppName;
    Object.DbName = szDbName;
    Object.FileName = szFileName;
   sts = EssOtlOpenOutline(hCtx, &Object, ESS_TRUE, ESS_TRUE, &hOutline);
   printf("EssOtlOpenOutline() sts: %ld\n",sts);

   sts = EssOtlFindMember(hOutline, "100-10", &hmember);
   printf("EssOtlFindMember() sts: %ld\n",sts);

   sts = EssOtlGetAttributeInfo(hOutline, hMember, &pAttributeInfo);
   if (sts == ESS_STS_NOERR && pAttributeInfo)
   {
      printf("\n------Attribute Information------\n");
      printf("Member name:                %s\n", pAttributeInfo->MbrName);
      printf("Dim name:                   %s\n", pAttributeInfo->DimName);

      switch(pAttributeInfo->Attribute.usDataType)
      {
         case (ESS_ATTRMBRDT_STRING):
            printf("Attribute data type:        Text\n");
            if(pAttributeInfo->Attribute.value.strData)
            printf("Attribute value:            %s\n",pAttributeInfo->Attribute.value.strData);
            break;

         case (ESS_ATTRMBRDT_BOOL):
            printf("Attribute data type:        Boolean\n");
            printf("Attribute value:            %d\n",pAttributeInfo->Attribute.value.bData);
            break;

         case (ESS_ATTRMBRDT_DOUBLE):
            printf("Attribute data type:        Numeric\n");
            printf("Attribute value:            %f\n",pAttributeInfo->Attribute.value.dblData);
            break;

         case (ESS_ATTRMBRDT_DATETIME):
            printf("Attribute data type:        Date\n");
            printf("Attribute value:            %s\n",ctime(&pAttributeInfo->Attribute.value.dtData));
            break;

         case (ESS_ATTRMBRDT_NONE):
            printf("Attribute data type:        None\n");
            break;

         default:
            printf("Attribute data type:        \n");
            break;
      }
   }
}
      

関連トピック