Der Updater soll Dateien laden, aber (!nicht!) im Hintergrund, hatte schon eine eigene Klasse geschreiben hatte aber Problem mit UTF-8 und ASCII unterscheidung.
Der Wert headere wird über foreach gegeben, das geht ja auch.
Code: Alles auswählen
foreach(headere, headerl)
{
if (headere.left(4) == "file")
{
headere.remove("file <");
headere.remove(">");
std::cout << QString("Remove old " + headere).toStdString();
if (flv.remove(headere))
{
std::cout << " [done]\n";
}
else
{
std::cout << " [failed]\n";
}
std::cout << QString("Download new " + headere).toStdString();
QHttp http;
QFile fld;
fld.setFileName(fod + "/" + headere);
fld.open(QFile::WriteOnly);
http.setHost("derhost");
http.get("/update/sfiles/" + headere);
waitForFinished:
if (http.state() != http.Unconnected)
{
Xsleep::msleep(500);
std::cout << ".";
goto waitForFinished;
}
fld.write(http.readAll());
fld.close();
std::cout << " [done]\n";
}
}