---
title: "Пример использования функций навигации по объектам"
type: guide
api: [api7]
tags: [guide, api7, create]
sources:
  - create_delete_move_iterator_example.html
---


## Пример использования функций навигации по объектам

//позиционирование в текущем виде текущего документа по всем элементам
void Iterator_Example (void)
{
reference itAllObj;
reference obj;
int count = 0;
char buf[128];
//Создать итератор
itAllObj = CreateIterator(ALL_OBJ, 0);
if (itAllObj)
{
if (ExistObj(obj = MoveIterator(itAllObj, 'F')))
{
// поиск первого объекта и следующего в цикле
do
{
LightObj(obj, 1);
count ;
sprintf(buf,"номер = %d", count);
Message(buf);
LightObj(obj, 0);
}
while (ExistObj (obj = MoveIterator (itAllObj, 'N')));
}
}
//Удалить итератор
DeleteIterator(itAllObj);
};


## Пример использования функций работы с документами

void Document_Example (void) {
reference pDoc;
DocumentParam doc, doc1;
char buf[ 128 ];
lstrcpy(doc.fileName,"c:\\gr\\2.cad");
lstrcpy(doc.comment, "Чертеж" );
lstrcpy(doc.author,"Иванов");
doc.regim=0; //видимый режим
doc.type=1; doc.stPar.Toleranceat=3; doc.stPar.multiply=1;
doc.stPar.direct=0; doc.stPar.shtType=1;
pDoc = CreateDocument (&doc);
// создадим вид с номером 2
ViewParam par;
int number = 2;
par.x = 10; par.y = 20; par.scale = 2; par.ang = 45;
par.color = RGB(10,20,10);
par.state = stACTIVE; // вид будет активным
strcpy(par.name, "пользовательский вид");
CreateSheetView(&par, &number);
//создать и перейти в слой 5
Layer(5);
LineSeg(20, 10, 40, 10, 1);
LineSeg(40, 10, 40, 30, 1);
LineSeg(40, 30, 20, 30, 1);
LineSeg(20, 30, 20, 10, 1);
SaveDocument (pDoc, ); //сохранить документ
CloseDocument(pDoc); //закрыть документ
//откроем созданный документ «с:\gr\2.cad» в видимом режиме отображения
OpenDocument( "с:\gr\2.cad", 0);
}; /* Document_Example */


## Пример использования функций работы с документами, Unicode

void Document_Example (void) {
reference pDoc;
DocumentParamW doc, doc1;
char buf[ 128 ];
wcscpy( doc.fileName, _T("c:\\gr\\2.cad"));
wcscpy( doc.comment, _T("Чертеж"));
wcscpy( doc.author, _T("Иванов"));
doc.regim=0; //видимый режим
doc.type=1; doc.stPar.Toleranceat=3; doc.stPar.multiply=1;
doc.stPar.direct=0; doc.stPar.shtType=1;
pDoc = CreateDocumentW (&doc);
// создадим вид с номером 2
ViewParamW par;
int number = 2;
par.x = 10; par.y = 20; par.scale = 2; par.ang = 45;
par.color = RGB(10,20,10);
par.state = stACTIVE; // вид будет активным
wcscpy(par.name,_T(" пользовательский вид"));
CreateSheetViewW(&par, &number);
//создать и перейти в слой 5
Layer(5);
LineSeg(20, 10, 40, 10, 1);
LineSeg(40, 10, 40, 30, 1);
LineSeg(40, 30, 20, 30, 1);
LineSeg(20, 30, 20, 10, 1);
SaveDocument( pDoc, 0 ); //сохранить документ
CloseDocument( pDoc ); //закрыть документ
//откроем созданный документ «с:\gr\2.cad» в видимом режиме отображения
OpenDocument( "с:\gr\2.cad", 0);
}; /* Document_Example */
