void Repository::loadFromFile() { string name; string cnp; string media; float med; ifstream fisier("C:\\Qt\\Qt5.0.2\\Tools\\QtCreator\\bin\\Pregatire1\\in.txt"); if (!fisier.is_open()) { cout << "Failed to open!" << endl; exit(1); } while(fisier.good()) { getline(fisier, name, ';'); getline(fisier, cnp, ';'); getline(fisier, media, '\n'); med = atof(media.c_str()); Student s(name, cnp, med); v.push_back(s); } v.pop_back(); vector<Student>::iterator it; for (it = v.begin(); it != v.end(); it++) { cout << *it; } fisier.close(); }
void Repository::writeToFile() { ofstream fisier("C:\\Qt\\Qt5.0.2\\Tools\\QtCreator\\bin\\Pregatire1\\in.txt"); if (!fisier.is_open()) { cout << "Failed to open!" << endl; exit(1); } vector<Student>::iterator it; for (it = v.begin(); it != v.end(); it++) { fisier << *it; } fisier.close(); }
Sales::~Sales() { QFile fisier("sales.txt"); if (!fisier.open(QIODevice::WriteOnly) ) throw QString("Eroare la citirea fisierului"); QTextStream out(&fisier); for (QVector<sale>::iterator it = sales.begin(); it != sales.end(); it++) { out<<*it; } delete &sales; }
Sales::Sales(QObject *parent):sales(*(new QVector<sale>())),QAbstractTableModel(parent) { QFile fisier("sales.txt"); if (!fisier.open(QIODevice::ReadOnly) ) throw QString("Eroare la citirea fisierului"); QTextStream in(&fisier); while (!in.atEnd()) { sale s; in>>s; if (s.isValid()) { if (s.getId() > newId) { newId = s.getId() +1; } sales.append(s); } } }
void SlaveMaster::slaveReadyRead() { //parse header //if dir struct, compare current dir struct and request filemode QByteArray header = sktSlave->read(1); if(header[0] & 0x03){ //slave a primit o struct d dir de la master received_fileStruct = QString(sktSlave->readAll()); received_fileSystem = DirectoryParser::getFileList(received_fileStruct); FileResolver *fr = new FileResolver(received_fileSystem,this); fileStack = fr->getIndexesOfFiles(); //make dirs DirectoryBuilder *db = new DirectoryBuilder(received_fileSystem,this); db->mkDirs(slaveDir); //request first file! if(fileStack.size() == 0) return; // if no files existing in filesyst QByteArray ba; ba.resize(1); ba[0] = 0x10; ba.append(received_fileSystem.at(fileStack.pop()).getName()); sktSlave->write(ba); sktSlave->flush(); } if(header[0] & 0x20){ //slave received an header announcing a file //get indexof file QByteArray fileIndex = sktSlave->read(2); //build absolute path QString absolutePath(""); QString file = received_fileSystem.at(fileIndex.toInt()).getName(); absolutePath.append(slaveDir).append(QDir::separator()); absolutePath.append(file); //make file from absolute path //to do not opening case QFile fisier(absolutePath); if (!fisier.open(QIODevice::WriteOnly)) qDebug()<<"not opening"; //get file from network and write it to disk //readfilesize in qint32 to stop reading - daca nu merge! while (!sktSlave->atEnd()) { fisier.write(sktSlave->read(1000)); } fisier.flush(); fisier.close(); //request next file! if(fileStack.size() == 0) return; // if stack is empty, no more files QByteArray ba; ba.resize(1); ba[0] = 0x10; ba.append(received_fileSystem.at(fileStack.pop()).getName()); sktSlave->write(ba); sktSlave->flush(); } }