void QFrankQtSBSAManifestExportieren::run() { K_mtProzess=new QProcess(); K_mtProzess->setProcessChannelMode(QProcess::MergedChannels); connect(K_mtProzess,SIGNAL(finished(int)),this,SLOT(K_mtFertig(int))); QStringList Argumente; QString Datei=K_Parameter->QtBibliothekenHohlen().at(K_Dateinummer).DateinameHohlen(); if(K_Parameter->QtBibliothekenHohlen().at(K_Dateinummer).istPlugIn()) Datei=K_Parameter->ZielverzeichnisHohlen()+"/"+ K_Parameter->QtBibliothekenHohlen().at(K_Dateinummer).PlugInTypeHohlen()+"/"+Datei; else Datei=K_Parameter->ZielverzeichnisHohlen()+"/"+Datei; Argumente<<"-inputresource:"+Datei+";#2" <<"-out:"+Datei+".manifest" <<"-verbose"<<"-nologo"; K_mtProzess->setWorkingDirectory(K_Parameter->ZielverzeichnisHohlen()); K_mtProzess->start("\""+K_Parameter->WindowsSDKPfadHohlen()+"\\mt.exe\"",Argumente); if(!K_mtProzess->waitForStarted(5000)) { K_Fehlercode=1; K_Fehlermeldung=trUtf8("Das Werkzeug mt.exe konnte nicht ausgeführt werden."); emit fertig(this); return; } K_Fehlercode=exec(); emit fertig(this); }
void Programmanalisator::ProgramEinladen(QTextDocument* dok) { LBL_lin.clear(); LBL_rep.clear(); LBL_call.clear(); int Nstr = dok->lineCount(); for (int i=0; i<(dok->lineCount()); i++ ) { QString* Kadr= new QString(dok->findBlockByLineNumber(i).text()); int Res = processCommand(Kadr, i); if (Res<0) { QString str1=tr("Ошибка: Строка: ")+QString::number(i); // ошибка - выдадим сообщение errorMessage(str1); } else if (Res>0) { i=LBL_lin[I1]; qDebug()<<"linie"<<I1; } int progress=(int)(((i+1)*100)/Nstr); qDebug()<<progress<<"%"; emit Progress(progress); delete Kadr; } emit fertig(); }
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); }