GetFile und Statusbar CProgressCtrl



  • Hallo
    Ich habe ein kleines Problem.
    Ich möchte ein ProgressCtrl mit meinem Download File verknüpfen.
    Der Download klappt wunderbar

    pFTPConnection->GetFile(__argv[1],p_dest+__argv[1],TRUE,FILE_ATTRIBUTE_NORMAL ,FTP_TRANSFER_TYPE_BINARY,1);
    

    Jetzt möchte ich das aber während des Downloads eine ProgressCtrl mitläuft.
    Diese ist in der Maske schon eingebaut. und per MemberVariable unter m_statusbar ansprechbar.
    zum Beispiel mit m_statusbar.SetPos();
    in Setpos müßte ja nun ein int Wert rein. Am Besten der aktuelle bytesRead nur ich weiß leider nicht wie ich den einbauen soll.
    Kann mir da jemand weiterhelfen?



  • cru schrieb:

    Hallo
    Ich habe ein kleines Problem.
    Ich möchte ein ProgressCtrl mit meinem Download File verknüpfen.
    Der Download klappt wunderbar

    pFTPConnection->GetFile(__argv[1],p_dest+__argv[1],TRUE,FILE_ATTRIBUTE_NORMAL ,FTP_TRANSFER_TYPE_BINARY,1);
    

    Jetzt möchte ich das aber während des Downloads eine ProgressCtrl mitläuft.
    Diese ist in der Maske schon eingebaut. und per MemberVariable unter m_statusbar ansprechbar.
    zum Beispiel mit m_statusbar.SetPos();
    in Setpos müßte ja nun ein int Wert rein. Am Besten der aktuelle bytesRead nur ich weiß leider nicht wie ich den einbauen soll.
    Kann mir da jemand weiterhelfen?

    Also ich setzte 'setPos' nur zum erstmaligen setzen des anfangswertes ein. der ist ja üblicherweise 0, weil zu beginn noch kein fortschritt angezeigt wird.
    wichtiger ist der Range (setRanges()).
    Wenn das File z.B. 1000 Byte gross ist, dann könntest du den Bereich 0..1000 definieren und mittels setPos() den Anfangswert(=0) setzen.
    jedesmal, wenn ein Byte übertragen wurden, kannst du mit der Methode StepIt() einen Schritt weiter gehen. alles klar? Good Luck!



  • und wie kann ich erfahren wie groß die Datei ist. Es soll ja dynamisch sein.



  • und wie erkennt er bitte das jedesmal ein byte übertragen wurde.
    Gibt es eine zusätzliche Methode die ich benutzen muss



  • cru schrieb:

    und wie erkennt er bitte das jedesmal ein byte übertragen wurde.
    Gibt es eine zusätzliche Methode die ich benutzen muss

    Methode pFTPConnection() überschreiben bzw. eine eigene Klasse, abgeleitet von der verwendeten FTP Klasse erstellen.



  • Ich weiß glaub ich vom Prinzip her was du meinst, weiß aber nicht wie ich das umsetzen soll.
    Also ich soll eine neue Klasse erstellen. die die Methoden von FTPConnection erbt.
    Was soll die neue denn noch bekommen. Ich suche ja eine Methode, die mir es ermöglicht den aktuellen status vom Download-File zu bekommen. Warum soll dann eine neue Klasse erstellt werden?`
    Für deine Hilfe bedanke ich mich schon mal ganz herzlich


Anmelden zum Antworten