22. november 2012 - 08:59Der er
4 kommentarer og 1 løsning
Download via FTP
Jeg er på udkig efter et eksempel på hvordan man kan downloade en bestemt fil fra en FTP server med delphi/Indy Jeg er specielt på udkig efter et eksempel på hvordan man får fremskridt i download vist på en progressbar
Jeg har fundet flere eksempler på download og det kan jeg som sådan godt få til at virke, men ikke lige det med progress
Mød en af Nordens fremmeste eksperter i adfærdsdesign – Morten Münster, der bl.a. har skrevet ” Jytte fra marketing er desværre gået for i dag” – på Computerworld Cloud & AI Festival.
Problemet ligger åbenbart i at man ikke kan regne med at aWorkCountMax indeholder den rigtige værdi når FTP begynder. Man er derfor nødt til at snyde og finde størrelsen på filen på anden vis (som beskrevet i link fra kroning - så et svar)
Her er et par udpluk af min løsning som nu ser ud til at virke efter hensigten.
FileCount := idFTP.DirectoryListing.Count; try for intX := 0 To FileCount - 1 do begin if idFTP.DirectoryListing.Items[intX].ItemType = ditFile then begin FileName := idFTP.DirectoryListing.Items[intX].FileName; if FileName = Settings.Runtime.FileRemote then begin barProgress.Max := idFTP.DirectoryListing.Items[intX].Size; try idFTP.Get(FileName, Settings.Ftp.FolderLocal + FileName, True); Log('FTP download: '+ FileName); except Log('Error getting file: ' + FileName); end; end; end; end; finally idFTP.Abort; idFTP.Disconnect; end;
@anton jeg kan godt se fidusen i din kode men da det her kun er til at hente en opdatering af et program fra min FTP server, så forsøger jeg at lave et KISS program :-)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.