--- title: "ksGetDocVariableArray - Получить массив параметрических переменных графического документа или вставки фрагмента" type: guide api: [api7] tags: [guide, api7, ksgetdocvariablearray] sources: - ksgetdocvariablearray.html --- *API экспортных функций > Функции работы с графическим документом  > Функции работы с параметрическими переменными и связями  > Функции параметризации и ограничений * ## ksGetDocVariableArray - Получить массив параметрических переменных графического документа или вставки фрагмента Пример... Аналог данной функции при использовании Automation - метод ksDocument2D::ksGetDocVariableArray. Синтаксис: ``` reference ksGetDocVariableArray (reference p); Входной параметр: p - указатель на документ или вставку фрагмента. Возвращаемое значение: указатель на динамический массив структур VariableParam - в случае успеха, 0 - в случае неудачи. ``` ## ksGetDocVariableArray, ksSetDocVariableArray - пример использования //получим указатель на текущий графический документ reference doc = ksGetCurrentDocument(1); // 0 - любой документ, // 1- только графический документ // 2 - только спецификацию if (doc) { char buf [250]; //получить массив внешних переменных документа reference arrayVar = ksGetDocVariableArray(doc); //указатель на документ //или вставку фрагмента for (int i=0, count = GetArrayCount(arrayVar); i < count; i) { VariableParam par; //получить текущую переменную GetArrayItem(arrayVar, i, &par, sizeof(VariableParam)); sprintf(buf, "имя = %s\nзначение = %f\nкомментарий = %s", par.name, par.value, par.note); Message(buf); par.value = 100; strcat(par.note, "!!!"); //заменить текущую переменную в массиве SetArrayItem(arrayVar, i, &par, sizeof(VariableParam)); } //заменить значения внешних переменных документа ksSetDocVariableArray (doc, // указатель на документ или вставку фрагмента arrayVar, // указатель на динамический массив VARIABLE_ARR 1); // комментарии менять } else Error ("Документ должен быть графическим");