text einlesen funktioniert nicht...
-
ich habe zwar keine ahnung von iteratoren, aber eigentlich müsste das doch hinhauen oder?
dummerweise kommt nichtmal das "found" in der ausgabe?!void Form1::load_items() { QString str = comboBox_type->currentText(); std::cout<<"Gesucher String ist: "<<str<<std::endl; parser prs; prs.read("/home/dgdaniel/develop/Qt/wh40k/lists/orks/base/", "list.wh40k"); for(QStringList::Iterator it = (prs.get_strlst() ).begin(); it != (prs.get_strlst() ).end(); it++) { if(*it == str) { listBox_items->insertItem(*it, -1); std::cout<<"found"<<std::endl; } if(*it == "#END#") break; } }
-
Diese ganzen Parser in letzter Zeit kommen mir alle gleich bekannt vor.
Was ist denn der Rückgabewert von get_strlst()? Poste mal die gesamte Funktion.
-
hey es war nie mein ziel die sache geheim zu halten... da hätt ich dann die fkt. schon umgeschriebeben... :p
#include <iostream> #include <qstring.h> #include <qstringlist.h> #include <qfile.h> #include <qtextstream.h> class parser { private: QStringList strList; public: parser(); void read(QString source, QString file); QString get_string(int pos); QStringList parser::get_strlst(); }; parser::parser() { } void parser::read(QString source, QString file) { QString zeile; QFile datei(source + file); datei.open(IO_ReadOnly); std::cout<<"oeffne: "<<file<<" in "<<source<<std::endl; while(datei.isOpen() ) { QTextStream stream(&datei); while(!stream.atEnd() ) { zeile = stream.readLine(); std::cout<<zeile<<std::endl; strList.append(zeile); } datei.close(); } std::cout<<"schliesse: "<<file<<" in "<<source<<std::endl; } QString parser::get_string(int pos) { return *strList.at(pos); } QStringList parser::get_strlst() { return strList; }
-
QStringList parser::get_strlst()
Du gibst eine Kopie der Liste zurück. Damit beziehen sich die Iteratoren in
for(QStringList::Iterator it = (prs.get_strlst() ).begin(); it != (prs.get_strlst() ).end(); it++)
auf verschiedene Objekte. Das kann nicht klappen. Gib besser eine Refernez auf die Liste zurück.
-
ich weiß nicht ob ich no ne referenz zurück gebe aber die adresse auf jeden falll!
funktioniert leider nicht! wie soll das aussehehnQStringList *parser::get_strlst() { return &strList; }
-
bodo_gw schrieb:
ich weiß nicht ob ich no ne referenz zurück gebe aber die adresse auf jeden falll!
funktioniert leider nicht! wie soll das aussehehnQStringList *parser::get_strlst() { return &strList; }
Inwiefern funktioniert es nicht. Was kommt dabei raus?
-
insofern du das überhaupt gemeint hast...
es passiert einfach nichts meine feld bleibt lehr
wenn ich zeit habe werde ich mir mal qt genauer anschauen und auch auf den blöden designer vollkommen verzichten. dummerweise hab ich keine zeitdie schule nimmt einen jegliche freiräume und beschränkt!