int main() { int alldone = 0; welcome(); do { if (checkdata() == 1) { resetstatus(); } do { if (checkstatus() == 1) { if (restart()) { break; } } displaystatus(); alldone = continueclipping(); } while (alldone == 0); resetstatus(); goodbye(); } while (close() == 0); return 0; }
int restart() { char restartchoice; displaystatus(); printf("all clipped!\n\n"); do { printf("start over?\n"); printf("[y/n]: "); scanf(" %c", &restartchoice); } while ((restartchoice != 'y') && (restartchoice != 'n')); if (restartchoice == 'y') { resetstatus(); return 0; } return 1; }
void Browser::ExportMysql( QString qx ) { QString tta; QString cfileName = QFileDialog::getSaveFileName(this, "Export MYSQL locale format text",QString(setter.value("lastdirDir").toString()), "*.sql"); bool ok; QString newtablename = QInputDialog::getText(this, tr("You like mysql insert on new table name?"),tr("TableName:"), QLineEdit::Normal,runningtable, &ok); QString msgDB =tr("<p>Append create table command? mysql</p>"); int removeyes = QMessageBox::question(this, tr("Please confirm!"),msgDB, tr("&Yes"), tr("&No"), QString(),8888,9999); QString responder = QString::number(removeyes); if (cfileName.size() > 0) { QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); if (!cfileName.endsWith(".sql")) { cfileName = cfileName+".sql"; } QString dirsave = cfileName.left(cfileName.lastIndexOf("/"))+"/"; setter.setValue("lastdirDir",dirsave); dlg = new QProgressDialog(this,Qt::Popup); dlg->setLabelText (tr("Export table \"%1\"").arg( runningtable )); dlg->setCancelButton(0); QStringList cvslines; QStringList Fname; QStringList Fvalue; cvslines.append(QString("### Created on %1 ###").arg(_PROGRAM_TITLE_)); cvslines.append(QString("### Export from %1 ###").arg(UmanTimeFromUnix(QTime_Null()))); cvslines.append(QString("### Remove comment line if other application not support! ###")); QSqlQuery query(qx,connectionWidget->currentDatabase()); QSqlRecord rec = query.record(); bool window = false; if (responder =="0") { if (runningdriver == "qmysql") { window = OSWinServer(); QString dtabi = SqlCreateTable(runningtable); if (newtablename.size() > 0 ) { if (window) { dtabi.replace("`"+runningtable.toUpper()+"`","`"+newtablename.toUpper()+"`"); } else { dtabi.replace("`"+runningtable+"`","`"+newtablename+"`"); } } cvslines.append(dtabi); } else { cvslines.append(StructureMYSQLTable(rec)); cvslines.append(QString("### Manual rewrite if is from odbc export! ###")); } } if (newtablename.size() > 0 ) { runningtable = newtablename; } bool suppoaffect; int sumcol = rec.count(); int sumrow = query.numRowsAffected(); int recnum = 0; /* QProgressDialog *dlg; */ int pasero = 0; if (sumrow < 1) { suppoaffect = false; sumrow = 1000; } else { suppoaffect = true; } while (query.next()) { recnum++; /* count fake lines */ emit displaystatus(recnum,sumrow); Fvalue.clear(); Fname.clear(); for(int i=0;i<sumcol;i++){ bool oknr; QSqlField fld = rec.field(i); QString value =""; QString typeoffield = QString(QVariant::typeToName(fld.type())); if (typeoffield != "QByteArray") { value = Strsqltrimmed(query.value(i).toString()); } else { value = Strsqltrimmed(query.value(i).toString()); } int vnummer = value.toInt(&oknr); QString fname = Strcsvtrimmed(rec.fieldName(i)); if (oknr) { Fvalue.append(value); } else if (value.isEmpty()) { Fvalue.append("NULL"); } else { Fvalue.append(QString("'%1'").arg(value)); } } QString Dvalue = Fvalue.join(","); if (window) { cvslines.append(QString("REPLACE INTO `%1` VALUES (%2);").arg(runningtable.toUpper()).arg(Dvalue)); } else { cvslines.append(QString("REPLACE INTO `%1` VALUES (%2);").arg(runningtable).arg(Dvalue)); } if (!suppoaffect) { if (recnum == 1001) { recnum = 0; pasero++; dlg->setLabelText (tr("Export table \"%1\" %2x1000 !numRowsAffected").arg( runningtable ).arg(pasero)); } } } QString contentxt = cvslines.join("\n"); ///////////QTextCodec *setcurrentcodec; //////////setcurrentcodec = QTextCodec::codecForMib(106); /* utf8 */ QFile f( cfileName ); if ( f.open( QFile::WriteOnly | QFile::Text ) ) { QTextStream sw( &f ); /////////sw.setCodec(setcurrentcodec); sw << contentxt; f.close(); if (dlg->isVisible ()) { dlg->close(); } } else { if (dlg->isVisible ()) { dlg->close(); } QApplication::restoreOverrideCursor(); QMessageBox::information(this, tr("Error!"),tr("Unable to save to file %1").arg(cfileName)); } QApplication::restoreOverrideCursor(); } }