---
title: "CreateAttrType - Создать описание типа атрибута"
type: guide
api: [api7]
tags: [guide, api7, createattrtype]
sources:
  - createattrtype.html
---

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


## CreateAttrType - Создать описание типа атрибута

Пример...
Синтаксис:
```
double CreateAttrType (AttributeType * attrType, char * libname);
Входные параметры:
attrType    - указатель на структура параметров типа атрибута ksAttributeType.
libName    - имя библиотеки типов атрибутов, если libname = NULL, то тип атрибута создается в текущем документе.
Возвращаемое значение:
уникальный номер типа атрибута    - в случае удачного завершения,
0    - в случае неудачи.
```
Примечание:
Функция устарела, рекомендуется использовать ksCreateAttrType.


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

void CreateAttrType_Example (void)
{
//создадим тип атрибута - строка
AttributeType attrType; //структура типа атрибута
char nameFile[128];
reference pCol; //указатель на массив колонок
ColumnInfo parStruct; //структура для колонки
//создадим массив колонок типа атрибута
pCol = CreateArray (ATTR_COLUMN_ARR,0);
//опишем единственную колонку типа STRING_ATTR_TYPE
strcpy (parStruct.header, "строка"); // заголовoк-комментарий столбца
parStruct.type = STRING_ATTR_TYPE; // тип данных в столбце - см.ниже
// дополнительный признак, который позволит отличить две переменные с одинаковым типом
parStruct.key = 0;
strcpy(parStruct.def,"линия"); // значение по умолчанию
parStruct.flagEnum =0; // режим заполнения
parStruct.fieldEnum = 0; // массив неопределенной длины перечислений (строки)
parStruct.columns = 0; // массив неопределенной длины информации
// о колонках для записи
AddArrayItem(pCol, -1, &parStruct, sizeof(parStruct)); //добавили колонку
//заполним структуру типа атрибута
strcpy(attrType.header,"тип строка"); // заголовoк-комментарий типа
attrType.rowsCount = 1; // кол-во строк в таблице
attrType.flagVisible = 1; // видимый/невидимый
strcpy(attrType.password,""); // пароль
attrType.columns = pCol; // массив неопределенной длины информации о колонках
//запросить имя библиотеки
if(!ChoiceFile("lta", NULL, nameFile, 128))
nameFile[0]='\0'; //будем создавать в документе
//создать тип атрибута
double numbType = CreateAttrType (&attrType, // информация о типе атрибута
nameFile); // имя библиотеки типов атрибутов
if (numbType > 1)
{
char buf[128];
sprintf(buf, "numbType=%f ",numbType);
Message(buf);
}
else MessageBoxResult(); // ошибка
//удалим массив колонок
DeleteArray(pCol);
};
