#include "programconf.h" ProgramConf::ProgramConf(QObject *parent) : QObject(parent) { setDbHost("47.98.201.187"); setDbPort(3306); setDbName("jdxf"); setDbUser("root"); setDbPassword("Yt2018IoT"); setDbDrive("QMYSQL"); setDbConnectName("jdxf_db"); load(); } void ProgramConf::load(){ QDir dir("/opt/ytiot/conf"); if(!dir.exists()){ system("mkdir -p /opt/ytiot/conf"); save(); }else{ QFile conffile("/opt/ytiot/conf/db.conf"); if(!conffile.exists()) save(); else{ if(conffile.open(QIODevice::ReadOnly|QIODevice::Text)){ while (!conffile.atEnd()) { QString line = QString(conffile.readLine()).trimmed(); if(line.indexOf("#")!=0){ QStringList option = line.split("="); if(option.at(0).trimmed().compare("DbHost")==0) setDbHost(option.at(1).trimmed()); else if(option.at(0).trimmed().compare("DbPort")==0) setDbPort(option.at(1).trimmed().toUShort()); else if(option.at(0).trimmed().compare("DbName")==0) setDbName(option.at(1).trimmed()); else if(option.at(0).trimmed().compare("DbUser")==0) setDbUser(option.at(1).trimmed()); else if(option.at(0).trimmed().compare("DbPass")==0) setDbPassword(option.at(1).trimmed()); else if(option.at(0).trimmed().compare("DbDrive")==0) setDbDrive(option.at(1).trimmed()); else if(option.at(0).trimmed().compare("DbConnectName")==0) setDbConnectName(option.at(1).trimmed()); } } conffile.close(); } } } } void ProgramConf::save() { QFile conffile("/opt/ytiot/conf/db.conf"); if(conffile.exists()) conffile.remove(); if(conffile.open(QIODevice::WriteOnly|QIODevice::Text)){ conffile.write("########\r\n# db.conf\r\n########\r\n\r\n"); conffile.write(QString("DbHost = %1\r\n").arg(DbHost).toUtf8()); conffile.write(QString("DbPort = %1\r\n").arg(DbPort).toUtf8()); conffile.write(QString("DbName = %1\r\n").arg(DbName).toUtf8()); conffile.write(QString("DbUser = %1\r\n").arg(DbUser).toUtf8()); conffile.write(QString("DbPass = %1\r\n").arg(DbPassword).toUtf8()); conffile.write(QString("DbDrive = %1\r\n").arg(DbDrive).toUtf8()); conffile.write(QString("DbConnectName = %1\r\n").arg(DbConnectName).toUtf8()); conffile.close(); } }