89 lines
3.1 KiB
C++
89 lines
3.1 KiB
C++
|
|
#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)
|
|||
|
|
{
|
|||
|
|
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;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|