Тема: Delphi
Показать сообщение отдельно
Старый 12.12.2006, 11:59     # 5
_w_W_w_
Guest
 
Сообщения: n/a

Необходимо перевести данный код на язык Pascal

/ Получить атрибут с location текущего материала
ksIteratorPtr iter( kompas->GetIterator() );
BOOL res = iter->ksCreateAttrIterator( docReference, 0, 0, 0, 0, MATERIAL_ATTR_ID );
long resOld = iter->ksMoveAttrIterator( "F", NULL );

if ( pAttr )
{
ksAttributeObjectPtr attrObj( kompas->GetAttributeObject() );

// Инициализировать структуру массива для атрибута
ksUserParamPtr values( kompas->GetParamStruct( ko_UserParam ) );
values->Init();
ksDynamicArrayPtr array( kompas->GetDynamicArray( LTVARIANT_ARR ) );
ksLtVariantPtr val( kompas->GetParamStruct( ko_LtVariant ) );
val->Init();
val->strVal = "";
array->ksAddArrayItem( -1, val );
values->SetUserArray( array );

// Считать атрибут
attrObj->ksGetAttrRow( pAttr, 0L, NULL, NULL, values );
array->ksGetArrayItem( 0, val );
m_sLocation = (char*)val->strVal;
}