cimforreduceloss/core/mainfun.cpp

89 lines
3.2 KiB
C++
Raw Normal View History

#include <QtCore/QCoreApplication>
#include <QtCore/QTextCodec>
#include "head.h"
#include "transformerparser.h"
#include "linetypeparser.h"
#include <QFileInfo>
#include <iostream>
#include <fstream>
#include <QTextStream>
#include "qt_readxml.h"
int mainfun(const QString &CIMFile)//CIMFile是文件路径
{
std::cout<<"parseing "<<CIMFile.toLocal8Bit().data()<<std::endl;
QFile file(CIMFile);
Qt_readxml reader;
if(file.open(QIODevice::ReadOnly))
{
std::cout<<"File has loaded..."<<std::endl;
reader.XmlReaderreadFile(&file);
reader.XmlReaderTopologyAnalyse();
reader.XmlReaderDealData();
// reader.XmlReaderInterface();
QFileInfo fileInfo(CIMFile);
QFile file_output(fileInfo.path()+"\\iPso_"+fileInfo.baseName()+".txt");
file_output.open(QIODevice::WriteOnly);
reader.XmlReaderwriteFile(&file_output);
file_output.close();//杜孟远
QFile file_output1(fileInfo.path()+"\\iPso_"+fileInfo.baseName()+"_lineZeroResistance.txt");
file_output1.open(QIODevice::WriteOnly);
reader.XmlReaderzero_rx(&file_output1);
// QFile fi("out.txt");
// fi.open(QIODevice::Append);
// QTextStream re(&fi);
// for(int i=0;i<reader.power_transformer.size();i++)
// {
// PowerTransformer trans=reader.power_transformer.at(i);
// re<<trans.Model<<endl;
// }
// fi.close();
QFile file_output2(fileInfo.path()+"\\iPso_"+fileInfo.baseName()+"_TransformerNoLoad.txt");
file_output2.open(QIODevice::WriteOnly);
reader.XmlReadernone_trans_pq(&file_output2);
QFile file_output3(fileInfo.path()+"\\iPso_"+fileInfo.baseName()+"_TransformerNoResistance.txt");
file_output3.open(QIODevice::WriteOnly);
reader.XmlReadernone_trans_rx(&file_output3);
QFile file_output4(fileInfo.path()+"\\iPso_"+fileInfo.baseName()+"_LineInfor.txt");
file_output4.open(QIODevice::WriteOnly);
reader.XmlReaderline_info(&file_output4);
QFile file_output5(fileInfo.path()+"\\iPso_"+fileInfo.baseName()+"_TransformerInfor.txt");
file_output5.open(QIODevice::WriteOnly);
reader.XmlReadertrans_info(&file_output5);
QFile file_totalLineLength(fileInfo.path()+"\\iPso_"+fileInfo.baseName()+"_LineTotalLength.txt");
file_totalLineLength.open(QIODevice::WriteOnly);
reader.XmlReaderTotalLineLenghth(&file_totalLineLength);
QFile file_output6(fileInfo.path()+"\\iPso_"+fileInfo.baseName()+"_ContactPoint.txt");
file_output6.open(QIODevice::WriteOnly);
reader.XmlReaderContactPoint(&file_output6);
QFile file_output7(fileInfo.path()+"\\iPso_"+fileInfo.baseName()+"_DisnetReconfig.txt");
file_output7.open(QIODevice::WriteOnly);
reader.XmlReaderDisnetReconfig(&file_output7);
file_totalLineLength.close();
file_output1.close();
file_output2.close();
file_output3.close();
file_output4.close();
file_output5.close();
file_output6.close();
file_output7.close();
file.close();
return 0;
}
else
{
std::cout<<"No file to read..."<<std::endl;
return -1;
}
}