新增网络中转服务器+designer源码项目
This commit is contained in:
94
netserver/api/app.cpp
Normal file
94
netserver/api/app.cpp
Normal file
@@ -0,0 +1,94 @@
|
||||
#include "app.h"
|
||||
#include "quiwidget.h"
|
||||
|
||||
QString App::ConfigFile = "config.ini";
|
||||
|
||||
int App::ListenPort1 = 6907;
|
||||
int App::CmdStart1 = 76;
|
||||
int App::CmdLen1 = 12;
|
||||
bool App::HexData1 = false;
|
||||
int App::ListenPort2 = 6908;
|
||||
int App::CmdStart2 = 76;
|
||||
int App::CmdLen2 = 12;
|
||||
bool App::HexData2 = false;
|
||||
|
||||
void App::readConfig()
|
||||
{
|
||||
if (!checkConfig()) {
|
||||
return;
|
||||
}
|
||||
|
||||
QSettings set(App::ConfigFile, QSettings::IniFormat);
|
||||
|
||||
set.beginGroup("AppConfig");
|
||||
App::ListenPort1 = set.value("ListenPort1").toInt();
|
||||
App::CmdStart1 = set.value("CmdStart1").toInt();
|
||||
App::CmdLen1 = set.value("CmdLen1").toInt();
|
||||
App::HexData1 = set.value("HexData1").toBool();
|
||||
App::ListenPort2 = set.value("ListenPort2").toInt();
|
||||
App::CmdStart2 = set.value("CmdStart2").toInt();
|
||||
App::CmdLen2 = set.value("CmdLen2").toInt();
|
||||
App::HexData2 = set.value("HexData2").toBool();
|
||||
set.endGroup();
|
||||
}
|
||||
|
||||
void App::writeConfig()
|
||||
{
|
||||
QSettings set(App::ConfigFile, QSettings::IniFormat);
|
||||
|
||||
set.beginGroup("AppConfig");
|
||||
set.setValue("ListenPort1", App::ListenPort1);
|
||||
set.setValue("CmdStart1", App::CmdStart1);
|
||||
set.setValue("CmdLen1", App::CmdLen1);
|
||||
set.setValue("HexData1", App::HexData1);
|
||||
set.setValue("ListenPort2", App::ListenPort2);
|
||||
set.setValue("CmdStart2", App::CmdStart2);
|
||||
set.setValue("CmdLen2", App::CmdLen2);
|
||||
set.setValue("HexData2", App::HexData2);
|
||||
set.endGroup();
|
||||
}
|
||||
|
||||
void App::newConfig()
|
||||
{
|
||||
#if (QT_VERSION <= QT_VERSION_CHECK(5,0,0))
|
||||
#endif
|
||||
writeConfig();
|
||||
}
|
||||
|
||||
bool App::checkConfig()
|
||||
{
|
||||
//如果配置文件大小为0,则以初始值继续运行,并生成配置文件
|
||||
QFile file(App::ConfigFile);
|
||||
if (file.size() == 0) {
|
||||
newConfig();
|
||||
return false;
|
||||
}
|
||||
|
||||
//如果配置文件不完整,则以初始值继续运行,并生成配置文件
|
||||
if (file.open(QFile::ReadOnly)) {
|
||||
bool ok = true;
|
||||
while (!file.atEnd()) {
|
||||
QString line = file.readLine();
|
||||
line = line.replace("\r", "");
|
||||
line = line.replace("\n", "");
|
||||
QStringList list = line.split("=");
|
||||
|
||||
if (list.count() == 2) {
|
||||
if (list.at(1) == "") {
|
||||
ok = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!ok) {
|
||||
newConfig();
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
newConfig();
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
Reference in New Issue
Block a user