Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy FTP Get Probleme (https://www.delphipraxis.net/73856-indy-ftp-get-probleme.html)

hedie 24. Jul 2006 22:56


Indy FTP Get Probleme
 
Hallo

Ich wollte miT idFTP etwas Doenloaden bei einem anderen von mir geschriebenem Programm kein Problem doch diesmal klappt es irgendwie nicht ich habe schon alles mögliche versucht um den fehler zu finden

bitte helft mir

Der Code:
Delphi-Quellcode:
procedure TForm1.Button5Click(Sender: TObject);
begin
FTP.Get(Listbox1.Items.GetText,Listbox1.Items.GetText);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
FTP.Host := ('*********');
FTP.Username := ('********');
FTP.Password := ('*******');
FTP.Connect;
end;
Verbunden ist sie das hab ich getestet (hat noch andere funktionen mein Programm)

Immer wenn ich nun den Button klicke kommt "Destination File Already Exist"


woran liegt das?

Ich hoffe ihr helft mir rasch
danke


liebe grüsse
Claudio

Zacherl 24. Jul 2006 23:18

Re: Indy FTP Get Probleme
 
Das bedeutet, dass die Datei, unter dessen Namen du die gedownloadete Datei speichern willst schon existiert.

hedie 24. Jul 2006 23:19

Re: Indy FTP Get Probleme
 
ja aber das merkwürdige ist dass keine solche datei existiert

Zacherl 24. Jul 2006 23:19

Re: Indy FTP Get Probleme
 
Was steht denn in deiner ListBox?

hedie 24. Jul 2006 23:23

Re: Indy FTP Get Probleme
 
Da stehen 3 Items also zum beispiel so

dsjhdsj.vfl
sdsdds.vfl
sdsdsds.vfl
nun soll man über das anklicken der datein in der list box und das klicken des buttons die datei herunterladen können

Zacherl 24. Jul 2006 23:27

Re: Indy FTP Get Probleme
 
Woher stammen denn die Datei-Informationen? Vom FTP Server? Versuch mal folgendes:
Delphi-Quellcode:
var
  SaveFilename: string;
begin
  SaveFilename := extractfilepath(Application.Exename) + ExtractFileName(Listbox1.Items.GetText);
  if FileExists(SaveFilename) then
    DeleteFile(SaveFilename);
  FTP.Get(Listbox1.Items.GetText, SaveFilename);
end;

hedie 24. Jul 2006 23:29

Re: Indy FTP Get Probleme
 
da kommt die gleiche meldung

obwohl wie ich gesehen habe das programm die datei dann eigentlich entfernen würde

Ja also die dateien sind auf dem ftp und wurden vorher mit einem list befehl gelistet

hedie 24. Jul 2006 23:33

Re: Indy FTP Get Probleme
 
also das problem ist das es nicht nur das ausgewählte ausgibt sondern alle im^n der listbox befindlichen objekte namen im Filename stehen

nur mit 2 viereckchen getrent

Wie kann ich die auswahl der listbox auslesen?

Zacherl 24. Jul 2006 23:34

Re: Indy FTP Get Probleme
 
Achso dann verwende statt Listbox1.Items.GetText mal ListBox1.Items[ListBox1.ItemIndex]

Dies sollte nun entgültig gehen.
Gute Nacht.

Florian

hedie 24. Jul 2006 23:37

Re: Indy FTP Get Probleme
 
Der Code Sieht nun so aus

Delphi-Quellcode:
procedure TForm1.Button5Click(Sender: TObject);
var
  SaveFilename: string;
begin
  SaveFilename := extractfilepath(Application.Exename) + ExtractFileName(ListBox1.Items[ListBox1.ItemIndex] );
  if FileExists(SaveFilename) then
    DeleteFile(SaveFilename);
  FTP.Get(ListBox1.Items[ListBox1.ItemIndex], SaveFilename);
memo2.Lines.LoadFromFile(edit1.Text + ('.vfl'));
end;
aber diese meldung kommt immer noch :wall:

hedie 24. Jul 2006 23:42

Re: Indy FTP Get Probleme
 
Im grunde geht es nur darum die Datei in einer Memo anzeigen zu lassen (iss nur ne txt)

fkerber 24. Jul 2006 23:52

Re: Indy FTP Get Probleme
 
Hi!

Eine Bitte, Hedie:
Du kannst deine Beiträge auch editieren, wenn du einen Kommentar hinzufügen möchtest. Einfach oben rechts auf Edit klicken - solche Doppelposts sind eher ungern gesehen! Danke!


Ciao, Frederic

Klaus01 25. Jul 2006 07:08

Re: Indy FTP Get Probleme
 
Guten Morgen Hedie,


Zitat:

Zitat von hedie
Der Code Sieht nun so aus

Delphi-Quellcode:
procedure TForm1.Button5Click(Sender: TObject);
var
  SaveFilename: string;
begin
  SaveFilename := extractfilepath(Application.Exename) + ExtractFileName(ListBox1.Items[ListBox1.ItemIndex] );
  if FileExists(SaveFilename) then
    DeleteFile(SaveFilename);
  FTP.Get(ListBox1.Items[ListBox1.ItemIndex], SaveFilename);
memo2.Lines.LoadFromFile(edit1.Text + ('.vfl'));
end;
aber diese meldung kommt immer noch :wall:

Die Datei existiert bereits auf dem FTP-Server, denn
Zitat:

TIdFTP.Get

Description

This command downloads a file to the FTP server with the name ASourceFile. Setting the AAppend to True causes the TIdFTP to append the file being downloaded to one which exists on the local machine. The file being downloaded could be either a stream (ADest) or a file name (ADestFile) which TIdFTP can create.
Du müsstest also überprüfen, ob die Datei schon auf dem Server liegt.

Grüße
Klaus

Zacherl 25. Jul 2006 11:12

Re: Indy FTP Get Probleme
 
Wieso sollte die zu downloadende Datei nicht auf dem FTP Server vorhanden sein? Wie will man sie sonst downloaden? :wink:
Der Fehler ist ja auch "destination file already exists", was ja soviel wie "Die Zieldatei existiert bereits" bedeutet. Der FTP Client meckert also, dass die Datei lokal schon vorhanden ist. Warum das so ist kann ich aber auch nicht sagen ...

Vielleicht könntest du dein Projekt mal anhängen.

(Zum laden des Memos mal das versuchen ;) )
Delphi-Quellcode:
procedure TForm1.Button5Click(Sender: TObject);
var
  SaveFilename: string;
begin
  SaveFilename := extractfilepath(Application.Exename) + ExtractFileName(ListBox1.Items[ListBox1.ItemIndex] );
  if FileExists(SaveFilename) then
    DeleteFile(SaveFilename);

  FTP.Get(ListBox1.Items[ListBox1.ItemIndex], SaveFilename);
  Memo2.Lines.LoadFromFile([b]SaveFilename[/b]);
end;

Klaus01 25. Jul 2006 12:32

Re: Indy FTP Get Probleme
 
@Florian

Asche auf meine Haupt, Du hast natürlich recht.
Ich will es jetzt nicht auf die Hitze schieben.

Grüße
Klaus

Andidreas 27. Jul 2006 15:08

Re: Indy FTP Get Probleme
 
von ftp.get gibt es 3 varianten...

bei einer variante kannst du angeben ob eine datei die im zielverzeichnis bereits vorhanden ist überschrieben werden soll...
schau mal in die borland hilfe mit dem stichwort TIdFTP da findest die beschreibung


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