Delphi-PRAXiS
Seite 3 von 5     123 45      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi FTP-Server abfrage? (https://www.delphipraxis.net/111621-ftp-server-abfrage.html)

Jiro 11. Apr 2008 14:28

Re: FTP-Server abfrage?
 
Ich hab keeine Ahnung :-D aber hauptsache es klappt. Ich hab jetzt aber erst gemerkt wie viel aufwand das mit dem lateinlernproggi ist :roteyes: :roteyes:

Jiro 11. Apr 2008 18:02

Re: FTP-Server abfrage?
 
Jetzt hab ich diesen Text hier
Delphi-Quellcode:
procedure TForm5.Button1Click(Sender: TObject);
begin
idftp.Host:='niklas-nelson.de';
idftp.Username:='*meinUsername*';
idftp.Password:='*meinPW*';
try
   idftp.Connect();
   idftp.ChangeDir('/htdocs/programme/latein/');
   if idftp.Size('test.html') > 0 then
        begin
     showMessage('Update verfügbar! (auf Version 1.1)');
     ShellExecute(0, 'open', pchar('http://niklas-nelson.de/programme/latein/test.exe'), nil, nil, SW_SHOWNORMAL);
         end
   else
     showMessage('Es gibt momentan kein Update');
   idftp.Disconnect;
except
  on E: EidProtocolReplyError do
    begin
      ShowMessage(e.Message+' ReplyErrorCode: '+IntToStr(e.ReplyErrorCode));
    end;
end;
end;
und ich habe eine test.html mit 280kb auf dem Server angelegt, trotzdem zeigt das Programm kein Update verfügbar. Die Ordener Programme und Latein scheint er nicht zu finden, es kommt aber auch keine Folder not found meldung.

Klaus01 11. Apr 2008 18:26

Re: FTP-Server abfrage?
 
Delphi-Quellcode:
procedure TForm5.Button1Click(Sender: TObject);
begin
  idftp.Host:='niklas-nelson.de';
  idftp.Username:='*meinUsername*';
  idftp.Password:='*meinPW*';
  try
    idftp.Connect();
    idftp.ChangeDir('/htdocs/programme/latein'); // hier mal den letzten / gelöscht

    if idftp.Size('test.html') > 0 then
      begin
        showMessage('Update verfügbar! (auf Version 1.1)');
        ShellExecute(0, 'open', pchar('http://niklas-nelson.de/programme/latein/test.exe'), nil, nil, SW_SHOWNORMAL);
      end
    else
      showMessage('Es gibt momentan kein Update');

    idftp.Disconnect;
 
  except
    on E: EidProtocolReplyError do
      begin
        ShowMessage(e.Message+' ReplyErrorCode: '+IntToStr(e.ReplyErrorCode));
      end;
  end;
end;
Nun, in dem Code scheint mit dem FTP kein Problem zu geben.
Die Exception wird ja nicht ausgelöst.
Nun, eine dumme Frage, Du bist Dir sicher das es die Ordner gibt?
Und darin liegt auch Deine test.html.
Stimmen die die Namen überein (Groß- und Kleinschreibung),
denn der Server wird auf Linux o.ä. laufen.

Bist Du Dir sicher, das Du die exe direkt vom http Server starten kannst?
Ich denke, das wird nicht funktionieren.
Du wirst sie auf Deinen Rechner laden müssen und dann ausführen.

Grüße
Klaus

Jiro 11. Apr 2008 18:32

Re: FTP-Server abfrage?
 
anscheinend funktioniert das exe starten nicht aber er sollte ja trotzdem die nachricht anzeigen.
http://niklas-nelson.de/programme/latein/latein.jpg
Aber wie kann ich das mit dem exe runterladen sonst machen? Das Programm soll ja für alles die das Lateinbuch haben da sein und die exe soll automatisch runtergeladen werden...

Klaus01 11. Apr 2008 19:23

Re: FTP-Server abfrage?
 
Hallo Jiro,

ich habe keine Idee warum Dein Programm die Datei nicht findet.

Die Datei laden kannst Du mit ftp1.get(..).
Grüße
Klaus

Jiro 12. Apr 2008 11:18

Re: FTP-Server abfrage?
 
Gibt es sonst keine Möglichkeit nach einer Datei zu suchen? Und übrigens, das mit dem get funkt nicht.
Ich habe es so gemacht idftp.get ('http://...');
Fehler:
Es gibt keine Überladene Version von Get, die man mit diesen Argumenten aufrufen kann.
edit: Ich hab das mit dem size von 0 auf -1 gesetzt- es funkt....




edit2:
Aber so funktioniert es auch nciht, weil es trotzdem die Meldung anzeigt auch wenn keine datei da ist

Klaus01 12. Apr 2008 11:25

Re: FTP-Server abfrage?
 
Hallo Jiro,

Du könntest Dir eine Liste der Dateien Deines aktuellen Verzeichnisses
auf dem FTP Server geben lassen.
Das geht mit idftp1.list(StringList);

Mit idftp1.get kannst Du nicht die Webadresse angeben.
Nur den Dateinamen plus Pfad wenn Du nicht in dem Verzeichnis
bist wo die Datei liegt.

In der Hilfe zu den Indy Komponeten ist auch ein Beispiel dabei.
Oder ein gutes Tutorial gibt es hier:

Grüße
Klaus

Jiro 12. Apr 2008 11:32

Re: FTP-Server abfrage?
 
Und was soll ich machen nachdem ich die liste geholt habe? hast nochmal nen neuen quelltext?

übrigens, es heißt idftp ubnd nicht idftp1 :stupid: :stupid:

Klaus01 12. Apr 2008 11:38

Re: FTP-Server abfrage?
 
Zitat:

Zitat von Jiro
Und was soll ich machen nachdem ich die liste geholt habe? hast nochmal nen neuen quelltext?

übrigens, es heißt idftp ubnd nicht idftp1 :stupid: :stupid:

Quelltext ist im Beitrag #10

Bei mir heißt die Instanz idftp1, wie sie bei Dir heißt bleibt Dir überlassen.

Grüße
Klaus

Jiro 12. Apr 2008 11:47

Re: FTP-Server abfrage?
 
Gut, jetzt funkts...

Delphi-Quellcode:
 idftp.Get('test.exe');
so funkts auch nicht wieder die überladen meldung.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:01 Uhr.
Seite 3 von 5     123 45      

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