Hallo!
Bin AutoIt-Anfänger und suche nach einer aktuellen miniftp.au3, bei der die UDFs zu der aktuellen FTP_Ex.au3 passt.
Wo muss ich danach suchen?
MfG
Friedhelm
Hallo!
Bin AutoIt-Anfänger und suche nach einer aktuellen miniftp.au3, bei der die UDFs zu der aktuellen FTP_Ex.au3 passt.
Wo muss ich danach suchen?
MfG
Friedhelm
Bevor man etwas sucht sollte man erstmal wissen was man sucht und es danach in Suchmaschinen freundliche Worte packen. Bei letzterem kann man dir hier ggf. helfen, aber das "was" wurde mir aus deinem Beitrag nicht wirklich klar. Autoit beinhaltet doch bereits eine FTP UDF, also was genau suchst du nun?
Hallo misterspeed.
Wenn ich noch nicht die richtige Forumssprache gefunden habe: ich übe noch. Bin lernfähig.
Ich möchte die miniFTP.au3 von Alexander Imka (Mini FTP Client - vorstellung) benutzen. Die aus dem Forumsbeitrag herunter geladene Version verwendet aber andere Scriptnamen als das aktuelle AutoIt in der FTPEx.au3.
Nach mühsamer Anpassung der Namen läuft zwar das Script, aber das Download-Fenster bleibt leer.
Ich dachte mir, das es wohl irgendwo eine aktuellle Version von der miniFTP.au3 gibt, die die richtigen UDF-Namen enthät und dann auch richtig funktioniert.
Wenn nicht, muß ich mir wohl das Script Schritt für Schritt erarbeiten und dabei AutoIt und FTP besser kennen lernen..
MfG
Friedhelm
Ich denke, da wirst du selber dran werkeln müssen. Jonathan ist schon ewig nicht mehr aktiv im Forum.
Dann also ans Werkeln. Danke für die Rückmeldung.
Funktioniert doch. Musste nur die Funktionsnamen anpassen. Am Anfang hab ich dann noch den passiv mode aktiviert und die Möglichkeit eines abweichenden Ports berücksichtigt. Was allerdings nicht funktioniert ist der Download eines ganzen Ordners. Man kann damit im Moment nur einzelne Dateien direkt im Stammverzeichnis herunterladen, mehr hatte der ursprüngliche Autor des "FTP Clients" wohl nicht beabsichtigt. Meiner Meinung nach unbrauchbar. Wozu gibt es Filezilla und co. ?
Ob die restlichen Funktionen so noch funktionieren habe ich nicht getestet. Das requireadmin am Scriptanfang dürfte im übrigen überflüssig sein. Ich sehe nichts im Script das Adminrechte benötigen würde.
;Copyright Alexander Imka ©
#RequireAdmin
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <FTPEx.au3>
$serveradresse = "************"
$port = 21
$passivemode = 1 ; default 0
$username = "************"
$passwort = "************"
$open = _FTP_Open("Homeworker by Alex")
$connection = _FTP_Connect($open,$serveradresse,$username,$passwort,$passivemode,$port)
$filelist = _Ftp_ListToArray2D ($connection)
;GUI CODE STARTET HIER;
$Gui = GUICreate("mini FTP Client",310,500)
$header = GUICtrlCreateLabel("Datei auswählen",65,10)
$liste = GUICtrlCreateList("",20,30,200,450)
$downloadbutton = GUICtrlCreateButton("Download",235,30,55,50)
$uploadbutton = GUICtrlCreateButton("Upload",235,100,55,50)
$filedel = GUICtrlCreateButton("Delete",235,170,55,50)
$refresh = GUICtrlCreateButton("Refresh",235,240,55,50)
$rename = GUICtrlCreateButton("Rename",235,310,55,50)
For $i = 1 to UBound ($filelist) -1
GUICtrlSetData ($liste, $filelist [$i][0]&"|")
Next
GUISetState(@SW_SHOW)
;GUI CODE ENDET HIER;
while 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
_FTP_Close($connection)
;_FTP_UnInit()
Exit
Case $DownloadButton
$DownFile = GUICtrlRead ($liste)
If $DownFile = "" Then
MsgBox (16, "STOP", "Du musst erst eine Datei auswählen")
Else
DirCreate (@ScriptDir&"\Download")
_FTP_ProgressDownload($connection, @ScriptDir&"\Download\"&$DownFile, "/"&$DownFile)
EndIf
Case $uploadbutton
$UploadPfad = FileOpenDialog("Auswählen",@ScriptDir,"Alle (*.*)")
If $UploadPfad = "" Then
MsgBox (0, "Achtung!", "Erst eine Datei auswählen!")
Else
$dateinamensplit = StringSplit($UploadPfad,"\")
$teile = $dateinamensplit[0]
Global $UploadVorgang = _FTP_ProgressUpload($connection, $UploadPfad, "/"&$dateinamensplit[$teile])
If $UploadVorgang = 1 Then
MsgBox (64, "Okay", "hochladen erfolgreich")
GUICtrlDelete($liste)
$open = _FTP_Open("Homeworker by Alex")
$connection = _FTP_Connect($open,$serveradresse,$username,$passwort)
$filelist = _Ftp_ListToArray2D ($connection,0,0x80000000)
$liste = GUICtrlCreateList("",20,30,200,450)
For $i = 1 to UBound ($filelist) -1
GUICtrlSetData ($liste, $filelist [$i][0]&"|")
Next
Else
MsgBox (16, "Error", "Aufgrund eines Fehlers wird das Programm beendet!")
Exit
EndIf
EndIf
Case $filedel
$del = MsgBox(52,"Aktion bestätigen","Die datei " & GUICtrlRead($liste) & " wirklich löschen?")
if $del = 6 Then
$s_RemoteFile = GUICtrlRead($liste)
_FTP_FileDelete($connection, $s_RemoteFile)
MsgBox(64,"ok","Ok, Die Datei wurde erfolgreich gelöscht")
GUICtrlDelete($liste)
$open = _FTP_Open("Homeworker by Alex")
$connection = _FTP_Connect($open,$serveradresse,$username,$passwort)
$filelist = _Ftp_ListToArray2D ($connection,0,0x80000000)
$liste = GUICtrlCreateList("",20,30,200,450)
For $i = 1 to UBound ($filelist) -1
GUICtrlSetData ($liste, $filelist [$i][0]&"|")
Next
Else
MsgBox(16,"abbruch","Aktion abgebrochen")
EndIf
Case $refresh
GUICtrlDelete($liste)
$open = _FTP_Open("Homeworker by Alex")
$connection = _FTP_Connect($open,$serveradresse,$username,$passwort)
$filelist = _Ftp_ListToArray2D ($connection,0,0x80000000)
$liste = GUICtrlCreateList("",20,30,200,450)
For $i = 1 to UBound ($filelist) -1
GUICtrlSetData ($liste, $filelist [$i][0]&"|")
Next
MsgBox(0,"ok","Erfolgreich aktualisiert")
;~ MsgBox(64,"nönö","schon vergessen? das geht noch nit!")
Case $rename
$s_Existing = GUICtrlRead($liste)
$s_New = InputBox("Rename","in welchen Namen soll die Datei umbenannt werden?",$s_Existing)
if Not @error then
_FTP_FileRename($connection, $s_Existing, $s_New)
MsgBox(0,"ok","Die Datei wurde umbeannt")
GUICtrlDelete($liste)
$open = _FTP_Open("Homeworker by Alex")
$connection = _FTP_Connect($open,$serveradresse,$username,$passwort)
$filelist = _Ftp_ListToArray2D ($connection,0,0x80000000)
$liste = GUICtrlCreateList("",20,30,200,450)
For $i = 1 to UBound ($filelist) -1
GUICtrlSetData ($liste, $filelist [$i][0]&"|")
Next
Else
MsgBox(64,"oioi","Aktion abgebrochen!")
EndIf
EndSwitch
WEnd
Hallo Friedhelm39,
ich habe auf die Schnelle (C&P) die miniFTP aktualisiert:
;Copyright Alexander Imka ©
#RequireAdmin
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <FTPEx.au3>
$serveradresse = "ftp.csx.cam.ac.uk"
$username = ""
$passwort = ""
$open = _FTP_Open("Homeworker by Alex")
$connection = _FTP_Connect($open, 'ftp.csx.cam.ac.uk', '', '', 0)
$filelist = _Ftp_ListToArray($connection)
;GUI CODE STARTET HIER;
$Gui = GUICreate("mini FTP Client",310,500)
$header = GUICtrlCreateLabel("Datei auswählen",65,10)
$liste = GUICtrlCreateList("",20,30,200,450)
$downloadbutton = GUICtrlCreateButton("Download",235,30,55,50)
$uploadbutton = GUICtrlCreateButton("Upload",235,100,55,50)
$filedel = GUICtrlCreateButton("Delete",235,170,55,50)
$refresh = GUICtrlCreateButton("Refresh",235,240,55,50)
$rename = GUICtrlCreateButton("Rename",235,310,55,50)
For $i = 1 to UBound ($filelist) -1
GUICtrlSetData ($liste, $filelist [$i]&"|")
Next
GUISetState(@SW_SHOW)
;GUI CODE ENDET HIER;
while 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
_FTP_Close($connection)
Exit
Case $DownloadButton
$DownFile = GUICtrlRead ($liste)
If $DownFile = "" Then
MsgBox (16, "STOP", "Du musst erst eine Datei auswählen")
Else
DirCreate (@ScriptDir&"\Download")
_FTP_ProgressDownload($connection, @ScriptDir&"\Download\"&$DownFile, "/"&$DownFile)
EndIf
Case $uploadbutton
$UploadPfad = FileOpenDialog("Auswählen",@ScriptDir,"Alle (*.*)")
If $UploadPfad = "" Then
MsgBox (0, "Achtung!", "Erst eine Datei auswählen!")
Else
$dateinamensplit = StringSplit($UploadPfad,"\")
$teile = $dateinamensplit[0]
Global $UploadVorgang = _FTP_ProgressUpload($connection, $UploadPfad, "/"&$dateinamensplit[$teile])
If $UploadVorgang = 1 Then
MsgBox (64, "Okay", "hochladen erfolgreich")
GUICtrlDelete($liste)
$open = _FTP_Open("Homeworker by Alex")
$connection = _FTP_Connect($open,$serveradresse,$username,$passwort)
$filelist = _Ftp_ListToArray ($connection,0,0x80000000)
$liste = GUICtrlCreateList("",20,30,200,450)
For $i = 1 to UBound ($filelist) -1
GUICtrlSetData ($liste, $filelist [$i]&"|")
Next
Else
MsgBox (16, "Error", "Aufgrund eines Fehlers wird das Programm beendet!")
Exit
EndIf
EndIf
Case $filedel
$del = MsgBox(52,"Aktion bestätigen","Die datei " & GUICtrlRead($liste) & " wirklich löschen?")
if $del = 6 Then
$s_RemoteFile = GUICtrlRead($liste)
_FTP_FileDelete($connection, $s_RemoteFile)
MsgBox(64,"ok","Ok, Die Datei wurde erfolgreich gelöscht")
GUICtrlDelete($liste)
$open = _FTP_Open("Homeworker by Alex")
$connection = _FTP_Connect($open,$serveradresse,$username,$passwort)
$filelist = _Ftp_ListToArray ($connection,0,0x80000000)
$liste = GUICtrlCreateList("",20,30,200,450)
For $i = 1 to UBound ($filelist) -1
GUICtrlSetData ($liste, $filelist [$i]&"|")
Next
Else
MsgBox(16,"abbruch","Aktion abgebrochen")
EndIf
Case $refresh
GUICtrlDelete($liste)
$open = _FTP_Open("Homeworker by Alex")
$connection = _FTP_Connect($open,$serveradresse,$username,$passwort)
$filelist = _Ftp_ListToArray ($connection,0,0x80000000)
$liste = GUICtrlCreateList("",20,30,200,450)
For $i = 1 to UBound ($filelist) -1
GUICtrlSetData ($liste, $filelist [$i]&"|")
Next
MsgBox(0,"ok","Erfolgreich aktualisiert")
;~ MsgBox(64,"nönö","schon vergessen? das geht noch nit!")
Case $rename
$s_Existing = GUICtrlRead($liste)
$s_New = InputBox("Rename","in welchen Namen soll die Datei umbenannt werden?",$s_Existing)
if Not @error then
_FTP_FileRename($connection, $s_Existing, $s_New)
MsgBox(0,"ok","Die Datei wurde umbeannt")
GUICtrlDelete($liste)
$open = _FTP_Open("Homeworker by Alex")
$connection = _FTP_Connect($open,$serveradresse,$username,$passwort)
$filelist = _Ftp_ListToArray ($connection,0,0x80000000)
$liste = GUICtrlCreateList("",20,30,200,450)
For $i = 1 to UBound ($filelist) -1
GUICtrlSetData ($liste, $filelist [$i]&"|")
Next
Else
MsgBox(64,"oioi","Aktion abgebrochen!")
EndIf
EndSwitch
WEnd
Zumindest unter 3.3.6.1 startet das Skript jetzt. Da ich von einem Bug in der aktuellen Stable bei _Ftp_ListToArray2D weis habe ich diese Funktion mit der weiterhin funktionierenden _Ftp_ListToArray getauscht. Da Jonathan eh nur die Dateinamen ausgewertet hat ist es für dieses Skript ein vollwertiger Ersatz. Den Download habe ich von einem öffentlichen Server getestet, er funktioniert. Die anderen Funktionen musst du noch testen, da ich derzeit keinen FTP zur Verfügung habe.
Edit: MisterSpeed hat seinem Namen Ehre gemacht.
mfg autoBert