IdFTP ins Hauptverzeichnis zurück springen



  • Hallo,

    ich wechsel mit

    IdFTP1->ChangeDir(Label2->Caption);
    

    mehrmals in Unterordner. Nun möchte ich zurück ins Hauptverzeichnis ohne mehrmals

    IdFTP1->ChangeDirUp()
    

    auszuführen.

    wie mache ich das?

    IdFTP1->ChangeDir("./");
    

    so funktioniert das leider nicht.

    gruß,
    Michael



  • (LIES UNTEN WEITER - EDIT)
    Funktion:

    String PathSystems::GetFileName(String FilePath, char Splitchar)
    {
    	//----Get Module Location----------
    	int i = FilePath.Length();
    	while (i > 0)
    	{
    		i--;
    		if (FilePath[i+1] == Splitchar)
    			break;
    	}
    	return FilePath.SubString(i+2,FilePath.Length()-(i+1));
    }
    String ExtractFrom(String FilePath, char Seperator)
    {
    	return FilePath.SubString(0,FilePath.Length() - GetFileName(FilePath,Splitchar).Length());
    }
    

    Anwendungsbeispiel (Abhängen des '\' nich getestet):

    if (Label2->Caption[Label2->Caption.Length()-1] == '\\') // ungetestet
        Label2->Caption = Label2->Caption.SubString(0,Label2->Caption.Length()-1); // ungetestet
    Label2->Caption = ExtractFrom(Label2->Caption,'\\'); // hängt unterordner vom Pfad ab
    IdFTP1->ChangeDir(Label2->Caption); // Setzt neuen Pfad (Eins Höher)
    

    das müsste so funktionieren, WENN ICH DICH VERSTANDEN HABE.

    EDIT:

    Michael86 schrieb:

    mehrmals in Unterordner. Nun möchte ich zurück ins Hauptverzeichnis ohne mehrmals

    IdFTP1->ChangeDirUp()
    

    auszuführen.
    wie mache ich das?

    das versteh ich jetzt wiederum nicht
    ACHSO !
    du meinst bei beliebig großer Unterordner Tiefe ?
    Warum lässt du nicht den Ursprungsordner vorher speichern, gehst dann die Verzeichnisse durch und setzt dann wieder auf den zuvor gespeicherten Urpsrung mit ChangeDir() ?



  • Tim06TR schrieb:

    ACHSO !
    du meinst bei beliebig großer Unterordner Tiefe ?

    genau, z.b. ich befinde mich bei "/Kunden/123/5" und will mit EINEM Befehl wieder ins "/" Hauptverzeichnis



  • Michael86 schrieb:

    IdFTP1->ChangeDir("./");
    

    so funktioniert das leider nicht.

    Und ohne den Punkt?


Anmelden zum Antworten