Delphi-PRAXiS
Seite 1 von 5  1 23     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)

Time2Play 12. Okt 2007 14:28


Dateien von einem Ftp server runter/hochladen
 
Also ich habe folgendes Problem:

Ich möchte ein Programm schreiben, das beim click auf einen button oder vllt. auch immer nach einer bestimmten zeit automatisch alle dateien von einem bestimmten ftp server runterläd und diese dann auf einem anderen ftp server wieder hochläd, falls diese dort schon sind halt auch überschreibt. Wie mache ich das?

Ich kenn zwar die Befehle zum hoch/runterladen, allerdings krieg ich einfach nicht hin, dass er automatisch die namen der Dateien auf dem ftp server ausließt und diese dann runterläd.

[edit=SirThornberry]Programmiersprache von .NET auf Win32 geändert - Mfg, SirThornberry[/edit]

Apollonius 12. Okt 2007 14:32

Re: Dateien von einem Ftp server runter/hochladen
 
Willst du wirklich mit .NET arbeiten oder hast du dich da verklickt? Das kommt öfter mal vor
Wie lädtst du denn Dateien so runter? Mit den Indys?

Time2Play 12. Okt 2007 14:33

Re: Dateien von einem Ftp server runter/hochladen
 
Bin mir net sicher ^^ hab Borland Delphi 7

Ja ich benutze die Indy Komponenten

Apollonius 12. Okt 2007 14:39

Re: Dateien von einem Ftp server runter/hochladen
 
Okay, dann ist das Win32. Ich habe zwar noch nie mit FTP gearbeitet, aber hier heißt es, dass du mit .List die Verzeichnisse auflisten kannst.

Time2Play 12. Okt 2007 16:52

Re: Dateien von einem Ftp server runter/hochladen
 
Hab ich auch gemacht, aber iwie kann ich die dateien net runterladen

Time2Play 13. Okt 2007 15:24

Re: Dateien von einem Ftp server runter/hochladen
 
Hat keiner eine Idee?

Also ich möchte einfach mit IdFtp alle Dateien von einem Server herunterladen, um sie dann auf einem anderen Ftp Server wieder hochzuladen nur hab ich keine Ahnung wie ich das machen soll

1. Muss ich es iwie schaffen das alle Dateien runtergeladen werden, also außer list die Namen auslesen etc.

2. Muss ich die dateien ja iwo zwischenspeichern um sie dann wieder hochzuladen

Bitte helft mir, is wirklich wichtig (Schulprojekt) ich hab nem Lehrer zugesagt das ich das mache weil kein anderer in dieser Richtung wirklich was kann, hatte mir das aber n bissle leichter vorgestellt und verzweifel nun.

Apollonius 13. Okt 2007 15:44

Re: Dateien von einem Ftp server runter/hochladen
 
Was schaffst du denn jetzt nicht?
1. Auflisten der Dateien
2. Runterladen
3. Hochladen

Time2Play 13. Okt 2007 16:51

Re: Dateien von einem Ftp server runter/hochladen
 
Punkt 1 is kein Problem, hab alles in meiner Listbox aufgelistet. Nur Punkt 2 und 3 klappt net wirklich.

procedure TForm1.connectbutClick(Sender: TObject);
var i:integer;
name:string;
begin
if idftp1.connected=false then begin
idftp1.Username:='admin';
idftp1.password:='password';
idftp1.Host:='127.0.0.1';
idftp1.connect;
IdFTP1.List(ListBox.Items);
end
end;

Das is bisher der Code, ich weis nich genau wie ich die Namen der einzelnen Dateien rausfinde, dachte zuerst an sowas:

for i:=0 to Listbox.Count-1 do begin
name:=listbox.Items.Strings[i];
IdFTP1.Get(Name, SaveDialog1.FileName, true);
end

Aber dann kommt dieser Error:


Im Project Project1.exe ist eine Exception der Klasse EFCreateError aufgetreten. Meldung: 'Datei "" kann nicht erstellt werden. Das System kann den angegebenen Pfad nicht finden'.

stifflersmom 13. Okt 2007 16:57

Re: Dateien von einem Ftp server runter/hochladen
 
Den String bekommst aus Deiner Listbox bekommst Du mit:

Delphi-Quellcode:
Name := ListBox1.Items[i];
Dein "Strings" dabei ist überflüssig.

Time2Play 13. Okt 2007 17:22

Re: Dateien von einem Ftp server runter/hochladen
 
Ja hatte ich auch eigentlich, nur n bissle rumprobiert.

Also mit folgendem Code kann ich schonmal die Namen rausfinden:

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

Dann wird zwar in listbox2 genau das gleiche wie in listbox1 angezeigt aber ich kann immer jeweils nach einer Namensausgabe einen Befehl ausführen, sprich:

for i:=0 to Listbox1.Count-1 do begin
name:=listbox1.Items[i];
listbox2.Items.Add(name);
*Da könnte man dann die jeweilige Datei runterladen*
end

Ich verstehe einfach noch nicht ganz wie das dann mit dem runterladen und dem hochladen funzt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr.
Seite 1 von 5  1 23     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