Files
IRIS_FODIS/Source/FS/DataFileProcessor.cpp

113 lines
2.2 KiB
C++
Raw Normal View History

2022-03-21 18:03:52 +08:00
#include "DataFileProcessor.h"
DataFileProcessor::DataFileProcessor(QObject* parent /*= nullptr*/)
{
#ifdef _DEBUG
m_qstrFilePath = "E:/WorkSpace/TowerOptoSifAndSpectral/Data";
#else
m_qstrFilePath = "/home/data/Data";
2022-04-12 10:27:25 +08:00
m_qstrWavelengthInfoFileName = "/home/data/Data/WavelengthInfo.txt";
2022-03-21 18:03:52 +08:00
#endif // DEBUG
}
DataFileProcessor::~DataFileProcessor()
{
}
2022-04-12 10:27:25 +08:00
int DataFileProcessor::WriteWavelengthInfo(float *pfWaveLength, int iLength)
2022-03-21 18:03:52 +08:00
{
2022-04-12 10:27:25 +08:00
QFileInfo qfFileInfo(m_qstrWavelengthInfoFileName);
if (qfFileInfo.isFile())
2022-03-21 18:03:52 +08:00
{
2022-04-12 10:27:25 +08:00
return 0;
2022-03-21 18:03:52 +08:00
}
2022-04-12 10:27:25 +08:00
else
2022-03-21 18:03:52 +08:00
{
2022-04-12 10:27:25 +08:00
bool bRes = true;
QFile qfData(m_qstrWavelengthInfoFileName);
bRes = qfData.open(QFile::WriteOnly | QFile::Text | QFile::Truncate);
2022-03-21 18:03:52 +08:00
if (!bRes)
{
2022-04-12 10:27:25 +08:00
qDebug() << "WriteEnvironmentInfo open Failed.";
return 1;
}
QString qstrTemp = "wavelength = ";
qfData.write(qstrTemp.toLatin1());
qfData.write("{ ");
for (int i=0;i< iLength;i++)
{
qstrTemp =QString::number(pfWaveLength[i], 'f', 2);
if (i== (iLength-1))
{
qfData.write(qstrTemp.toLatin1());
}
else
{
qfData.write(qstrTemp.toLatin1());
qfData.write(", ");
}
2022-03-21 18:03:52 +08:00
}
2022-04-12 10:27:25 +08:00
qfData.write("}");
qfData.close();
2022-03-21 18:03:52 +08:00
}
2022-04-12 10:27:25 +08:00
return 0;
2022-03-21 18:03:52 +08:00
}
2022-04-12 10:27:25 +08:00
int DataFileProcessor::WriteData(DataFrame dfDataFrame)
2022-03-21 18:03:52 +08:00
{
QFile qfData(m_qstrFullFileName);
2022-04-12 10:27:25 +08:00
bool bRes = qfData.open(QFile::WriteOnly| QIODevice::Append);
2022-03-21 18:03:52 +08:00
if (!bRes)
{
2022-04-12 10:27:25 +08:00
qDebug() << "WriteData open Failed.";
return 0;
2022-03-21 18:03:52 +08:00
}
2022-04-12 10:27:25 +08:00
qfData.write((char*)&dfDataFrame, sizeof(DataFrame));
return 0;
2022-03-21 18:03:52 +08:00
}
2022-04-15 13:39:10 +08:00
void DataFileProcessor::LoadSingleDataFile(QString qstrFileName)
{
qstrFileName;
return;
}
2022-04-12 10:27:25 +08:00
void DataFileProcessor::GenerateFilePath()
2022-03-21 18:03:52 +08:00
{
2022-04-12 10:27:25 +08:00
m_qdtTime = QDateTime::currentDateTime();
QString qstrAddYMD = m_qdtTime.toString("/yyyy_MM_dd");
QString qstrAddHMS = m_qdtTime.toString("hh_mm_ss");
2022-03-21 18:03:52 +08:00
2022-04-12 10:27:25 +08:00
m_qstrFullFileName = m_qstrFilePath + qstrAddYMD;
QString qstrTemp= m_qstrFullFileName;
m_qstrFullFileName= m_qstrFullFileName+"/"+ qstrAddHMS+".dat";
2022-03-21 18:03:52 +08:00
2022-04-12 10:27:25 +08:00
QDir qdirPathTemp(m_qstrFilePath);
if (!qdirPathTemp.exists())
{
bool bRes = qdirPathTemp.mkdir(m_qstrFilePath);
if (!bRes)
2022-03-21 18:03:52 +08:00
{
2022-04-12 10:27:25 +08:00
qDebug() << "DataFileProcessor mkdir Failed.";
2022-03-21 18:03:52 +08:00
}
}
2022-04-12 10:27:25 +08:00
QDir qdirPathTempA(qstrTemp);
if (!qdirPathTempA.exists())
2022-03-21 18:03:52 +08:00
{
2022-04-12 10:27:25 +08:00
bool bRes = qdirPathTempA.mkdir(qstrTemp);
if (!bRes)
2022-03-21 18:03:52 +08:00
{
2022-04-12 10:27:25 +08:00
qDebug() << "DataFileProcessor mkdir Failed.";
2022-03-21 18:03:52 +08:00
}
}
}