Natürlich ist folgender Code-Schnippsel noch nicht fertig und erfüllt im Moment noch keine elementare Funktion in meinem Programm. Das wird kommen, aber erst wenns funktioniert. Ich habe einiges eingefügt (zum Beispiel die QMessageBox), um das ganze bis hierher zu testen. Weil ich teste lieber immer kleine Stücke als am Ende den ganzen Code auf einmal und wenn was nicht funktioniert muss ich 100 Zeilen überprüfen: Sowas ist ziemlich doof. Also hier mal mein Code-Schnippsel, der nicht funktioniert:
Code: Alles auswählen
void listDatabases::setPath(QString pathParameter) { basePath = QDir::current().path()+"/"+pathParameter; }
QStringList listDatabases::databases(QString appendPath) {
base.setPath("");
if(appendPath=="") { databaseList.clear(); base.setPath(basePath); } else { base.setPath(basePath+appendPath); }
if (!base.exists()) { qWarning("It seems that the base directory for database-browsing doesn't exist."); }
base.setFilter(QDir::NoSymLinks | QDir::NoDotAndDotDot);
allList = base.entryList();
allListLength = allList.size();
for(int i = 0; i<allListLength; i++) { databaseList.append(allList.at(i)); }
QMessageBox msgBox;
msgBox.setText(databaseList.join(", "));
msgBox.exec();
return allList;
}Code: Alles auswählen
class listDatabases {
public:
QStringList databases(QString appendPath = "");
void setPath(QString pathParameter);
private:
QStringList databaseList;
QStringList allList;
int allListLength;
QDir base;
QString basePath;
};Achso, und der Parameter der Funktion erfüllt noch keinen Zweck, genau so wie die if-Abfrage in der zweiten Zeile der Funktion. Beides soll später die Funktion rekursiv machen
Ich würde mich sehr über Hilfe freuen! Vielen Dank im Voraus,
Jonathan