unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls, Psock, NMFtp;type
TForm1 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
btnCD: TButton;
btnDir: TButton;
ListBox1: TListBox;
btnCreate: TButton;
btnRemove: TButton;
StatusBar1: TStatusBar;
Label4: TLabel;
Edit4: TEdit;
Label5: TLabel;
Edit5: TEdit;
btnConnect: TButton;
btnDisconnect: TButton;
NMFTP1: TNMFTP;
procedure FormCreate(Sender: TObject);
procedure btnConnectClick(Sender: TObject);
procedure btnDisconnectClick(Sender: TObject);
procedure NMFTP1Connect(Sender: TObject);
procedure NMFTP1Disconnect(Sender: TObject);
procedure NMFTP1Success(Trans_Type: TCmdType);
procedure btnDirClick(Sender: TObject);
procedure NMFTP1ListItem(Listing: String);
procedure btnCDClick(Sender: TObject);
procedure btnCreateClick(Sender: TObject);
procedure btnRemoveClick(Sender: TObject);
procedure NMFTP1Failure(var Handled: Boolean; Trans_Type: TCmdType);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.FormCreate(Sender: TObject);
begin
//init
Edit4.Text:='10.13.101.113';
Edit5.Text:='21';
//ftp time out value
NMFTP1.TimeOut:=2000;
//edit property
Edit2.Text:='';
Edit1.Text:='';
Edit3.Text:='';
end;procedure TForm1.btnConnectClick(Sender: TObject);
begin
// server info
NMFTP1.Host := Edit4.Text;
NMFTP1.Port := StrToInt(Edit5.Text);
NMFTP1.UserID := 'anonymous';
NMFTP1.Password := '[email protected]';
NMFTP1.Connect;
end;procedure TForm1.btnDisconnectClick(Sender: TObject);
begin
NMFTP1.Disconnect;
end;procedure TForm1.NMFTP1Connect(Sender: TObject);
begin
StatusBar1.SimpleText := 'Connected';
end;procedure TForm1.NMFTP1Disconnect(Sender: TObject);
begin
StatusBar1.SimpleText := 'Disconnected';
end;procedure TForm1.NMFTP1Success(Trans_Type: TCmdType);
begin
Case Trans_Type of
cmdChangeDir: StatusBar1.SimpleText := 'ChangeDir success';
cmdMakeDir: StatusBar1.SimpleText := 'MakeDir success';
cmdDelete: StatusBar1.SimpleText := 'Delete success';
cmdRemoveDir: StatusBar1.SimpleText := 'RemoveDir success';
cmdList: StatusBar1.SimpleText := 'List success';
cmdRename: StatusBar1.SimpleText := 'Rename success';
cmdUpRestore: StatusBar1.SimpleText := 'UploadRestore success';
cmdDownRestore: StatusBar1.SimpleText := 'DownloadRestore success';
cmdDownload: StatusBar1.SimpleText := 'Download success';
cmdUpload: StatusBar1.SimpleText := 'Upload success';
cmdAppend: StatusBar1.SimpleText := 'UploadAppend success';
cmdReInit: StatusBar1.SimpleText := 'ReInit success';
cmdAllocate: StatusBar1.SimpleText := 'Allocate success';
cmdNList: StatusBar1.SimpleText := 'NList success';
cmdDoCommand: StatusBar1.SimpleText := 'DoCommand success';
end;end;procedure TForm1.btnDirClick(Sender: TObject);
begin
//clear old info
ListBox1.Items.Clear;
//Dir
try
NMFTP1.List;
except
//error trap
end;
end;procedure TForm1.NMFTP1ListItem(Listing: String);
begin
//add dir
ListBox1.Items.Add(Listing);
end;procedure TForm1.btnCDClick(Sender: TObject);
begin
//change dir
Try
NMFTP1.ChangeDir(Edit2.Text);
Except
end;
end;procedure TForm1.btnCreateClick(Sender: TObject);
begin
//create dir
try
NMFTP1.MakeDirectory(Edit1.Text);
Except
End;
end;procedure TForm1.btnRemoveClick(Sender: TObject);
begin
//remove dir
Try
NMFTP1.RemoveDir(Edit3.Text);
Except
End;
end;procedure TForm1.NMFTP1Failure(var Handled: Boolean; Trans_Type: TCmdType);
begin
Case Trans_Type of
cmdChangeDir: StatusBar1.SimpleText := 'ChangeDir failure';
cmdMakeDir: StatusBar1.SimpleText := 'MakeDir failure';
cmdDelete: StatusBar1.SimpleText := 'Delete failure';
cmdRemoveDir: StatusBar1.SimpleText := 'RemoveDir failure';
cmdList: StatusBar1.SimpleText := 'List failure';
cmdRename: StatusBar1.SimpleText := 'Rename failure';
cmdUpRestore: StatusBar1.SimpleText := 'UploadRestore failure';
cmdDownRestore: StatusBar1.SimpleText := 'DownloadRestore failure';
cmdDownload: StatusBar1.SimpleText := 'Download failure';
cmdUpload: StatusBar1.SimpleText := 'Upload failure';
cmdAppend: StatusBar1.SimpleText := 'UploadAppend failure';
cmdReInit: StatusBar1.SimpleText := 'ReInit failure';
cmdAllocate: StatusBar1.SimpleText := 'Allocate failure';
cmdNList: StatusBar1.SimpleText := 'NList failure';
cmdDoCommand: StatusBar1.SimpleText := 'DoCommand failure';
end;end;end.
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls, Psock, NMFtp;type
TForm1 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
btnCD: TButton;
btnDir: TButton;
ListBox1: TListBox;
btnCreate: TButton;
btnRemove: TButton;
StatusBar1: TStatusBar;
Label4: TLabel;
Edit4: TEdit;
Label5: TLabel;
Edit5: TEdit;
btnConnect: TButton;
btnDisconnect: TButton;
NMFTP1: TNMFTP;
procedure FormCreate(Sender: TObject);
procedure btnConnectClick(Sender: TObject);
procedure btnDisconnectClick(Sender: TObject);
procedure NMFTP1Connect(Sender: TObject);
procedure NMFTP1Disconnect(Sender: TObject);
procedure NMFTP1Success(Trans_Type: TCmdType);
procedure btnDirClick(Sender: TObject);
procedure NMFTP1ListItem(Listing: String);
procedure btnCDClick(Sender: TObject);
procedure btnCreateClick(Sender: TObject);
procedure btnRemoveClick(Sender: TObject);
procedure NMFTP1Failure(var Handled: Boolean; Trans_Type: TCmdType);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.FormCreate(Sender: TObject);
begin
//init
Edit4.Text:='10.13.101.113';
Edit5.Text:='21';
//ftp time out value
NMFTP1.TimeOut:=2000;
//edit property
Edit2.Text:='';
Edit1.Text:='';
Edit3.Text:='';
end;procedure TForm1.btnConnectClick(Sender: TObject);
begin
// server info
NMFTP1.Host := Edit4.Text;
NMFTP1.Port := StrToInt(Edit5.Text);
NMFTP1.UserID := 'anonymous';
NMFTP1.Password := '[email protected]';
NMFTP1.Connect;
end;procedure TForm1.btnDisconnectClick(Sender: TObject);
begin
NMFTP1.Disconnect;
end;procedure TForm1.NMFTP1Connect(Sender: TObject);
begin
StatusBar1.SimpleText := 'Connected';
end;procedure TForm1.NMFTP1Disconnect(Sender: TObject);
begin
StatusBar1.SimpleText := 'Disconnected';
end;procedure TForm1.NMFTP1Success(Trans_Type: TCmdType);
begin
Case Trans_Type of
cmdChangeDir: StatusBar1.SimpleText := 'ChangeDir success';
cmdMakeDir: StatusBar1.SimpleText := 'MakeDir success';
cmdDelete: StatusBar1.SimpleText := 'Delete success';
cmdRemoveDir: StatusBar1.SimpleText := 'RemoveDir success';
cmdList: StatusBar1.SimpleText := 'List success';
cmdRename: StatusBar1.SimpleText := 'Rename success';
cmdUpRestore: StatusBar1.SimpleText := 'UploadRestore success';
cmdDownRestore: StatusBar1.SimpleText := 'DownloadRestore success';
cmdDownload: StatusBar1.SimpleText := 'Download success';
cmdUpload: StatusBar1.SimpleText := 'Upload success';
cmdAppend: StatusBar1.SimpleText := 'UploadAppend success';
cmdReInit: StatusBar1.SimpleText := 'ReInit success';
cmdAllocate: StatusBar1.SimpleText := 'Allocate success';
cmdNList: StatusBar1.SimpleText := 'NList success';
cmdDoCommand: StatusBar1.SimpleText := 'DoCommand success';
end;end;procedure TForm1.btnDirClick(Sender: TObject);
begin
//clear old info
ListBox1.Items.Clear;
//Dir
try
NMFTP1.List;
except
//error trap
end;
end;procedure TForm1.NMFTP1ListItem(Listing: String);
begin
//add dir
ListBox1.Items.Add(Listing);
end;procedure TForm1.btnCDClick(Sender: TObject);
begin
//change dir
Try
NMFTP1.ChangeDir(Edit2.Text);
Except
end;
end;procedure TForm1.btnCreateClick(Sender: TObject);
begin
//create dir
try
NMFTP1.MakeDirectory(Edit1.Text);
Except
End;
end;procedure TForm1.btnRemoveClick(Sender: TObject);
begin
//remove dir
Try
NMFTP1.RemoveDir(Edit3.Text);
Except
End;
end;procedure TForm1.NMFTP1Failure(var Handled: Boolean; Trans_Type: TCmdType);
begin
Case Trans_Type of
cmdChangeDir: StatusBar1.SimpleText := 'ChangeDir failure';
cmdMakeDir: StatusBar1.SimpleText := 'MakeDir failure';
cmdDelete: StatusBar1.SimpleText := 'Delete failure';
cmdRemoveDir: StatusBar1.SimpleText := 'RemoveDir failure';
cmdList: StatusBar1.SimpleText := 'List failure';
cmdRename: StatusBar1.SimpleText := 'Rename failure';
cmdUpRestore: StatusBar1.SimpleText := 'UploadRestore failure';
cmdDownRestore: StatusBar1.SimpleText := 'DownloadRestore failure';
cmdDownload: StatusBar1.SimpleText := 'Download failure';
cmdUpload: StatusBar1.SimpleText := 'Upload failure';
cmdAppend: StatusBar1.SimpleText := 'UploadAppend failure';
cmdReInit: StatusBar1.SimpleText := 'ReInit failure';
cmdAllocate: StatusBar1.SimpleText := 'Allocate failure';
cmdNList: StatusBar1.SimpleText := 'NList failure';
cmdDoCommand: StatusBar1.SimpleText := 'DoCommand failure';
end;end;end.
解决方案 »
- 关于对象释放问题,请帮忙看看
- 一个mdiForm(也就是主窗口)上面要放一个窗口(以下称为A窗口),要求A窗口跟主窗口大小一样。
- 怎样把数据库中保存的文件,在客户端不生成文件而是在内存中直接打开?
- 各位大哥,能否推荐一些delphi网络编程的好网站,特别适合初学者的!
- 该怎么解决这样的问题?
- delphi使用Ado操作Access数据库怎么导出到一个excel表中?
- 如何解决这个问题,关于方便用户输入的选择框
- 帮我看一看这段程序。第一次运行不管是找不找得到数据一律OK,可是再一次查找的时候。不管找不找得到数据一律不OK!:(
- 关于高度变化
- 一个简单查询语句问题
- 请看代码,为什么出错?(关于动态IP)
- 关于WebSnap程序发布在IIS上的问题,目录访问权限得不到
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, Psock, NMFtp, ComCtrls;type
TForm1 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
Edit4: TEdit;
Bevel1: TBevel;
btnLs: TButton;
btnDir: TButton;
btnconnect: TButton;
btnDisConnect: TButton;
NMFTP1: TNMFTP;
StatusBar1: TStatusBar;
ListBox1: TListBox;
btnCD: TButton;
Edit5: TEdit;
procedure FormCreate(Sender: TObject);
procedure btnconnectClick(Sender: TObject);
procedure btnDisConnectClick(Sender: TObject);
procedure btnLsClick(Sender: TObject);
procedure NMFTP1ListItem(Listing: String);
procedure btnDirClick(Sender: TObject);
procedure NMFTP1Connect(Sender: TObject);
procedure NMFTP1Disconnect(Sender: TObject);
procedure ListBox1DblClick(Sender: TObject);
procedure NMFTP1Success(Trans_Type: TCmdType);
procedure NMFTP1Failure(var Handled: Boolean; Trans_Type: TCmdType);
procedure btnCDClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.FormCreate(Sender: TObject);
begin
//init
Edit1.Text:='10.13.101.113';
Edit2.Text:='21';
Edit3.Text:='Anonymous';
Edit4.Text:='[email protected]';
Edit4.PasswordChar:='*';
Edit5.Text:='';
//Label6.caption:='';
//ftp time out value
NMFTP1.TimeOut:=2000;
end;procedure TForm1.btnconnectClick(Sender: TObject);
begin
//connect infomation
NMFTP1.Host := Edit1.Text;
NMFTP1.Port := StrToInt(Edit2.Text);
//user info
NMFTP1.UserID := Edit3.Text;
NMFTP1.Password := Edit4.Text;
//connect
try
NMFTP1.Connect;
except
On E:Exception do
//Show error
StatusBar1.Panels.Items[0].Text:=E.message;
end;
end;procedure TForm1.btnDisConnectClick(Sender: TObject);
begin
NMFTP1.Disconnect;
end;procedure TForm1.btnLsClick(Sender: TObject);
begin
//ls
//clear old value
ListBox1.Items.Clear;
//ls
try
NMFTP1.Nlist;
except
//error trap
end;
end;procedure TForm1.NMFTP1ListItem(Listing: String);
begin
//add list item
ListBox1.Items.Add(Listing);
end;procedure TForm1.btnDirClick(Sender: TObject);
begin
//dir
//clear old value
ListBox1.Items.Clear;
//dir
try
NMFTP1.list;
except
//error trap
end;
end;procedure TForm1.NMFTP1Connect(Sender: TObject);
begin
StatusBar1.Panels.Items[0].Text:='Connected';
end;procedure TForm1.NMFTP1Disconnect(Sender: TObject);
begin
StatusBar1.Panels.Items[0].Text:='Disconnected';
end;procedure TForm1.ListBox1DblClick(Sender: TObject);
var
dir:string;
idx:integer;
begin
//just support part of ls fucntion
if ListBox1.Items.Count=-1 then
exit;
if listbox1.ItemIndex=-1 then
exit;
idx:=ListBox1.ItemIndex;
dir:=ListBox1.Items.Strings[idx];
try
NMFTP1.ChangeDir(dir);
except
//error trap
end;
//run ls
end;procedure TForm1.NMFTP1Success(Trans_Type: TCmdType);
begin
//deliver all success conditions
Case Trans_Type of
cmdChangeDir: StatusBar1.SimpleText := 'ChangeDir success';
cmdMakeDir: StatusBar1.SimpleText := 'MakeDir success';
cmdDelete: StatusBar1.SimpleText := 'Delete success';
cmdRemoveDir: StatusBar1.SimpleText := 'RemoveDir success';
cmdList: StatusBar1.SimpleText := 'List success';
cmdRename: StatusBar1.SimpleText := 'Rename success';
cmdUpRestore: StatusBar1.SimpleText := 'UploadRestore success';
cmdDownRestore: StatusBar1.SimpleText := 'DownloadRestore success';
cmdDownload: StatusBar1.SimpleText := 'Download success';
cmdUpload: StatusBar1.SimpleText := 'Upload success';
cmdAppend: StatusBar1.SimpleText := 'UploadAppend success';
cmdReInit: StatusBar1.SimpleText := 'ReInit success';
cmdAllocate: StatusBar1.SimpleText := 'Allocate success';
cmdNList: StatusBar1.SimpleText := 'NList success';
cmdDoCommand: StatusBar1.SimpleText := 'DoCommand success';
end;
//show current dir
// Label6.Caption:=NMFTP1.CurrentDir;
end;
procedure TForm1.NMFTP1Failure(var Handled: Boolean; Trans_Type: TCmdType);
begin
//deliver all failed conditions
Case Trans_Type of
cmdChangeDir: StatusBar1.SimpleText := 'ChangeDir failure';
cmdMakeDir: StatusBar1.SimpleText := 'MakeDir failure';
cmdDelete: StatusBar1.SimpleText := 'Delete failure';
cmdRemoveDir: StatusBar1.SimpleText := 'RemoveDir failure';
cmdList: StatusBar1.SimpleText := 'List failure';
cmdRename: StatusBar1.SimpleText := 'Rename failure';
cmdUpRestore: StatusBar1.SimpleText := 'UploadRestore failure';
cmdDownRestore: StatusBar1.SimpleText := 'DownloadRestore failure';
cmdDownload: StatusBar1.SimpleText := 'Download failure';
cmdUpload: StatusBar1.SimpleText := 'Upload failure';
cmdAppend: StatusBar1.SimpleText := 'UploadAppend failure';
cmdReInit: StatusBar1.SimpleText := 'ReInit failure';
cmdAllocate: StatusBar1.SimpleText := 'Allocate failure';
cmdNList: StatusBar1.SimpleText := 'NList failure';
cmdDoCommand: StatusBar1.SimpleText := 'DoCommand failure';
end;end;procedure TForm1.btnCDClick(Sender: TObject);
begin
try
NMFTP1.ChangeDir(Edit5.Text);
except
//error trap
end;
end;end.