Код:
void MainWindow::saveToFile()
{
QDir dir(QDir::currentPath() + "/настройка");
if (!dir.exists())
dir.mkdir(QDir::currentPath() + "/настройка");
if(ui->stackedWidget->currentIndex() == 2) //вкладка градуировка
{
if ((ui->edPipNumber_1->text() == "") || (ui->edVipNumber_1->text() == ""))
{
QMessageBox::warning(this, "Ошибка", "Введите номера ВИП и ПИП!");
return;
}
QString fileName = QDir::currentPath() + "/настройка/X999_ПИП№" + ui->edPipNumber_1->text() + "_ВИП№" + \
ui->edVipNumber_1->text() + "_настройка.xml";
//////////////////////////////////////////////////////////////////////////////////////////////////
static QList<OneCalibration> cl;
static OneCalibration oc;
static int ang = 0, u1 = 0, u2 = 0, dU = 0;
static QString temp = "";
//Создаем список градуировок из данных видимой таблички
for(int i = 0; i < 21; i++)
{
ang = 0; u1 = 0; u2 = 0; dU = 0;
temp = ui->gradTableWidget_2->verticalHeaderItem(i)->text().right(4).left(3);
if(temp != "")
ang = temp.toInt();
temp = ui->gradTableWidget_2->item(i, 0)->text();
if(temp != "")
u1 = temp.toInt();
temp = ui->gradTableWidget_2->item(i, 1)->text();
if(temp != "")
u2 = temp.toInt();
temp = ui->gradTableWidget_2->item(i, 2)->text();
if(temp != "")
dU = temp.toInt();
oc.ReadOneCalibration(ang, u1, u2, dU);
cl.append(oc);
}
myXml = new XmlMainClass(fileName, cl, ui->edPipNumber_1->text(), ui->edVipNumber_1->text());
myXml->WriteAllFile(0);
if(myXml->GetIsFileOk())
{
QString info = "Результаты настройки сохранены в файл:\n" + fileName;
QMessageBox::information(this, "Сохранение файла", info.toUtf8().data());
}
else QMessageBox::warning(this, "Ошибка", "Ошибка открытия файла");
cl.clear();
delete myXml;
//////////////////////////////////////////////////////////////////////////////////////////////////
}
if(ui->stackedWidget->currentIndex() == 3)
{
if ((ui->edPipNumber_2->text() == "") || (ui->edVipNumber_2->text() == ""))
{
QMessageBox::warning(this, "Ошибка", "Введите номера ВИП и ПИП!");
return;
}
QString fileName = QDir::currentPath() + "/настройка/X999_ПИП№" + ui->edPipNumber_2->text() + "_ВИП№" + \
ui->edVipNumber_2->text() + "_настройка.xml";
//////////////////////////////////////////////////////////////////////////////////////////////////
static QList<OneTemperature> tl;
static OneTemperature ot;
static int ang = 0, tem = 0, u1 = 0, u2 = 0, du = 0, ra = 0;
static QString temp = "", pointDate = "";
//Создаем список градуировок из данных видимой таблички
for(int i = 0; i < 6; i++)
{ //
ang = 0; tem = 0; u1 = 0; u2 = 0; du = 0; ra = 0;
temp = ui->tempTableWidget_1->verticalHeaderItem(i)->text();
if(temp != "")
{
int t = temp.indexOf(',');
ang = temp.mid(t-4, 3).toInt();
tem = temp.right(5).left(3).toInt();
}
pointDate = ui->tempTableWidget_1->item(i, 0)->text();
// pointDate.remove(pointDate.indexOf('\n'),2);
temp = ui->tempTableWidget_1->item(i, 1)->text();
if(temp != "")
u1 = temp.toInt();
temp = ui->tempTableWidget_1->item(i, 2)->text();
if(temp != "")
u2 = temp.toInt();
temp = ui->tempTableWidget_1->item(i, 3)->text();
if(temp != "")
du = temp.toInt();
temp = ui->tempTableWidget_1->item(i, 4)->text();
if(temp != "")
ra = temp.toInt();
ot.ReadOneTemperature(ang, tem, pointDate, u1, u2, du, ra);
tl.append(ot);
}
myXml = new XmlMainClass(fileName, tl, ui->edPipNumber_2->text(), ui->edVipNumber_2->text());
myXml->WriteAllFile(1);
if(myXml->GetIsFileOk())
{
QString info = "Результаты настройки сохранены в файл:\n" + fileName;
QMessageBox::information(this, "Сохранение файла", info.toUtf8().data());
}
else QMessageBox::warning(this, "Ошибка", "Ошибка открытия файла");
tl.clear();
delete myXml;
//////////////////////////////////////////////////////////////////////////////////////////////////
}
if(ui->stackedWidget->currentIndex() == 7) //вкладка проверка погрешности
{
if ((ui->edPipNumber_8->text() == "") || (ui->edVipNumber_8->text() == ""))
{
QMessageBox::warning(this, "Ошибка", "Введите номера ВИП и ПИП!");
return;
}
static QList<OneCalibCheck> ccl;
static OneCalibCheck occ;
static int ang = 0, p1 = 0, p2 = 0, o1 = 0, o2 = 0;
static QString temp = "";
for(int i = 0; i < 12; i++)
{
ang = 0; p1 = 0; p2 = 0; o1 = 0; o2 = 0;
temp = ui->gradTableWidget_8->verticalHeaderItem(i)->text().right(4).left(3);
if(temp != "") ang = temp.toInt();
temp = ui->gradTableWidget_8->item(i, 1)->text();
if(temp != "") p1 = temp.toInt();
else p1 = -10000000;
temp = ui->gradTableWidget_8->item(i, 2)->text();
if(temp != "") o1 = temp.toInt();
else o1 = -10000000;
temp = ui->gradTableWidget_8->item(i, 3)->text();
if(temp != "") p2 = temp.toInt();
else p2 = -10000000;
temp = ui->gradTableWidget_8->item(i, 4)->text();
if(temp != "") o2 = temp.toInt();
else o2 = -10000000;
occ.ReadOneCalibCheck(ang, p1, o1, p2, o2);
ccl.append(occ);
}
myXml = new XmlMainClass(ui->edPipNumber_8->text(), ui->edVipNumber_8->text(), ccl);
myXml->WriteCheckFile(1);
if(myXml->GetIsFileOk())
{
QString info = "Результаты настройки сохранены в файл:\n" + QDir::currentPath() + "/настройка/X999_ПИП№" + \
ui->edPipNumber_8->text() + "_ВИП№" + \
ui->edVipNumber_8->text() + "_проверка_градуировка.xml";
QMessageBox::information(this, "Сохранение файла", info.toUtf8().data());
}
else QMessageBox::warning(this, "Ошибка", "Ошибка открытия файла");
ccl.clear();
delete myXml;
}