#include "windowssettings.h" #include "ui_windowssettings.h" #include #include #include #include #include using std::vector; using std::cout; using std::endl; using std::string; WindowsSettings::WindowsSettings(DataBase *db, QWidget *parent) : QMainWindow(parent), ui(new Ui::WindowsSettings) { ui->setupUi(this); QObject::connect(ui->pBSpeichernStrecke, SIGNAL(clicked()), this, SLOT(StreckeSpeichernSlot())); QObject::connect(ui->pBAbbrechenStrecke, SIGNAL(clicked()), this, SLOT(AbbrechnSlot())); this->db = db; //Shell prepare string statement = "select geraden, kurven_aussen, " "kurven_innen, steilkurve_innen, steilkurve_aussen, seit " "from Strecke where id_bahn like 1 order by seit DESC limit 1"; vector< vector > res; res = db->getData(statement, 6); ui->lEShellGeraden->setText(res[0][0]); ui->lEShellKurvenAussen->setText(res[0][1]); ui->lEShellKurvenInnen->setText(res[0][2]); ui->lEShellSteilkurveInnen->setText(res[0][3]); ui->lEShellSteilkurveaussen->setText(res[0][4]); //Dea prepare statement = "select geraden, kurven_aussen, " "kurven_innen, steilkurve_innen, steilkurve_aussen, seit " "from Strecke where id_bahn like 2 order by seit DESC limit 1"; res = db->getData(statement, 6); ui->lEDeaGeraden->setText(res[0][0]); ui->lEDeaKurvenAussen->setText(res[0][1]); ui->lEDeaKurvenInnen->setText(res[0][2]); ui->lEDeaSteilkurveInnen->setText(res[0][3]); ui->lEDeaSteilkurveAussen->setText(res[0][4]); //string statement= "insert into AutoKonfiguration ('seit') values ('"+currentDateTime()+"')"; //db->setData(statement); } void WindowsSettings::AbbrechnSlot(){ this->close(); } void WindowsSettings::StreckeSpeichernSlot(){ QString shellGeraden, shellKurvenAussen, shellKurvenInnen, shellSteilAussen, shellSteilInnen; QString deaGeraden, deaKurvenAussen, deaKurvenInnen, deaSteilAussen, deaSteilInnen; shellGeraden = ui->lEShellGeraden->text(); shellKurvenAussen = ui->lEShellKurvenAussen->text(); shellKurvenInnen = ui->lEShellKurvenInnen->text(); shellSteilAussen = ui->lEShellSteilkurveaussen->text(); shellSteilInnen = ui->lEShellSteilkurveInnen->text(); QString statement = QString("insert into strecke (geraden, kurven_aussen, kurven_innen, steilkurve_innen, steilkurve_aussen, seit, id_bahn)" " values ("+shellGeraden+", "+shellKurvenAussen+", "+shellKurvenInnen+", "+shellSteilInnen+", "+shellSteilAussen+", '"+QString::fromStdString(currentDateTime())+"', 1)"); //cout << statement.toStdString() << endl; db->setData(statement.toStdString()); deaGeraden = ui->lEDeaGeraden->text(); deaKurvenAussen = ui->lEDeaKurvenAussen->text(); deaKurvenInnen = ui->lEDeaKurvenInnen->text(); deaSteilAussen = ui->lEDeaSteilkurveAussen->text(); deaSteilInnen = ui->lEDeaSteilkurveInnen->text(); statement = QString("insert into strecke (geraden, kurven_aussen, kurven_innen, steilkurve_innen, steilkurve_aussen, seit, id_bahn)" " values ("+deaGeraden+", "+deaKurvenAussen+", "+deaKurvenInnen+", "+deaSteilInnen+", "+deaSteilAussen+", '"+QString::fromStdString(currentDateTime())+"', 2)"); //cout << statement.toStdString() << endl; db->setData(statement.toStdString()); } WindowsSettings::~WindowsSettings() { delete ui; } // Get current date/time, format is YYYY-MM-DD.HH:mm:ss string WindowsSettings::currentDateTime() { time_t now = time(0); struct tm tstruct; char buf[80]; tstruct = *localtime(&now); // Visit http://en.cppreference.com/w/cpp/chrono/c/strftime // for more information about date/time format strftime(buf, sizeof(buf), "%Y-%m-%d.%X", &tstruct); return buf; }