Ejemplo n.º 1
0
	dijkstra (string odl, wierzcholek* start, wierzcholek* stop, vector<wierzcholek*> *sc) : odle(odl), pary(start->grafo()->wierzcholkisize())
	{
		init(start);
		*sc=sciezka(start, stop);
	}
Ejemplo n.º 2
0
bool BramaZnajomych::wczytajBaze()
{
    QFile plikSchematu(":/znajomi.xsd");
    plikSchematu.open(QIODevice::ReadOnly);
    QXmlSchema schemat;
    schemat.load(&plikSchematu, QUrl::fromLocalFile(plikSchematu.fileName()));

    if(schemat.isValid()){
//        qDebug() << "Schemat Poprawny";
        QString sciezka(katalogBazy);
        sciezka.append("/");
        sciezka.append(login);
        sciezka.append(".xml");
//        qDebug() << sciezka;
        plikBazy = new QFile(sciezka);

        if(plikBazy->open(QIODevice::ReadOnly)){
//            qDebug() << "Plik istnieje";

            QXmlSchemaValidator walidator(schemat);
            if(walidator.validate(plikBazy, QUrl::fromLocalFile(plikBazy->fileName()))){
//                qDebug() << "Plik porawny";

                plikBazy->close();
                plikBazy->open(QIODevice::ReadOnly);

                QDomDocument doc("mydocument");
                if(doc.setContent(plikBazy)){
//                    qDebug() << "Udalo sie zaladowac document";

                } else {
//                    qDebug() << "DomDocument fejl";

                }


                QDomElement glownyElement = doc.documentElement();

                QDomNodeList znajomi = glownyElement.elementsByTagName("znajomy");
                int iloscZnajomych = znajomi.size();

//                qDebug() << "Ilosc znajomych w pliku xml: " << iloscZnajomych;

                for(int i = 0; i < iloscZnajomych; ++i){
                    int id = znajomi.at(i).attributes().namedItem("ID").toAttr().value().toInt();
                    QString nick = znajomi.at(i).attributes().namedItem("login").toAttr().value();
                    listaZnajomych.push_back(qMakePair(nick, id));
                }

            } else{
//                qDebug() << "Poprawnosc pliku xml fejl";
                plikBazy->close();
                zapiszBaze();

            }
        } else {
//            qDebug() << "Plik xml nie istnieje";
            QDir katalog(katalogBazy);
            if(!katalog.exists()){
//                qDebug() << "Katalog bazodanowy nie istnieje";
                if(katalog.mkpath(".")){
//                    qDebug() << "Stworzono katalog bazodanowy";
                } else{
//                    qDebug() << "Proba stworzenia katalogu bazodanowego fejl";

                }
            }
            plikBazy->close();
            zapiszBaze();


        }
    } else {
//        qDebug() << "Schemat fejl";
        return false;

    }

    plikSchematu.close();
    plikBazy->close();


    usunZnajomego(555);

    return true;
}