![]() |
Re: IDFtp + Download +Dir
öhm... wo ist denn da das Problem? du musst doch nur zwei Zeilen von deinem Code vertauschen und da woe bei dir Exit; steht stattdessen Continue; hinschreiben?
Delphi-Quellcode:
If FileExists(stl[i]) Then
Continue; idftp1.Get(stl[i], 'c:\Test\' + stl[i]); |
Re: IDFtp + Download +Dir
das funktioniert nicht ... deshalb
|
Re: IDFtp + Download +Dir
mittlerweile mache ich es so,
das mit dem fileexists funktioniert aber auch hier nicht..
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var i: Integer; MyListing: TStringList; begin if TransferringData then Form1.idFTP1.Abort; if Form1.IdFTP1.Connected then Form1.IdFTP1.Disconnect; try with IdFTP1 do begin Connect; if Connected then begin ChangeDir('/test/leer/'); MyListing := TStringList.Create; List(MyListing, '*.txt', True); for i := 0 to DirectoryListing.Count - 1 do with DirectoryListing[i] do begin Application.ProcessMessages; ProgressBar1.Max := Size; Label1.Caption := 'Downloading ' + FileName + ' (' + IntToStr(Size) + ' bytes)'; if FileExists(Filename) then Continue; Get(FileName, DestinationFolder + '\' + FileName, True, True); end; Disconnect; ProgressBar1.Max := 0; Label1.Caption := ''; end; end; except; end; end; |
Re: IDFtp + Download +Dir
Hallo Horst,
ich kenne Get nicht auswendig, aber falls FileExists nicht funktioniert, dann daher, weil Du mit dieser Funktion das File das Du mit Get in ein Verzeichnis speicherst prüfen solltest.
Delphi-Quellcode:
Probiere mal, sonst schreibe was nicht geht...
...
if FileExists(DestinationFolder + '\' + FileName) then Continue; Get(FileName, DestinationFolder + '\' + FileName, True, True); ... |
Re: IDFtp + Download +Dir
jajajajaja......
es klappt ;) ;) doch nicht s. nächste seite... |
Re: IDFtp + Download +Dir
ich war zu voreilig...nun läd der nix mehr runter, weil die dateien ja schon im ordner sind
|
Re: IDFtp + Download +Dir
Zum einen erst mal zu deinem neuen Code: Du hast
Delphi-Quellcode:
vergessen.
MyListing := TStringlist.Create;
try finally MyListing.Free; // Das hier ist wichtig end; Zum anderen: Das bleibt natürlich dir überlassen. Entweder kannst du bei If FileExists() ja dann ein DeleteFile() einbauen oder du gibts der Datei einen neuen Namen mit RenameFile() |
Re: IDFtp + Download +Dir
bigthx für deinen hinweis, wie überschreiben geht nicht?
ich lösche sie nun vorher ;) |
Re: IDFtp + Download +Dir
Mit deinem neuen Code würde auch das gehen, dafür sorgt das erste true bei Get(). Wenn du die Dateien also immer nur überschreiben willst, kannst du das FileExists() wieder wegmachen, musste halt nur das erste true bei Get() dalasssen.
PS: Das zweite true bei Get() sorgt übrigens dafür, das eine existierende Datei, die noch nicht vollständig geladen wurde, an der Stelle weitergeladen wird, wo sie zuletzt aufgehört hat (Resume halt). |
Re: IDFtp + Download +Dir
deine erklärungen kamen genau richtig... bigthx
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz