Hallo,
kennt sich eventuell jemand mit ICS aus? Ich suche schon ewig nach einer Möglichkeit, einen kompletten Ordner hoch/herunterzuladen...
Bisher ohne erfolg, Demo's gibt es ja genug nur leider immer wieder ohne die obige Möglichkeit.
Ich denke mal das ich eine art der recursion brauche, nur mir ist nicht klar wie man das realisiert, ich kapiers nicht wirklich...
Ich hab nur einen Code-Schnippsel zu Indy gefunden bisher, leider nur zum hochladen eines Ordners, nur Indy benutz ich nicht, hab von so vielen Nachteilen gehört, das ich die Finger davon gelassen habe und zu ICS gewechselt bin.
Wen es interessiert:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39:
| procedure TForm1.TransferDirectory(ADir: String; ASubDirs: Boolean = True); var Dir: String; iIndex : Integer; SearchRec : TSearchRec; begin Dir := IncludeTrailingPathDelimiter(ADir); FillChar(SearchRec,SizeOf(SearchRec),0); if FindFirst(Dir + '*.*', faAnyFile, SearchRec) = 0 then begin try repeat if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then begin if ((SearchRec.Attr and faAnyFile > 0) or (SearchRec.Attr = 0)) then begin if ASubDirs then begin if SearchRec.Attr and faDirectory <> 0 then begin IdFTP1.MakeDir(SearchRec.Name); IdFTP1.ChangeDir(SearchRec.Name); TransferDirectory(Dir + SearchRec.Name); end else IdFTP1.Put(Dir + SearchRec.Name, SearchRec.Name); end else IdFTP1.Put(Dir + SearchRec.Name, SearchRec.Name); end; end; until FindNext(SearchRec) <> 0; finally FindClose(SearchRec); end; end; end; |
Danke!
s!