} } // Добавляем документ No.0 // Байты между указателем на адрес описания документов и первым записанным документом $document[0] = new TDoc(0, START_OFFSET + 4, $minDocOffset - START_OFFSET - 4); // Читаем документы в массив foreach ($document as &$object) { // Помещаем указатель в начало документа fseek($f, $object->byte_offset); // Читаем документ $object->body = fread($f, $object->byte_count); } //разбираем группы для подбора стали if (isset($document[D_member_group_for_steel])) { $member_groups_for_steel = new TMemberGroupSteel21(); $member_groups_for_steel->get_from_scad_spr($document[D_member_group_for_steel]->body); echo D_member_group_for_steel . ' - группы элементов для подбора;<br/>'; } //разбираем комбинации // if (isset($document[D_combinations])) { // $combinations = new TCombination(); // $combinations->get_from_scad_spr($document[D_combinations]->body); // echo D_combinations.' - комбинации;<br/>'; // } // Сортируем массив по byte_offset usort($document, 'compareDocByOffset'); // Ищем промежутки между документами for ($i = 0; $i < count($document) - 1; $i++) { $pos = $document[$i]->byte_offset + $document[$i]->byte_count; $count = $document[$i + 1]->byte_offset - $pos; if ($count > 0) {