Seite 1 von 1

for-Schleife wird nicht ausgeführt

Verfasst: 25. März 2007 17:49
von Slowmo
Ich möchte per FTP eine Liste von Dateien auf einen Server hochladen und zwar mit folgender Funktion:

Code: Alles auswählen

bool FTPWindowImpl::Upload(QString Server, QString Username, QString Password, QStringList FilesLocal, QStringList FilesServer) {
FTP.connectToHost(Server);
FTP.login(Username, Password);
int count;
count = FilesLocal.size();
PBar_Total->setRange(0,count);
QFile *File = new QFile;
for (int i=0;i>=count;i++) {
	File->setFileName(FilesLocal.at(i));
	File->open(QIODevice::ReadOnly);
	this->FTP.put(File->readAll(), FilesServer.at(i));
	File->close();
	PBar_Total->setValue(i);
	}
delete File;
FTP.close();
return 1;	
}
Aber irgendwie wird die for-Schleife nicht ausgeführt. Kann jemand helfen?

Verfasst: 25. März 2007 17:55
von Christian81
Hinschauen ;)

Code: Alles auswählen

for (int i=0;i>=count;i++) {

Verfasst: 26. März 2007 09:47
von Slowmo
Okay, das war peinlich. Aber jetzt kommt beim debuggen ein Fehler und ich kann nicht herausfinden was er bedeuten soll ....

Code: Alles auswählen

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1223280416 (LWP 4386)]
0xb74700ef in QString::operator= () from /usr/lib/libQtCore.so.4

Verfasst: 26. März 2007 09:49
von Christian81
Da hilft wohl nur debuggen da ich auf die Schnelle nichts weiter sehe.

Verfasst: 26. März 2007 10:19
von lepsai
kommt der Fehler innerhalb der Schleife?

Verfasst: 26. März 2007 10:21
von Slowmo
Der Fehler kommt exakt hier:

Code: Alles auswählen

File->setFileName(FilesLocal.at(i));
Er muss igendwas mit FileLocal.at(i); zu tun haben.

Verfasst: 26. März 2007 10:32
von Christian81
lepasai hat wohl recht - deine Schleife ist immer noch nicht korrekt!

Verfasst: 26. März 2007 10:52
von macman
Jeder weiß es, keiner sagt es :-)

Verfasst: 26. März 2007 10:57
von Christian81
Würdest Du deinen neuen Code posten und nochmal genau ggf. hinschauen würde man es sehen ob wir richtig liegen.

Verfasst: 26. März 2007 11:09
von Slowmo
Hat sich erledigt, es war mal wieder meine eigene Dummheit (ich sollte mal weniger fragen, mehr denken), hier der fertige Code:

Code: Alles auswählen

bool FTPWindowImpl::Upload(QString Server, QString Username, QString Password, QStringList FilesLocal, QStringList FilesServer) {
FTP.connectToHost(Server);
FTP.login(Username, Password);
int count;
count = FilesLocal.size();
PBar_Total->setRange(0,count);
QFile *File = new QFile;
for (int i=0;i<count;i++) {
	File->setFileName(FilesLocal.at(i));
	File->open(QIODevice::ReadOnly);
	this->FTP.put(File->readAll(), FilesServer.at(i));
	File->close();
	}
delete File;
FTP.close();
return 1;	
}