unit FTP;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdFTP, StdCtrls, WinInet;
type
TForm1 =
class(TForm)
ListBox1: TListBox;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
ftp: TIdFTP;
Edit3: TEdit;
Button2: TButton;
Label1: TLabel;
SaveDialog1: TSaveDialog;
Button3: TButton;
OpenDialog1: TOpenDialog;
Button4: TButton;
Button5: TButton;
ListBox2: TListBox;
Button6: TButton;
Button7: TButton;
ListBox3: TListBox;
Button8: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure ftpWork(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
procedure ftpWorkEnd(Sender: TObject; AWorkMode: TWorkMode);
procedure ListBox1DblClick(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function IsFile(
const Filename :
String) : Boolean;
var
IsFile: Boolean;
begin
if FileExists(Filename)
then
begin
Result := true;
end
else
begin
Result := false;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ftp.Username := edit1.text;
ftp.Password := edit2.text;
ftp.Host := edit3.text;
Try
ftp.Connect;
ftp.list (listbox1.items,'
',false);
label1.Font.Color := clgreen;
Listbox2.Items.Add('
Erfolgreich Verbunden !') ;
Except
Listbox2.Items.Add('
Verbindung Fehlerhaft') ;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
label1.Font.Color := clred;
Label1.Caption := '
Status : Nicht verbunden';
ftp.disconnect;
Listbox1.clear;
Listbox2.Items.Add('
Disconnected') ;
end;
procedure TForm1.ftpWork(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
begin
Label1.Caption := '
Working!';
end;
procedure TForm1.ftpWorkEnd(Sender: TObject; AWorkMode: TWorkMode);
begin
label1.caption := '
fertig geworkt ^^';
end;
procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
if Listbox1.ItemIndex <> - 1
then
begin
if IsFile(ListBox1.Items[ListBox1.ItemIndex])
then // Hier ist es eine Datei
begin
if savedialog1.Execute
then
FTP.Get(edit3.text, Savedialog1.FileName);
end
else
begin
ftp.ChangeDir(Listbox1.Items[Listbox1.ItemIndex]);
// Verzeichnis wechseln
ftp.list(listbox1.items,'
',false);
listbox2.items.Add('
Ordner wurde gewechselt');
end;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
if opendialog1.execute
then
begin
ftp.Put(Opendialog1.filename,extractfilename(opendialog1.filename));
ftp.list (listbox1.items,'
',false);
Listbox2.Items.Add('
Erfolgreich hochgeladen') ;
end;
end;
procedure TForm1.Button5Click(Sender: TObject);
var s:
string;
begin
s:='
Neuer Ordner';
if inputQuery('
Neuer Ordner','
Wie soll der Ordner heißen?',s)
then
begin
ftp.MakeDir(s);
end;
ftp.list (listbox1.items,'
',false);
end;
procedure TForm1.Button4Click(Sender: TObject);
var i:integer;
s:
string;
begin
i:=listbox1.ItemIndex;
//Selection in i
if i <> -1
then // is selected
begin
s:=listbox1.Items[i];
//String der Selection in s
if savedialog1.Execute
then
FTP.Get(edit3.text, Savedialog1.FileName);
listbox2.Items.add('
Datei wurde gedownloaded');
ftp.list (listbox1.items,'
',false);
end
else
// Bitte einen Ordner auswählen !!
end;
procedure TForm1.Button6Click(Sender: TObject);
var i:integer;
s:
string;
begin
i:=listbox1.ItemIndex;
//Selection in i
if i <> -1
then // is selected
begin
s:=listbox1.Items[i];
//String der Selection in s
if MessageDLG('
Sind sie sicher, dass Sie die Datei loeschen wollen?',mtWarning,[mbYes,mbNo],0)= mrYes
then
FTP.Delete(s);
listbox2.Items.add('
Datei wurde gelöscht');
ftp.list (listbox1.items,'
',false);
end
else
// Bitte einen Ordner auswählen !!
end;
procedure TForm1.Button7Click(Sender: TObject);
var i:integer;
s:
string;
begin
i:=listbox1.ItemIndex;
//Selection in i
if i <> -1
then // is selected
begin
s:=listbox1.Items[i];
//String der Selection in s
if MessageDLG('
Sind sie sicher, dass Sie den Ordner loeschen wollen?',mtWarning,[mbYes,mbNo],0)= mrYes
then
FTP.RemoveDir(s);
ftp.list (listbox1.items,'
',false);
listbox2.items.Add('
Ordner wurde gelöscht !')
end
else
// Bitte einen Ordner auswählen !!
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
if OpenDialog1.Execute
then
ListBox3.Items.Add(ExtractFileName(OpenDialog1.FileName));
end;
end.