FTPDownload()
FTPDownload() – Downloaden eines Files von einem FTP-Server
Die Funktion lädt eine oder mehrere Dateien von einem FTP-Server herunter.
Die Funktion arbeitet case sensitive (trifft auch auf die Endungen der Dateien zu), außerdem wird die Datei auch im Fehlerfall lokal erstellt (0 kB).
Parameter | Beschreibung |
---|---|
aCaption:C | Titel |
aRemoteHost:C | IP oder Domain des Hosts |
aRemotePort:N | Port des Hosts |
aUserName:C | User-Name |
aPassword:C | Password |
aPassiveMode:L | Passiver Übertragungsmodus |
aFileList:U | Liste der Dateien |
aHostPath:C | RemotePath; default = Leerstring |
aLogFileName:C | Logfile schreiben; default = Leerstring |
aIncludeHostDir:L | Directorylist in TraceFile; default = false |
aTransferBinary:L | setzt den Transfertyp auf BINARY/ACSII, default = true = BINARY |
lShowMsg:L | Exceptions statt Messages; default = false |
aQuietMode:L | Kein Dialog anzeigen. Wenn in beas benutzt wird, ist aQuietMode IMMER true |
Rückgabewert
Numerisch
- 0 für korrekte Ausführung, ansonsten Fehler-Code
- 1 für Verbindungsfehler
- 2 für Fehler beim Verzeichniswechsel
- 3 u.a Datei nicht gefunden
- 5 für Vorgang abgebrochen
Achtung: FTP-Fehler können auch eine Exception auslösen!
Beispiel
| aResult, i, j, aHostFiles, aHostPath, aSourcePath,
aDestPath, aDestFile, aFileExt, aLogFile, aGetFiles, aLogTxt |
function ErrChk(aErrNo)
if aErrNo <> 0 then
ShowMessage('Error ' + Str(aErrNo)),
Abort(),
endif,
end,
aLogFile := 'C:\SICHERUNG\FTP_Test\MyFtpLog.txt',
aDestPath := 'C:\SICHERUNG\FTP_Test\Download\',
aSourcePath := 'C:\SICHERUNG\FTP_Test\Upload\',
aHostPath := 'Test',
if File(aLogFile) then
DeleteFile(aLogFile),
endif,
startseq,
WriteLn(aGetFiles),
ErrChk(aResult := FTPDownload('Hole Dateien vom FTP-Server', // Überschrift
'192.168.10.152', // RemoteHost
21, // RemotePort
'beuser', // UserName
'be32', // Password
.t., // PassivMode
{'C:\SICHERUNG\FTP_Test\BigDataDownload.pdf',
'C:\SICHERUNG\FTP_Test\DataDownload.pdf',
'C:\SICHERUNG\FTP_Test\TextDownload.txt'}, // ResultDir
aHostPath, // HostPath
aLogFile)), // LogFileName
onerror,
aResult := -1,
stopseq,
if !Empty(aResult) and LoadArray(aLogTxt, aLogFile) then
WriteLn(aLogTxt)
endif,
aResult