![]() |
Re: FTP-Server abfrage?
Beitrag kann gelöscht werden.
|
Re: FTP-Server abfrage?
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 |
Re: FTP-Server abfrage?
Nun, wenn da etwas mit überladen steht, dann versorgst Du die get Methode
mit den falschen Parametern. Eine Alternative zu TidFTp.get findest Du ![]() Ansonsten hilft es in der Hilfe nachzuschauen, da würde man die Aufrufsyntax finden: Zitat:
Klaus |
Re: FTP-Server abfrage?
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.
|
Re: FTP-Server abfrage?
Zitat:
Das Tutorial hast Du dir auch schon angeschaut und auch verstanden?
Delphi-Quellcode:
Wenn Du get so aufrufst, will es als ASourceFile den Dateinamen und als aDest einen Stream, wenn
procedure Get(const ASourceFile: string; ADest: TStream); overload;
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;
Delphi-Quellcode:
Wenn Du get mit diesen Parametern aufrufst, will es ASourceFile den Dateinamen auf dem FTP Server
procedure Get(const ASourceFile: string; const ADestFile: string; const ACanOverwrite: boolean); overload;
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:
Grüße
idftp1.ChangeDir(..);
idftp.get('Test.exe','hier soll die Datei hin und so soll sie heißen',false); Klaus |
Re: FTP-Server abfrage?
rSo sieht mein Code jetzt aus:
Delphi-Quellcode:
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)
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; |
Re: FTP-Server abfrage?
Delphi-Quellcode:
So wird die test.exe in das Verzeichnis kopiert wo auch die Aplikation installiert wurde.
stream.Create('ExtractFilePath(ParamStr(0))+'test.exe',fmcreate);
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 |
Re: FTP-Server abfrage?
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.
|
Re: FTP-Server abfrage?
Zitat:
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 |
Re: FTP-Server abfrage?
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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:57 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