Exemplo n.º 1
0
void Hdfs::copyFromLocal(string src, string dst)
{
  auto_ptr<ostream> dstStream(create(dst));
  fstream srcStream;
  srcStream.open(src.data(), fstream::in);
  if (srcStream.good() == false)
  {
    throw ios_base::failure("Error opening src.");
  }

  // just using typical block size on disk (4096), there is probably a better value.
  char buf[4096];
  while (srcStream.eof() == false)
  {
    srcStream.read(buf, 4096);
    dstStream->write(buf, srcStream.gcount());
  }

  dstStream->flush();
}
bool NewExperimentSettingsDialog::saveToCSV(const QString &fileName)
{
    QFile file(fileName);

    if(!file.open(QIODevice::WriteOnly))
        return false;

    QTextStream dstStream(&file);
    QTextCodec *codec = QTextCodec::codecForName("Windows-1251");
    if (codec!= NULL)
    {
        dstStream.setCodec(codec);
    }
    else
    {
        assert(1);
    }

    if (ui->rbtnGetYFromFunction->isChecked())
    {
        dstStream << QString::fromUtf8("Функция:") << ";" << ui->tFormulaInput->toPlainText() << "\r\n";
        if (ui->rbRadianCorner)
        {
            dstStream << QString::fromUtf8("Мера угла:") << ";" << "radian" << "\r\n";
        }
        else
        {
            dstStream << QString::fromUtf8("Мера угла:") << ";" << "degrees" << "\r\n";
        }
    }

    dstStream << QString::fromUtf8("ТАБЛИЦА ФАКТОРОВ;\r\n");
    dstStream << QString::fromUtf8("Число факторов:") << ";" << ui->FactNum_spinBox->text() << "\r\n";
    dstStream << QString::fromUtf8("Число опытов ПФЭ:") << ';' << ui->PFEnum_labelPFE->text() << ';' << "\r\n";
    dstStream << QString::fromUtf8("Дробность реплики:") << ";" << ui->label_drob->text() << ";\r\n";
    dstStream << QString::fromUtf8("Число базовых факторов:") << ";" << ui->label_FactBase->text() << ";\r\n";
    dstStream << QString::fromUtf8("Центры плана:") << ';' << "\r\n";
    for(size_t i = 0; i < ui->tableWidget_Znach->rowCount(); i++)
    {
        dstStream << ';' << ExperimentTable::doubleWithComma( ui->tableWidget_Znach->item(i, 2)->text().toDouble()) << ';';
        dstStream << "\r\n";
    }
    dstStream << QString::fromUtf8("Интервал варьирования:") << ';' << "\r\n";
    for(size_t i = 0; i < ui->tableWidget_Znach->rowCount(); i++)
    {
        dstStream << ';' << ExperimentTable::doubleWithComma(ui->tableWidget_Znach->item(i, 6)->text().toDouble()) << ';';
        dstStream << "\r\n";
    }
    dstStream << QString::fromUtf8("Размер описаний:") << ';';
    dstStream << ui->tableWidget_Znach->rowCount() << ';' << "\r\n";

    dstStream << QString::fromUtf8("Описания:") << ';' << "\r\n";
    for(size_t i = 0; i < ui->tableWidget_Znach->rowCount(); i++)
    {
        dstStream << ';' << ui->tableWidget_Znach->item(i, 1)->text() << ';';
        dstStream << "\r\n";
    }
    dstStream << QString::fromUtf8("Уровень взаимодействия:") << ";" << ui->spinBox_interactionLevel->text() << ";\r\n";
    if (MATHMODEL == _modelType)
    {
        dstStream << QString::fromUtf8("Тип модели:") << ";" << "MATHMODEL" << ";\r\n";
    }
    else
    {
        dstStream << QString::fromUtf8("Тип модели:") << ";" << "OPTIMUM" << ";\r\n";
        dstStream << QString::fromUtf8("Поиск точек перегиба") << ";\r\n";
        dstStream << QString::fromUtf8("По максимуму:") << ";" << "1" << ";\r\n";
        dstStream << QString::fromUtf8("Величина шага:") << ";" << "0,5" << ";\r\n";
        dstStream << QString::fromUtf8("Количество шагов:") << ";" << "7" << ";\r\n";
        dstStream << QString::fromUtf8("Допустимое отклонение:") << ";" << "30" << ";\r\n";
    }
    dstStream << QString::fromUtf8("Количество параллельных опытов:") << ";" << ui->spinBox_paral->text() << "\r\n";

}