for-Schleife wird nicht ausgeführt

Alles rund um die Programmierung mit Qt
Antworten
Slowmo
Beiträge: 25
Registriert: 21. März 2007 16:02
Kontaktdaten:

for-Schleife wird nicht ausgeführt

Beitrag 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?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Hinschauen ;)

Code: Alles auswählen

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

'Funktioniert nicht' ist keine Fehlerbeschreibung
Slowmo
Beiträge: 25
Registriert: 21. März 2007 16:02
Kontaktdaten:

Beitrag 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
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Da hilft wohl nur debuggen da ich auf die Schnelle nichts weiter sehe.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
lepsai
Beiträge: 573
Registriert: 14. September 2004 21:33
Wohnort: Berlin
Kontaktdaten:

Beitrag von lepsai »

kommt der Fehler innerhalb der Schleife?
Slowmo
Beiträge: 25
Registriert: 21. März 2007 16:02
Kontaktdaten:

Beitrag 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.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

lepasai hat wohl recht - deine Schleife ist immer noch nicht korrekt!
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Jeder weiß es, keiner sagt es :-)
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Würdest Du deinen neuen Code posten und nochmal genau ggf. hinschauen würde man es sehen ob wir richtig liegen.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Slowmo
Beiträge: 25
Registriert: 21. März 2007 16:02
Kontaktdaten:

Beitrag 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;	
}
Antworten