Delphi-PRAXiS
Seite 2 von 5     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Dateien von einem Ftp server runter/hochladen (https://www.delphipraxis.net/101401-dateien-von-einem-ftp-server-runter-hochladen.html)

stifflersmom 13. Okt 2007 17:32

Re: Dateien von einem Ftp server runter/hochladen
 
Schau Dir doch einfach mal die OH zu den Indy-Komponenten an,
da wirst Du schon weiter kommen.

Als kleiner Tipp:

Idftp1.Get eingeben und mit Strg+Leer die dazugehörigen Parameter anzeigen

Moin

Apollonius 13. Okt 2007 17:36

Re: Dateien von einem Ftp server runter/hochladen
 
Oben war eigentlich schon alles richtig. Der SaveDialog1 muss nur vorher mit .Execute mal geöffnet werden, sonst steht in .Filename natürlich nichts drin.

Time2Play 13. Okt 2007 19:21

Re: Dateien von einem Ftp server runter/hochladen
 
Okay danke schonmal werde das nacher mal ausprobieren hab immoment keine zeit.

Also:

IdFTP1.Get(Name, SaveDialog1.execute, SaveDialog1.FileName, true);

oder?

Luckie 13. Okt 2007 19:25

Re: Dateien von einem Ftp server runter/hochladen
 
Nein:
Delphi-Quellcode:
if SaveDialog1.Execute then
  IdFTP1.Get(Name, SaveDialog1.FileName, true);

Time2Play 13. Okt 2007 19:46

Re: Dateien von einem Ftp server runter/hochladen
 
achso ok, danke :)

Time2Play 14. Okt 2007 12:56

Re: Dateien von einem Ftp server runter/hochladen
 
Ok habs so probiert und es öffnet sich auch ein savedialog, ich hab einen namen eingegeben und wollte es runterladen, dann kam aber ein EidProtocolReplyError. Meldung: "File not found."

Muss ich noch den Transfertyp angeben oder wieso findet er die File net?

Hier nochmal der bisherige Code:

procedure TForm1.connectbutClick(Sender: TObject);
var i:integer;
name:string;
begin
if idftp1.connected=false then begin
idftp1.Username:='admin';
idftp1.password:='******';
idftp1.Host:='127.0.0.1';
idftp1.connect;
IdFTP1.List(ListBox1.Items);
for i:=0 to Listbox1.Count-1 do begin
name:=listbox1.Items[i];
listbox2.Items.Add(name);
if SaveDialog1.Execute then
IdFTP1.Get(Name, SaveDialog1.FileName, true);
end
end;
end;

EDIT: Also ich sehe wenn sich der savedialog öffnet auch genau die erste File in der Listbox 2.
Also mit der for und der if schleife klappt alles, nur das runterladen funzt noch net ganz.

Achja kann ich das ganze auch runterladen ohne das sich ein savedialog öffnet?
Er es also einfach unter nem bestimmten Namen speichert.
Also vllt: savename:=name+i;
Dann hätte ich bei jeder Datei automatisch n anderen Namen und es würde sich nix überschreiben.

Sry bin noch n Noob was Delphi angeht.

p.abend 15. Okt 2007 12:50

Re: Dateien von einem Ftp server runter/hochladen
 
Natürlich kannst du das auch ohne SaveDialog machen... aber du musst schon selber wissen wie die Dateien heißen sollen. Ich verstehe nicht so ganz, du lädst ja Dateien herunter um sie wieder hochzuladen. Wenn ich davon ausgehe das es sich um HTML Dateien und Bilder handelt, wäre es doch Blödsinn die Dateien umzubenennen.

Delphi-Quellcode:
...
 IdFTP1.Get(Name, {einfach hier deinen Dateinamen hin}, true);
...

Time2Play 15. Okt 2007 22:14

Re: Dateien von einem Ftp server runter/hochladen
 
Also es handelt sich um pdf dateien.

Ja ich wusste net ob er die so abspeichert wie sie heißen oder ob man n extra namen angeben muss.

Naja die error meldung kommt halt immernoch wie oben beschrieben.

Time2Play 18. Okt 2007 12:15

Re: Dateien von einem Ftp server runter/hochladen
 
Ich komm einfach nicht weiter immer kommt der oben genannte Fehler, was stimmt an dem Code nicht?

Und wo finde ich eigentlich die indy demos von denen hier immer geredet wird?

danke schonmal im vorraus

Time2Play 22. Okt 2007 14:55

Re: Dateien von einem Ftp server runter/hochladen
 
Gibt es hier keinen der sich mit den Ftp Indy Komponenten auskennt?
Bitte ich muss das in dieser Woche fertig kriegen und ich bin immernoch kein Stück weitergekommen.
Ich kann die Dateien einfach net runterladen.
Der savedialog öffnet sich, wenn ich die Datei dann aber speichern und halt runterladen will kommt die Meldung: EidProtocolReplyError. Meldung: "File not found."

Code:
procedure TForm1.connectbutClick(Sender: TObject);
var i:integer;
name:string;
begin
if idftp1.connected=false then begin
idftp1.Username:='admin';
idftp1.password:='******';
idftp1.Host:='127.0.0.1';
idftp1.connect;
IdFTP1.List(ListBox1.Items);
for i:=0 to Listbox1.Count-1 do begin
name:=listbox1.Items[i];
listbox2.Items.Add(name);
if SaveDialog1.Execute then
IdFTP1.Get(Name, SaveDialog1.FileName, true);
end
end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:20 Uhr.
Seite 2 von 5     12 34     Letzte »    

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