Exemplo n.º 1
0
/*!
 * \brief MainWindow::Speichern
 * Als Speicherort sird der in der Klassenvariable Speicherort verwendet.
 * \return Ob Speichern Erfolgreich verlaufen ist.
 */
bool MainWindow::Speichern()
{
    if (SpeicherOrt=="")//Prüft ob überhaubt ein Speicherort angegeben ist.
        return false;
    QFile Datei(SpeicherOrt);//Ersteilt ein dateiobjekt, dass auf die Datei zeigt.
    if (!Datei.open(QIODevice::WriteOnly | QIODevice::Text))// Prüft ob die Datei erfolgreich geöffnet werden kann.
             return false;
    bool Erfolgreich=false;
    if (Dateityp==1)//Prüft den Gewünschten Dateityp Und Speichert entsprechend.
        Erfolgreich=Kurse.savecvsfile(&Datei);
    if (Dateityp==2)
        Erfolgreich=Kurse.savexmlfile(&Datei);
    Datei.close();//Schließt die Datei.
    return Erfolgreich;
}
Exemplo n.º 2
0
/*!
 *Daten aus einer csv Datei Auslesen die Das Vormat einhält in dem Gespeichert wurde.
*/
bool MainWindow::laden()
{
    QFile Datei(SpeicherOrt);
    if (!Datei.open(QIODevice::ReadOnly | QIODevice::Text)) //Öfnet die Datei und Prüft ob die Erfolgreich war.
             return false; //Gibt zurück das ein Fehler aufgetreten ist.
    bool Erfolgreich=false;
    if(Dateityp==1)
        Erfolgreich=Kurse.loadcvsfile(&Datei);
    if(Dateityp==2)
        Erfolgreich=Kurse.loadxmlfile(&Datei);
    Datei.close();//Schließt die Datei
    if (!Erfolgreich)
    {
        leeren();
        QMessageBox::warning(this,"Fehler beim Laden",QString("Es ist ein Fehler beim Laden der Datei \"%1\" aufgeterten.\nDie Datei wurde nicht geladen.").arg(SpeicherOrt));
    }
    Graphik.DatenGeaendert();
    return Erfolgreich;//Gibt zurück das die Datei Erfolgreich gelesen wurde
}
Exemplo n.º 3
0
void Datenmodell::DB_Laden()
{
	if(!QSqlDatabase::contains(DBVERBINDUNG))
	{
		QFile Datei(QString("%1/%2").arg(DBPFAD).arg(DBDATEI));
		if(!Datei.exists())
		{
			FehlerAufgetreten(tr("Die Datenbank %1 existiert nicht.").arg(Datei.fileName()));
			return;
		}
		//Die DB für SQLite in eine Temoräte Datei schieben
		QSqlDatabase DB=QSqlDatabase::addDatabase("QSQLITE",DBVERBINDUNG);
		DB.setDatabaseName(QTemporaryFile::createNativeFile(Datei)->fileName());
		if(!DB.open())
		{
			FehlerAufgetreten(DB.lastError().text());
			return;
		}
	}
}
void QFrankQtSBSAManifestBearbeiten::run()
{
	QString Dateiname=K_Parameter->QtBibliothekenHohlen().at(K_Dateinummer).DateinameHohlen();
	if(!K_QtKomponenteErmitteln(Dateiname))
	{
		K_Fehlercode=1;
		K_Fehlermeldung=trUtf8("Nicht erkannte oder ungültige Qt4 Komponente %1.").arg(Dateiname);
		emit fertig(this);
		return;
	}
	QDomDocument Manifest;
	if(K_Parameter->QtBibliothekenHohlen().at(K_Dateinummer).istPlugIn())
	{
		K_Dateipfad=K_Parameter->QtBibliothekenHohlen().at(K_Dateinummer).PlugInTypeHohlen()+"\\";
		Dateiname=K_Parameter->ZielverzeichnisHohlen()+"/"+K_Dateipfad+Dateiname;		
	}
	else
		Dateiname=K_Parameter->ZielverzeichnisHohlen()+"/"+Dateiname;
	QFile Datei(Dateiname+".manifest");
	if(!Datei.open(QIODevice::ReadOnly))
	{
		K_Fehlercode=1;
		K_Fehlermeldung=trUtf8("Die Datei %1 konnte nicht göffnet werden.").arg(Dateiname);
		emit fertig(this);
		return;
	}
	if(!Manifest.setContent(&Datei))
	{
		K_Fehlercode=1;
		K_Fehlermeldung=trUtf8("%1 ist keine gültige XML Datei.").arg(Dateiname);
		Datei.close();
		emit fertig(this);
		return;
	}
	Datei.close();
	// Auf gehts:)

	QDomElement Rootelement=Manifest.documentElement();
	QDomElement AssemblyID=K_AssemblyIdentifikationEinfuegen(Manifest);
	Rootelement.insertBefore(AssemblyID,Rootelement.firstChild());
	//File Tag einfügen
	QDomElement DateiTag=Manifest.createElement("file");
	DateiTag.setAttribute("name",K_Parameter->QtBibliothekenHohlen().at(K_Dateinummer).DateinameHohlen());
	Rootelement.insertAfter(DateiTag,AssemblyID);
	//Abhängigkeiten von anderen Qt Komponenten ermitteln
	if(!K_AbhaengigkeitenErmitteln())
	{
		K_Fehlercode=1;
		emit fertig(this);
		return;
	}
	QString Komponente;
	Q_FOREACH(Komponente,K_BenoetigeQtKomponenten)
	{
		if(!K_AbhaengigkeitEinfuegen(Manifest,Komponente))
		{
			K_Fehlercode=1;
			emit fertig(this);
			return;
			break;
		}
	}

	//Und wieder in die Datei Speichern:)
	if(!Datei.open(QIODevice::WriteOnly))
	{
		K_Fehlercode=1;
		K_Fehlermeldung=trUtf8("%1 konnte nicht überschrieben werden.").arg(Dateiname);
		Datei.close();
		emit fertig(this);
		return;
	}
	QTextStream Datenstrom(&Datei);
	Datenstrom.setCodec("UTF-8");
	Datenstrom<<Manifest.toString();
	Datenstrom.flush();
	Datei.close();
	K_Fehlercode=0;
	emit fertig(this);
}