---
title: "ksGetLibraryAttrTypesArray - Получить массив типов атрибутов, находящихся в указанной библиотеке"
type: guide
api: [api7]
tags: [guide, api7, ksgetlibraryattrtypesarray]
sources:
  - ksgetlibraryattrtypesarray.html
---

*API экспортных функций > Функции работы с прикладной библиотекой  > Функции работы с атрибутами *


## ksGetLibraryAttrTypesArray - Получить массив типов атрибутов, находящихся в указанной библиотеке

Пример...
Аналог данной функции при использовании Automation - метод ksAttributeObject::ksGetLibraryAttrTypesArray.
Синтаксис:
```
reference ksGetLibraryAttrTypesArray (char * libname);
Входной параметр:
libName    - имя библиотеки типов атрибутов. Если libname = NULL, то типы атрибутов из текущего документа.
Возвращаемое значение:
указатель на динамический массив ksDynamicArray LIBRARY_ATTR_TYPE_ARR - массив типов атрибутов, находящихся в заданной библиотеке типов    - в случае удачного завершения,
0    - в случае неудачи.
```


## ksGetLibraryAttrTypesArray - Пример использования

//получим массив типов атрибутов в spc.lat
reference typeArr = ksGetLibraryAttrTypesArray(("d:\\0\\Spc.lat")); // полное имя библиотеки стилей
if (typeArr) {
char buf[128];
//определим количество типов и отобразим на экране
int count = GetArrayCount(typeArr);
sprintf(buf, "count = %d", count);
Message(buf);
//в цикле получим информацию о каждом типе и отобразим на экране
for (uint i = 0; i < count; i) {
LibraryAttrTypeParam par;
GetArrayItem(typeArr, // указатель на массив
i, // индекс в массиве (нумерация начинается с 0)
&par, // указатель на структуру элемента
sizeof(LibraryAttrTypeParam)); // размер структуры элемента
sprintf(buf, "ID = %f\nname=%s", par.typeId, par.name);
Message(buf);
}
}
