示例#1
0
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();
}
示例#2
0
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();
}
示例#3
0
文件: sales.cpp 项目: rolisz/OOPQt
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;
}
示例#4
0
文件: sales.cpp 项目: rolisz/OOPQt
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);
		}
	}
}
示例#5
0
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();
    }
}