// FTP Client
// 2002-11-04
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
//连接或断开与服务器的连接
void __fastcall TForm1::Button1Click(TObject *Sender)
{
//获取登录信息并连接服务器
if(Button1->Caption=="Connect")
{
NMFTP1->Host=Edit1->Text;
NMFTP1->Port=StrToInt(Edit2->Text);
NMFTP1->UserID=Edit3->Text;
NMFTP1->Password=MaskEdit1->Text;
StatusBar1->SimpleText="Connecting to FTP server ...";
NMFTP1->ParseList =true;
NMFTP1->Connect();
}
//断开
else
{
StatusBar1->SimpleText="Disconnecting from FTP server ...";
NMFTP1->Disconnect();
}
}
//---------------------------------------------------------------------------
//连接成功的事件处理;
void __fastcall TForm1::NMFTP1Connect(TObject *Sender)
{
RadioButton1->Enabled=true;
RadioButton2->Enabled=true;
Button2->Enabled=true;
Button3->Enabled=true;
Button4->Enabled=true;
Button5->Enabled=true;
Button6->Enabled=true;
Button7->Enabled=true;
Button8->Enabled=true;
Button9->Enabled=true;
Button10->Enabled=true;
rename->Enabled=true;
Memo1->Lines->Add("Connected");
Button1->Caption="Disconnect";
}
//---------------------------------------------------------------------------
// 断开连接的事件的处处理
void __fastcall TForm1::NMFTP1Disconnect(TObject *Sender)
{
RadioButton1->Enabled=false;
RadioButton2->Enabled=false;
Button2->Enabled=false;
Button3->Enabled=false;
Button4->Enabled=false;
Button5->Enabled=false;
Button6->Enabled=false;
Button7->Enabled=false;
Button8->Enabled=false;
Button9->Enabled=false;
Button10->Enabled=false;
rename->Enabled=false;
Memo1->Lines->Add("Disconnected");
Button1->Caption="Connect";
}
//---------------------------------------------------------------------------
// 事件OnSuccess处理
void __fastcall TForm1::NMFTP1Success(TCmdType Trans_Type)
{
int I;
switch(Trans_Type)
{
case cmdList: //LIST
{
for (I = 0; I <= (StringGrid1->ColCount - 1);I++)
StringGrid1->Cols[I]->Clear();
StringGrid1->RowCount = NMFTP1->FTPDirectoryList->name->Count;
StringGrid1->ColCount = 4;
StringGrid1->Cells[0][0] = "Filename";
StringGrid1->Cells[1][0] = "File Size";
StringGrid1->Cells[2][0] = "Modified Date";
StringGrid1->Cells[3][0] = "Attributes";
for (I = 0; I <= (NMFTP1->FTPDirectoryList->name->Count - 1); I++)
{
StringGrid1->Cells[0][I+1] = NMFTP1->FTPDirectoryList->name->Strings[I];
StringGrid1->Cells[1][I+1] = NMFTP1->FTPDirectoryList->Size->Strings[I];
StringGrid1->Cells[2][I+1] = NMFTP1->FTPDirectoryList->ModifDate->Strings[I];
StringGrid1->Cells[3][I+1] = NMFTP1->FTPDirectoryList->Attribute->Strings[I];
}
}
Memo1->Lines->Add("List");
break;
case cmdChangeDir: //改变当前路径
{
Memo1->Lines->Add("ChangeDir successful");
NMFTP1->List();
}
break;
case cmdMakeDir: //生成新路径
Memo1->Lines->Add("MakeDir successful"); break;
case cmdRemoveDir://删除路径
Memo1->Lines->Add("RemoveDir successful"); break;
case cmdDelete: //删除文件
Memo1->Lines->Add("Delete successful"); break;
case cmdRename: //重命名文件
Memo1->Lines->Add("Rename successful"); break;
case cmdReInit: //更新
Memo1->Lines->Add("Reinitialize successful"); break;
case cmdCurrentDir: //显示当前路径
Memo1->Lines->Add("CurrentDir successful");break;
}
}
//---------------------------------------------------------------------------
// TNMFTP控件的错误处理;
void __fastcall TForm1::NMFTP1Error(TComponent *Sender, WORD Errno,
AnsiString Errmsg)
{
Memo1->Lines->Add(Errmsg);
}
//---------------------------------------------------------------------------
// 调用显示文件与路径方法
void __fastcall TForm1::Button2Click(TObject *Sender)
{
NMFTP1->List();
}
//---------------------------------------------------------------------------
//改变当前路径
void __fastcall TForm1::Button3Click(TObject *Sender)
{
AnsiString TheDir;
if (InputQuery("Change Directory", "Which directory?", TheDir))
NMFTP1->ChangeDir(TheDir);
}
//---------------------------------------------------------------------------
//在FTP服务器上删除一个文件
void __fastcall TForm1::Button4Click(TObject *Sender)
{
AnsiString TheFile;
if (InputQuery("Delete File", "File name?", TheFile))
NMFTP1->Delete(TheFile);
}
//---------------------------------------------------------------------------
//从FTP服务器下载一个文件;
void __fastcall TForm1::Button5Click(TObject *Sender)
{
AnsiString RemoteFile,LocalFile;
if(InputQuery("Download a file","File to download: ",RemoteFile))
{
SaveDialog1->Execute();
LocalFile=SaveDialog1->FileName;
NMFTP1->Download(RemoteFile,LocalFile);
}
}
//---------------------------------------------------------------------------
//上传一个文件;
void __fastcall TForm1::Button6Click(TObject *Sender)
{
AnsiString LocalFile,RemoteFile;
int FileHandle,FSize;
if(OpenDialog1->Execute())
if(InputQuery("Choose Remote File Name","Filename?",RemoteFile))
{
LocalFile=OpenDialog1->FileName;
FileHandle=FileOpen(LocalFile,fmOpenRead);
FSize=FileSeek(FileHandle,0,2);
FileClose(FileHandle);
NMFTP1->Allocate(FSize);
NMFTP1->Upload(LocalFile,RemoteFile);
NMFTP1->List();
}
}
//---------------------------------------------------------------------------
// 清空交互信息框内的所有内容;
void __fastcall TForm1::Button7Click(TObject *Sender)
{
Memo1->Clear();
}
//---------------------------------------------------------------------------
//把文件传输模式设为变为二进制;
void __fastcall TForm1::RadioButton1Click(TObject *Sender)
{
NMFTP1->Mode(MODE_BYTE);
}
//---------------------------------------------------------------------------
//把文件模式设为ASCII码
void __fastcall TForm1::RadioButton2Click(TObject *Sender)
{
NMFTP1->Mode(MODE_ASCII);
}
//---------------------------------------------------------------------------
// 操作失败处理
void __fastcall TForm1::OnFTPFaile(bool &Handled, TCmdType Trans_Type)
{
switch(Trans_Type)
{
case cmdChangeDir: Memo1->Lines->Add("ChangeDir failed");
break;
case cmdMakeDir: Memo1->Lines->Add("MakeDir failed");
break;
case cmdDelete: Memo1->Lines->Add("Delete failed");
break;
case cmdRemoveDir: Memo1->Lines->Add("RemoveDir failed");
break;
case cmdList: Memo1->Lines->Add("List failed");
break;
case cmdRename: Memo1->Lines->Add("Rename failed");
break;
case cmdUpRestore: Memo1->Lines->Add("UploadRestore failed");
break;
case cmdDownRestore: Memo1->Lines->Add("DownloadRestore failed");
break;
case cmdDownload: Memo1->Lines->Add("Download failed");
break;
case cmdUpload: Memo1->Lines->Add("Upload failed");
break;
case cmdAppend: Memo1->Lines->Add("UploadAppend failed");
break;
case cmdReInit: Memo1->Lines->Add("Reinitialize failed");
break;
case cmdAllocate: Memo1->Lines->Add("Allocate failed");
break;
case cmdNList: Memo1->Lines->Add("NList failed");
break;
case cmdDoCommand: Memo1->Lines->Add("DoCommand failed");
break;
case cmdCurrentDir
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
host_file_operation.rar (18个子文件)
host文件下载
Project1.cpp 710B
Unit1.obj 172KB
Project1.exe 49KB
Project1.res 876B
Unit1.~cpp 14KB
Project1.tds 2.06MB
Project1.~bpr 3KB
Unit1.~dfm 6KB
Unit1.dfm 6KB
Unit1.ddp 51B
Project1.~cpp 710B
Unit1.h 3KB
Unit1.cpp 14KB
Unit1.~h 3KB
Unit1.~ddp 51B
Project1.obj 15KB
Project1.bpr 3KB
www.pudn.com.txt 218B
共 18 条
- 1
资源评论
御道御小黑
- 粉丝: 61
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功