[Solved] A brute qtextstram-autodeleter
-
let us see this snippet:
@
void Seconda::writeNewSection(QString linguaOrigine, QString linguaFinale)
{
linguaOrigine[0] = linguaOrigine[0].toUpper();
linguaFinale[0] = linguaFinale[0].toUpper();
if(linguaFinale.compare("Tedesco") == 0 || linguaFinale.compare("Deutsch") == 0)
{
QString tmp = linguaFinale;
linguaFinale = linguaOrigine;
linguaOrigine = tmp;
}
QString lingue = linguaOrigine + " " + linguaFinale;
QFile f(QDir::currentPath() + "/listaSezioni.txt");
if(f.open(QIODevice::Append | QIODevice::Text | QIODevice::ReadWrite))
{
QTextStream stream (&f);
if(stream.readAll().contains(lingue))
{
f.close();
emit signal_return();
}
else
{
qDebug()<<"nuovo testo: "<< lingue;
stream.seek(0);
stream << lingue << '\n';
f.close();
terza *t = new terza(linguaOrigine, linguaFinale);
t->show();
this->close();
}
}
}
@there is a problem. here we go! as the file is opened, the datas that occour to me are deleted. please, prove it and say me what is borrough. as for me it is a perfect code!
-
xD i am a "distrattone" (italian). i thank you a lot!! =)
EDIT:
@
void cinque::writeNewWord(QString l1, QString l2, QString genere, QString wort, QString beispiel, QString parola, QString esempio)
{
if(wort.isEmpty() && beispiel.isEmpty() && parola.isEmpty() && esempio.isEmpty())
{
Prima *d = new Prima();
d->show();
this->close();
}
else
{
if(l1.compare("Deutsch") != 0 || l1.compare("Tedesco") != 0) genere = "";
wort[0] = wort[0].toUpper();QFile f(QDir::currentPath() + "listaSezioni.txt"); //aggiunta del nuovo biglietto al file listaSezioni.txt if(f.open(QIODevice::Text | QIODevice::ReadOnly)) { QTextStream streami(&f); streami.seek(0); QString separatore = " | "; QStringList listaSezioni; QString riga; do { riga = streami.readLine(); qDebug() << "riga: " << riga; if(riga.contains(l1) && riga.contains(l2)) { listaSezioni.append(riga); listaSezioni.append(genere + separatore + wort + separatore + beispiel + separatore + parola + separatore + esempio + '\n'); } else listaSezioni.append(riga); }while(!streami.atEnd()); f.close();
@
ahm, 'xcuse me, what about here? riga = streami.readLine(); qDebug() << "riga: " << riga;
output: "riga: "" "