void RBDtoWeatherDialog::doCalc()
{
    QSqlQuery query;
    QProgressDialog dialog(tr("Calculando "), tr("Cancelar"), 0, ui->desdeDateEdit->date().daysTo(ui->hastaDateEdit->date()), this);
    dialog.setWindowModality(Qt::ApplicationModal);
    dialog.setMinimumDuration(500);
    query.exec(QString("SELECT * FROM estadotiempos WHERE fecha >= '%1 00:00:00' AND fecha <= '%2 00:00:00'").arg(ui->desdeDateEdit->date().toString("yyyy-MM-dd")).arg(ui->hastaDateEdit->date().toString("yyyy-MM-dd")));
    while(query.next() && !dialog.wasCanceled()){
        dialog.setValue(dialog.value() + 1);
        QDateTime date = QDateTime::fromString(query.record().field("fecha").value().toString(), "yyyy-MM-dd hh:mm:ss");
        processDay(date);
    };
}
Esempio n. 2
0
void WeatherData::processForecast()
{
    if (!xmlReader.isStartElement() || xmlReader.name() != "forecast")
        return;
    while (xmlReader.readNextStartElement()) {
        if (xmlReader.name() == "fact")
            processFact();
        else
            if (xmlReader.name() == "day")
                processDay();
            else
                xmlReader.skipCurrentElement();
    }
}