_FTP_ProgressUpload Title und Text ändern

  • Hey Zusammen,

    ich bin gerade dabei ein Skript zu schreiben, dass eine Datei auf einen Server Per FTP überträgt. Das klappt auch soweit. Was nicht klappt ist den Title und den Text der Progressbar anzupassen. Ich konnte kein Beispiel finden, das mein Vorhaben abdeckt. Auch die AutoIT Hilfe Funktion brachte mich nicht weiter.

    Als erstes mein Skript

    Wie bekomme ich es hin, den Title der Progressbar anzupassen und das nicht der komplette Pfad samt Dateinamen in der Progressbar angezeigt wird sondern nur der Dateiname die Übertragen wird.

    Danke schon mal für eure Hilfe.


    Gruß

    0cool

    Gut das fragen nichts kostet :)

  • Mit dieser Fungtion eigentlich gar nicht, oder siehst du einen Parameter der dies zulässt?

    Du kannst natürlich mit WinSetTitle bzw. ControlSetText das Fenster anpassen. Besser wäre aber die Funktion abändern und unter neuem Namen direkt ins Skript aufnehmen:


    du mußt natürlich noch dein Skript anpassen:

    Code
    _MyFTP_ProgressUpload($Conn, $s_LocalFile, $s_RemoteFile, "Mein Titel", "Mein Text")
  • Danke für die schnelle Hilfe.
    Nachdem ich Deine Funktion in mein Skript reinkopiert hatte, lief mein Skript auf Fehler


    AutoIt
    If Not IsFunc($hFunctionToCall) Then ProgressOn($MyTitle, $MyText)
    Error: IsFunc(): undefined function


    Fällt dir etwas dazu ein?

    [edit]
    Durch ein Update auf die aktuelle AutoIT Version taucht der Fehler nicht mehr auf. Die Progressbar öffnet sich trotzdem nicht.

    Deine Funktion wird bei der folgenden Prüfung beendet:

    AutoIt
    Local $ai_FtpOpenfile = DllCall($__g_hWinInet_FTP, 'handle', 'FtpOpenFileW', 'handle', $hFTPSession, 'wstr', $sRemoteFile, 'dword', $GENERIC_WRITE, 'dword', $FTP_TRANSFER_TYPE_BINARY, 'dword_ptr', 0)
    If @error Or $ai_FtpOpenfile[0] = 0 Then Return SetError(-3, _WinAPI_GetLastError(), 0)

    Gut das fragen nichts kostet :)

    2 Mal editiert, zuletzt von 0cool (9. August 2016 um 20:39)

  • Gibt es keine Möglichkeit, wie ich deine Funktion zum laufen bringen kann?
    Bei meinem Ursprünglichen Versuch geht das so wie es vorhabe nicht. Ich kann zwar eine Funktion als Parameter übergeben das hat auch nicht so richtig funktioniert.

    Das hab ich im Internet gefunden:
    https://www.autoitscript.com/autoit3/docs/l…gressUpload.htm

    Beide Beispiele funktionieren nicht. Die Variable $iPercent ist nicht deklariert und ich verstehe nicht, woher die Variable ihre Daten bekommen soll.

    Es wäre net wenn Du mir weiter helfen könntest.

    Gut das fragen nichts kostet :)

    Einmal editiert, zuletzt von 0cool (9. August 2016 um 23:10)

  • Das von dir verlinkte Beispiel funktioniert bei mir wunderbar. Du mußt nur diesen Hinweis beachten:

    Code
    ; This example NEED TO BE ADAPTED to valid $g_sRemoteFile/$sServer/$sUsername/$sPass

    also gültige Werte für $g_sRemoteFile/$sServer/$sUsername/$sPass angeben. Der verwendete Server ist ein öffentlicher bei dem nur Downloads möglich sind.


    Die Variable $iPercent ist in der Funktion _UpdateProgress als Parameter definiert. _UpdateProgress wird von _FTP_ProgressUpload mit Parameter aufgerufen.

  • Hey autoBert,

    heute komme ich endlich dazu, die Beispiele mit der neusten AutoIT Version zu testen. Siehe da es funktioniert.
    Danke für Deine Hilfe.

    Gruß

    ocool

    Gut das fragen nichts kostet :)