Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi idFTP Folder Upload (https://www.delphipraxis.net/53440-idftp-folder-upload.html)

japetos 16. Sep 2005 16:26


idFTP Folder Upload
 
Hallo.
Wie kann ich statt einzelner Dateien ganze Verzeichnisse uploaden?

so siehts bisher aus:
Code:
IdFTP1.Put(JvOpenDialog1.FileName, ExtractFileName(JvOpenDialog1.FileName));

gsh 16. Sep 2005 16:37

Re: idFTP Folder Upload
 
durchsuch des verzeichniss und lade alle datein einzeln rauf. :wink:
Denn ich glaub nicht des es eine funktion dafür gibt

japetos 16. Sep 2005 16:38

Re: idFTP Folder Upload
 
???
Gibts da irgendwo ein Bsp.?
raff ich net.

gsh 16. Sep 2005 16:53

Re: idFTP Folder Upload
 
Hab ich mir gerade ausgedacht:

Delphi-Quellcode:
procedure VerzeichnissUploaden(Dir : string; Unterordner: Boolean = true; Filter : string = '*.*');
var
  SEARCH: TSearchRec;
  RES: integer;
begin
  Application.ProcessMessages;
  RES := findfirst(Dir+'\'+Filter,faanyfile-faDirectory,SEARCH);
  try
    while RES = 0 do
      begin
        if (SEARCH.Attr and faDirectory) = 0 then
          begin
            idFtp1.put(Dir + '\' + SEARCH.Name, SEARCH.Name);
            Application.ProcessMessages;
          end;
        RES := findnext(SEARCH);
      end;
  finally
    FindClose(SEARCH);
  end;
  if Unterordner = false then exit;
  RES := findfirst(Dir+'\'+'*.*',faanyfile,SEARCH);
  try
    while RES = 0 do
      begin
        if (SEARCH.Name <> '.') and (SEARCH.Name <> '..') and ((SEARCH.Attr and faDirectory) <> 0) then
        begin
          IdFTP1.ChangeDir(); //für die unterordner müsstes dir noch was überlegen
          DateienSuchen(Dir+'\'+SEARCH.Name, List, Unterordner, Filter);
        end;
        RES := findnext(SEARCH);
      end;
  finally
    findclose(SEARCH);
  end;
end;
Ungetestet

//edit: fehler ausgebessert

japetos 16. Sep 2005 16:55

Re: idFTP Folder Upload
 
:-D
nicht schlechty fuers gerade mal eben kurz ausdenken!!!

Merci. Schaus mir gleich an.

commandah 16. Sep 2005 16:57

Re: idFTP Folder Upload
 
z.B kannst du eine FileListBox nehmen und die eigenschaft dir dem gewählten Ordner zuweisen.
Dann müsste in dieser FileListBox die datein des Ordners stehen.
Dann könntest du in einer schleife die Datein hochladen.


FileListBox.dir:=ExtractFilePath(JvOpenDialog1.Fil eName);

while i<FileListBox.items.count do
begin
UploadFile(FileListBox.items.strings[i];
inc(i);
end;


irgendwie so müsste das dann aussehen

gsh 16. Sep 2005 17:59

Re: idFTP Folder Upload
 
@japetos: Naja die Search funktion hatte ich ja schon musst ich es also nur noch auf ftp umschreiben. Aber ich muss gestehen ich hab einen Fehler drinnen gehapt und zwar des mit List.add des kannst einfach löschen

@commandah: Bitte nutze die Delphi tags für quellcode

japetos 19. Sep 2005 16:45

Re: idFTP Folder Upload
 
@gsh

idFTP -> undeclared Identifier!!!
Das Teil spinnt wohl!!!

:freak:

gsh 19. Sep 2005 17:24

Re: idFTP Folder Upload
 
Du wirst die Komponente idFtp auf dein Formular legen müssen.

japetos 19. Sep 2005 17:29

Re: idFTP Folder Upload
 
tja,...

die liegt da ber schon seid ewigkeiten.
schon etwas merkwuerdig.

gsh 19. Sep 2005 17:33

Re: idFTP Folder Upload
 
wie hast du sie den genannt?

japetos 19. Sep 2005 17:37

Re: idFTP Folder Upload
 
idFTP1 ist der Name.
Und so stehts auch in der (deiner) procedure.

gsh 19. Sep 2005 17:55

Re: idFTP Folder Upload
 
des ist überhaupt nicht komisch mir ist nämlich gerade eingefallen warum:
weil die procedure nicht global definiert ist aber des ist nicht umbedingt nötig. du kannst es auch einfach machen und Form1.idFtp1. ....


PS: Es ist meine Procedure nur die Suchfunktion hab ich früher schon geschrieben gehapt.

japetos 19. Sep 2005 17:59

Re: idFTP Folder Upload
 
FUUUNZZZT!!!

Vielen, vielen Dank gsh

Man bekommt nicht so oft Hilfe (siehe andere Foren)

:-D

gsh 19. Sep 2005 18:06

Re: idFTP Folder Upload
 
immer gerne :zwinker:

japetos 19. Sep 2005 18:50

Re: idFTP Folder Upload
 
ok, letzte Frage.

Wie stelle ich es jetzt an, dass ich einen Ordner (Directory)
mittels OpenDialog auswaehlen kann?

Da kann man naemlich nur Dateien auswaehlen, oder?

Luckie 19. Sep 2005 18:53

Re: idFTP Folder Upload
 
Neue Frage, neuer Thread bitte.

Und wie man eine Ordner auswählen kann mittels eines Dialoges findest du in der Code-Lib.

Ich schließe hier vorsichtshalber.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:47 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