Hallo zusammen,
vielleicht sehe ich den Wald vor Bäumen nicht... aber die ProgressBar bekomme ich nicht ans laufen.
Hintereinander werden ein paar Pfade benutzt, um bestimmte Dateien von einem System zu saugen.
Nur in einem Pfad liegen oft sehr viele, große Dateien, für die ich eine ProgressBar benötige, damit der User da keinen Blödsinn macht.
Der "normale" Download funktioniert einwandfrei, wenn ich über _FTP_FileGet() gehe.
Sobald ich das umbaue, um mit _FTP_ProgressDownload() an die Dateien zu kommen, dann macht der Blödsinn.
Hier die Teilscripte:
(Alle Vars sind natürlich gesetzt und die FTP-Verbindung ordentlich geöffnet und nach dem DL wieder geschlossen. )
Spoiler anzeigen
$slot = ''
_FTP_DirSetCurrent($hConn, $trackpath)
ConsoleWrite("$trackpath = " & $trackpath & @CRLF)
$ftpFile2 = _FTP_ListToArray($hConn, 2)
If IsArray($ftpFile2) Then
For $q = 1 To $ftpFile2[0]
$right2 = StringRight($ftpFile2[$q], 4)
If $right2 = $trackname Then
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $ftpFile2[$p] = ' & $ftpFile2[$q] & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
ProgBar()
If @error Then
SlotError()
EndIf
If $right2 = $trackpath Then
_FTP_FileDelete($hConn, $ftpFile2[$q])
If @error Then
MsgBox(16, "Error", "Could not clean up on " & $slot & " !" & @CRLF & "Please delete files manually!" _
& @CRLF & @CRLF & "Files are stored in " & $directory & $timestamp, 10)
EndIf
EndIf
EndIf
Next
EndIf
Alles anzeigen
und hier dann die Funcs für die ProgressBar:
Spoiler anzeigen
;=========== Show Progress Bar for FTP download
Func ProgBar()
Local $fuFunctionToCall = _UpdateProgress
Local $Progress_File = $ftpFile2[$q]
ConsoleWrite (" Progress_File = " & $Progress_File & @CRLF)
ProgressOn("Download ", $Progress_File)
ConsoleWrite("Download : " & $ftpFile2[$q] & @CRLF)
_FTP_ProgressDownload($hConn, $directory & $timestamp & "\" & $Progress_File, $ftpFile2[$q], $fuFunctionToCall)
ProgressOff()
EndFunc ;==>Example
Func _UpdateProgress($iPercent)
ProgressSet($iPercent, $iPercent & "%")
Return 1
EndFunc ;==>_UpdateProgress
Alles anzeigen
Die Console gibt mir bei:
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $ftpFile2[$p] = ' & $ftpFile2[$q] & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
den Namen der Datei aus: @@ Debug(147) : $ftpFile2[$p] = log000.trk
Innerhalb der ProgBar() kommt dann aber bei: ConsoleWrite (" Progress_File = " & $Progress_File & @CRLF) kommt dann Mist:
Progress_File = 2
Download : 2
Was habe ich da für einen Denkfehler???