AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

FTP-Server abfrage?

Offene Frage von "Jiro"
Ein Thema von Jiro · begonnen am 6. Apr 2008 · letzter Beitrag vom 22. Apr 2008
Antwort Antwort
Seite 4 von 5   « Erste     234 5      
Jiro

Registriert seit: 12. Mär 2008
Ort: Hannover
77 Beiträge
 
Delphi 7 Personal
 
#31

Re: FTP-Server abfrage?

  Alt 12. Apr 2008, 13:50
Beitrag kann gelöscht werden.
Niklas
  Mit Zitat antworten Zitat
Jiro

Registriert seit: 12. Mär 2008
Ort: Hannover
77 Beiträge
 
Delphi 7 Personal
 
#32

Re: FTP-Server abfrage?

  Alt 12. Apr 2008, 16:06
Welche Möglichkeiten eine exe Datei von nem FTP server zu holen gibts noch? mit get steht da immer was mit überladen und normal öffnen klappt auch nicht...

achja, sorry für DoPo
Niklas
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#33

Re: FTP-Server abfrage?

  Alt 12. Apr 2008, 16:12
Nun, wenn da etwas mit überladen steht, dann versorgst Du die get Methode
mit den falschen Parametern.

Eine Alternative zu TidFTp.get findest Du hier.

Ansonsten hilft es in der Hilfe nachzuschauen, da würde man
die Aufrufsyntax finden:
Zitat von DelphiHilfe:

Retrieves a file using the FTP protocol.

procedure Get(const ASourceFile: string; ADest: TStream); overload;
procedure Get(const ASourceFile: string; const ADestFile: string; const ACanOverwrite: boolean); overload;

Parameters
const ASourceFile: string

File name on the FTP server.

ADest: TStream

File name and optional path on the local machine.

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.
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Jiro

Registriert seit: 12. Mär 2008
Ort: Hannover
77 Beiträge
 
Delphi 7 Personal
 
#34

Re: FTP-Server abfrage?

  Alt 13. Apr 2008, 11:51
Aber irgendwie versteh ich das nicht, da steht doch filename und den hab ich eingegeben. Was brauch ich denn sonst noch? Die andere Methode ist mir zu kompliziert.
Niklas
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#35

Re: FTP-Server abfrage?

  Alt 13. Apr 2008, 13:50
Zitat von Jiro:
Aber irgendwie versteh ich das nicht, da steht doch filename und den hab ich eingegeben. Was brauch ich denn sonst noch? Die andere Methode ist mir zu kompliziert.
Na, so schwer ist das doch nicht.
Das Tutorial hast Du dir auch schon angeschaut und auch verstanden?

procedure Get(const ASourceFile: string; ADest: TStream); overload; Wenn Du get so aufrufst, will es als ASourceFile den Dateinamen und als aDest einen Stream, wenn
Du die Datei speichern willst einen TFileStream ansonsten kannst Du auch einen TMemoryStream nehmen.
Delphi-Quellcode:
var
 myFileStream : TFileStream;

myFileStream := TFileStream.create('hier soll die Datei hin und so soll sie heißen',fmcreate);
idftp1.ChangeDir(...);
idftp1.get('test.exe',myFileStream);
myFileStream.free;
procedure Get(const ASourceFile: string; const ADestFile: string; const ACanOverwrite: boolean); overload; Wenn Du get mit diesen Parametern aufrufst, will es ASourceFile den Dateinamen auf dem FTP Server
aDest als den Dateinamen wie es auf Deinem PC abgespeichert werden soll.
ACanOverWrite ist die Option ob das File auf Deinem PC überschrieben werden kann.
Würde bei Dir so ausschauen:

Delphi-Quellcode:
idftp1.ChangeDir(..);
idftp.get('Test.exe','hier soll die Datei hin und so soll sie heißen',false);
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Jiro

Registriert seit: 12. Mär 2008
Ort: Hannover
77 Beiträge
 
Delphi 7 Personal
 
#36

Re: FTP-Server abfrage?

  Alt 13. Apr 2008, 14:26
rSo sieht mein Code jetzt aus:
Delphi-Quellcode:
procedure TForm5.Button1Click(Sender: TObject);
var
  sl: TStringList;
  stream : TfileStream;

begin
idftp.Host:='niklas-nelson.de';
idftp.Username:='...';
idftp.Password:='...';
idftp.Connect();
idftp.ChangeDir('/htdocs/programme/latein');
sl := TStringList.create;
idftp.list(sl,'*.*',false);
if sl.indexOf('test.html') >= 0 then
   begin
     showmessage ('Es gibt ein Update (Version 1.1)');
      stream.Create('test.exe',fmcreate);
      idftp.Get('test.exe', stream);
     idftp.Disconnect;
     stream.Free;
   end
else
   begin
     showmessage ('Ne Ne, kein Update da');
     idftp.Disconnect;
   end;
sl.free;
end;


procedure Get(const ASourceFile: string; const ADestFile: string; const ACanOverwrite: boolean); overload; //die Get procedure funktioniert gar nicht. Aber wenn ich den oberen Teil so lasse kommt wieder eine Exception.
begin
idftp.Host:='niklas-nelson.de';
idftp.Username:='...';
idftp.Password:='...';
idftp.connect ();
idftp.ChangeDir('/htdocs/programme/latein');
idftp.get('Test.exe','test.exe',false);
end;
Ich glaube ich hab da was falsch verstanden oder ist das richtig? Das proggi soll ja auch für alle sein, also muss die Datei im ordner gespeichert werden, wo das Programm drin ist und nicht in einem von mir angegebenen Ordner. Sonst gibts ja noch die Möglichkeit rauszufinden wo das Programm drin ist. Geht das auch noch wenn das installiert ist (ich mache dafür ein Setup (mit INNO)
Niklas
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#37

Re: FTP-Server abfrage?

  Alt 13. Apr 2008, 18:39
stream.Create('ExtractFilePath(ParamStr(0))+'test.exe',fmcreate); So wird die test.exe in das Verzeichnis kopiert wo auch die Aplikation installiert wurde.

Eine kleine Anmerkung habe ich noch, Du schließt darauf das ein Update zur Verfügung steht
wenn eine bestimmte Datei auf dem FTP-Server liegt.
Dabei wird nicht überprüft welche Version die Aplikation gerade hat.
Habe ich z.B. 1.1 und das File liegt auf dem Server, dann wird mir
ein Update auf 1.1 angeboten. Die Version habe ich aber schon.


Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Jiro

Registriert seit: 12. Mär 2008
Ort: Hannover
77 Beiträge
 
Delphi 7 Personal
 
#38

Re: FTP-Server abfrage?

  Alt 13. Apr 2008, 19:21
Ich habe mir das so gedacht, dass ich in der aktuellen Version 1.0 nach der Datei plan11.html auf dem Server suche. Und in der Version 1.1 ändere ich es so um, dass das programm nach der Version 1.2 sucht.
Niklas
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#39

Re: FTP-Server abfrage?

  Alt 14. Apr 2008, 09:15
Zitat von Jiro:
Ich habe mir das so gedacht, dass ich in der aktuellen Version 1.0 nach der Datei plan11.html auf dem Server suche. Und in der Version 1.1 ändere ich es so um, dass das programm nach der Version 1.2 sucht.
Hast Du dann nicht das Problem wenn der User z.B. Version 1.0
und nach einiger zeit nicht auf Version 1.1 updaten will.
Nun kommt die Version 1.2 heraus, der User will nun ein update
durchführen. Die Folge ist, er muß erst ein Update auf 1.1 machen
danach kann er erst ein Update auf 1.2 machen.

Wäre es nicht sinnvoller eine "VersionsInfo.txt" Datei auf dem
FTP-Server zu halten. Hier steht die letzte Version drin.

Der User lädt sich die Datei, schaut hinein und vergleicht
die Versionsnummer mit der Version seines Programms.
Ist seine Versionsnummer kleiner als die auf dem Server
liegende bekommt er den Hinweis auf eine neuere Version
angezeigt.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Jiro

Registriert seit: 12. Mär 2008
Ort: Hannover
77 Beiträge
 
Delphi 7 Personal
 
#40

Re: FTP-Server abfrage?

  Alt 14. Apr 2008, 17:15
Gut, wie kann man das realisieren? Wieder mit ftp.get? Und dann in der Datei suchen?
achja:
stream.Create('ExtractFilePath(ParamStr(0))+'test. exe',fmcreate);

Es gibt keine überladene Version von create, die man mit diesen Parametern aufrufen kann.
Niklas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz