--- 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 */