Graphisoft®

API Development KitVersion: 18

ACAPI_Attribute_Get

데이터베이스로부터 속성을 가져옵니다.

    GSErrCode  ACAPI_Attribute_Get (
        API_Attribute*     attribute
    );

 

파라미터

attribute
[in/out] 속성의 파라미터들입니다. 속성의 타입과 인덱스 또는 이름이 반드시 속성 헤더의 typeIDindex 필드 또는 typeIDname 필드에 전달되어야 합니다. 속성의 데이터는 API_Attribute structure의 적절한 필드들에 리턴됩니다.

 

리턴 값

NoError
함수가 성공적으로 완료되었습니다.
APIERR_BADPARS
전달된 파라미터(attribute)NULL입니다.
APIERR_BADID
속성 타입이 유효하지 않습니다.
APIERR_BADINDEX
속성 인덱스가 유효하지 않습니다; 만약 인덱스로 참조한 경우
APIERR_BADNAME
주어진 이름을 가진 속성이 존재하지 않습니다; 만약 이름으로 참조한 경우
APIERR_DELETED
속성이 데이터베이스 안에 존재하지 않습니다.

다른 공통 API 오류들에 대해서는 API 오류 문서를 보십시오.

 

설명

이 함수는 데이터베이스로부터 한 속성의 데이터를 가져오는 데 사용합니다. typeID 외에도 당신은 헤더의 index 또는 name 필드를 지정해야 합니다. 후자의 경우, index 필드는 0으로 세트해야 합니다. 그리고 속성 데이터베이스가 이름으로 검색됩니다.

당신은 특정 속성 타입들에 대하여 확장된 정보를 가져오기 위해 선택적으로 ACAPI_Attribute_GetDef를 호출할 수도 있습니다.

인덱스 범위는 항상 연속적이지 않습니다; 제거된 속성들은 데이터베이스로부터 즉시 추방되지 않습니다.

참고: 측수 펜 ID들이 사용될 수 있습니다:

 

예제

/* 예제 I -- 속성 하나를 가져옴 */
API_Attribute     attrib;
GSErrCode         err;

BNZeroMemory (&attrib, sizeof (API_Attribute));

/* "Wave" 라인 타입을 가져옴 */
attrib.header.typeID = API_LinetypeID;
CHCopyC ("Wave", attrib.header.name);

err = ACAPI_Attribute_Get (&attrib);



/* 예제 II -- 모든 속성을 반복합니다 */
API_Attribute  attrib;
short          nLin, i;
GSErrCode      err;

BNZeroMemory (&attrib, sizeof (API_Attribute));
attrib.header.typeID = API_LinetypeID;
err = ACAPI_Attribute_GetNum (API_LinetypeID, &nLin);
for (i = 1; i <= nLin && err == NoError; i++) {
    attrib.header.index = i;
    err = ACAPI_Attribute_Get (&attrib);
    if (err == NoError) {
        /* 당신이 원하는 것을 수행함 */
    }
    if (err == APIERR_DELETED)
        err = NoError;
}

 

요구사항

버전: API 1.3 또는 이후
헤더: ACAPinc.h

 

참고사항

API_Attribute,
ACAPI_Attribute_GetDef,
속성 관리자, API 함수