Отчет по практике: Разработка программы контроля изделий и подготовка программной документации
if (AnsiString(ThirdLevelNodeAccess(item_index)->GetNode(i)->GetNodeValue()) == Correction[j].name) {
(*ModuleList)[i].name = Correction[j].new_name;
break;
}
else (*ModuleList)[i].name = AnsiString(ThirdLevelNodeAccess(item_index)->GetNode(i)->GetNodeValue());
}
}
else (*ModuleList)[i].name = AnsiString(ThirdLevelNodeAccess(item_index)->GetNode(i)->GetNodeValue());
(*ModuleList)[i].baseaddress = StrToInt(ThirdLevelNodeAccess(item_index)->GetNode(i)->Attributes[WideString("baseaddress")]);
}
// LOG->Add(AnsiString());
// активизация dll со списком модулей
Form1->XMLDocument1->FileName = "module_list.xml";
Form1->XMLDocument1->Active = true;
all_modules = SecondLevelNodeAccess->GetCount(); // сколько всего модулей в базе
for (i = 0; i < *modules_counter; i++) {
for (j = 0; j <= all_modules; j++) { // заполняем поля version
if (j >= all_modules) { // не нашли модуль (ошибка в файле с исправлениями)
mes = AnsiString("Не найден модуль ") + (*ModuleList)[i].name;
MessageBox(NULL, mes.c_str() , "Ошибка", MB_ICONERROR | MB_OK );
break;
}
if ((*ModuleList)[i].name == AnsiString(ThirdLevelNodeAccess(j)->GetNode(0)->GetNodeValue())) {
(*ModuleList)[i].version_count = ThirdLevelNodeAccess(j)->GetCount() - 1;
for (k = 0; k < (*ModuleList)[i].version_count; k++) {
(*ModuleList)[i].version[k] = new TVersion;
(*ModuleList)[i].version[k]->address = StrToInt(FourthLevelNodeAccess(j, k+1)->GetNode(0)->NodeValue);
(*ModuleList)[i].version[k]->value = StrToInt(FourthLevelNodeAccess(j, k+1)->GetNode(1)->NodeValue);
(*ModuleList)[i].version[k]->type = StrToInt(FourthLevelNodeAccess(j, k+1)->GetNode(2)->NodeValue);