Alle Xtp files einlesen
Verfasst: 13. August 2011 22:52
Hi wollte einen code geschreiben mit dem ich jede xtp file von diesem Format in einem QTreeWidget ausgeben kann:
Beispiel:
<Ordner1>
<Ordner2>
<Ordner3>
</Ordner3>
</Ordner2>
</Ordner1>
bekomme einen Zugriffsfehler wenn ich za auf 9 erhöhe
Beispiel:
<Ordner1>
<Ordner2>
<Ordner3>
</Ordner3>
</Ordner2>
</Ordner1>
bekomme einen Zugriffsfehler wenn ich za auf 9 erhöhe
Code: Alles auswählen
int hauptordner;
za=8;
int kinder=0;
for(hauptordner=2;hauptordner<za;hauptordner++){
u.textEdit->insertPlainText(QString::number(hauptordner));
// Hauptordner
zeile[hauptordner].replace( QRegExp("<"),"");
zeile[hauptordner].replace( QRegExp(">"),"");
zeile[hauptordner].replace( QRegExp(" "),"");
QString test =zeile[hauptordner];
qtree[hauptordner] = new QTreeWidgetItem(u.treeWidgetneu);
qtree[hauptordner] = u.treeWidgetneu->topLevelItem(hauptordner-2);
qtree[hauptordner]->setText(0, QApplication::translate("Dialog", test.toAscii(), 0, QApplication::UnicodeUTF8));
// Suche nach Child
for(int unterordner=hauptordner+1;unterordner<za;unterordner++){
//u.textEdit->insertPlainText(QString::number(unterordner));
if(zeile[unterordner+1].indexOf("/"+test)!=-1){/*u.textEdit->insertPlainText("Gefunden");*/hauptordner=unterordner;break;}
else{
//suche nach unterunterordne
for(int unterunterordner=unterordner+1;unterunterordner<za;unterunterordner++){
zeile[unterordner].replace( QRegExp("<"),"");
zeile[unterordner].replace( QRegExp(">"),"");
zeile[unterordner].replace( QRegExp(" "),"");
if(zeile[unterunterordner].indexOf("/"+zeile[unterordner])!=-1){/*u.textEdit->insertPlainText("Gefunden^unterordner");*/ unterordner=unterunterordner;break;}
else{qtree[unterunterordner] = new QTreeWidgetItem(qtree[hauptordner]);
qtree[unterunterordner] = qtree[hauptordner]->child(kinder);kinder++;
qtree[unterunterordner]->setText(0,zeile[unterunterordner]);
unterordner=unterunterordner;}}
hauptordner=unterordner;
}
}
//u.textEdit->insertPlainText(QString::number(hauptordner));
//hauptordner=unterordner;
}