Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi IDFtp + Download +Dir (https://www.delphipraxis.net/11601-idftp-download-dir.html)

scp 10. Nov 2003 16:36

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]);

horst 10. Nov 2003 16:49

Re: IDFtp + Download +Dir
 
das funktioniert nicht ... deshalb

horst 10. Nov 2003 16:50

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;

APP 10. Nov 2003 17:00

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:
...
if FileExists(DestinationFolder + '\' + FileName) then
   Continue;
Get(FileName, DestinationFolder + '\' + FileName, True, True);
...
Probiere mal, sonst schreibe was nicht geht...

horst 10. Nov 2003 17:06

Re: IDFtp + Download +Dir
 
jajajajaja......
es klappt ;) ;)

doch nicht s. nächste seite...

horst 10. Nov 2003 17:08

Re: IDFtp + Download +Dir
 
ich war zu voreilig...nun läd der nix mehr runter, weil die dateien ja schon im ordner sind

scp 10. Nov 2003 17:22

Re: IDFtp + Download +Dir
 
Zum einen erst mal zu deinem neuen Code: Du hast
Delphi-Quellcode:
MyListing := TStringlist.Create;
try
finally
  MyListing.Free; // Das hier ist wichtig
end;
vergessen.

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()

horst 10. Nov 2003 17:31

Re: IDFtp + Download +Dir
 
bigthx für deinen hinweis, wie überschreiben geht nicht?
ich lösche sie nun vorher ;)

scp 10. Nov 2003 17:46

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).

horst 10. Nov 2003 17:49

Re: IDFtp + Download +Dir
 
deine erklärungen kamen genau richtig... bigthx


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:33 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz