Einzelnen Beitrag anzeigen

Benutzerbild von ptown67
ptown67

Registriert seit: 31. Jan 2006
Ort: Keine Ergebnisse gefunden
60 Beiträge
 
Delphi 7 Personal
 
#5

Re: Hochladen von Dateien...Hilfe bitte!

  Alt 7. Aug 2007, 23:27
Hallo erst mal!

Ich habe mich ebenfalls in den letzten Tagen ein wenig mit Download und Upload von Dateien befasst. Von Anfang an war ich mir sicher, dass ich das Ganze mit FTP versuchen wollte.

Am Anfang habe ich die Unit 'InetTools' in mein Projekt eingebunden, welche ich in einem Beispiel im Inetnet gefunden habe. Später, als ich dann z.B. eine ProgressBar einbinden wollte, hatte ich den Salat: Mit der genannten Unit 'InetTools' wusste niemand, wie das Funktionieren soll, da niemand diese Unit kannte. Also wurden mir hier auf diesem Forum die Indys empfohlen, welche bei Delphi mitgeliefert werden.

Hier ein Code-Beispiel, welches nach klick von Button1, sich mit einem FTP-Server verbindet und eine Datei auf den Server läd. Danach wird automatisch wieder disconnected.
[Die Unit idFtp muss eingebunden werden]

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdFtp, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
      ftp: TidFtp;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;


implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
ftp:=TidFtp.Create;
ftp.Host := 'people-ftp.freenet.de';
ftp.Username := 'benutzername';
ftp.Password := 'passwort';
ftp.Passive := true;
ftp.Connect;
ftp.Put('test.exe', 'test.exe', false);
ftp.Disconnect;
ftp.Quit;
end;

end.
Durch dieses Programm habe ich auch verstanden, dass die Indys in der Turbo Delphi Explorer voll nutzbar sind. Man kann sie nur nicht (visuell) auf die Form übertragen. Gibt man aber die ganzen Werte als Code ein, statt im Eigenschaftenbereich, funktioniert das trotzdem wunderbar.

Bei Download verwendet man dann 'put', statt 'get'...

Ich finde das ganze mit den Indys eine sehr schöne Sache, da es auch leicht zu realisieren ist, eine ProgressBar oder einer Geschwindigkeitsanzeige einzubauen.

Viele Grüße...
  Mit Zitat antworten Zitat