]、。·ˉˇ¨〃々—~‖…’”〕〉》」』〗】∶!"'),.:;?]` 《计算机世界
出版日期: 20000821
编程实现拨号网络连接及FTP应用
河南煤炭工业厅信息中心 李克利
本文介绍了Windows下如何在程序中加入拨号网络,如何自己编写
程序实现FTP功能。
Windows本身带有拨号网络功能。由于拨号网络不是一个可执行
文件,所以不能用 " WinExec 可执行文件"的方式来打开。要启动拨
号网络,需要用 Explorer ,方法如下:
WinExec(‘Explorer::
{20D04FE0 3AEA 1069 A2D8 08002B30309D}\::
{992CFFA0-F557 101A 88EC 00DD010CCC48}',
SW_SHOWNA);
但若是要启动拨号网络中的某一个连接,则需借助rundll.exe 及
rnaui.dll来启动,方法如下(假定连接名称为MyFtpNet):
WinExec(‘rundll rnaui.dll,RnaDial MyFtpNet',SW_SHOWNA);
这样程序运行到此命令时,将会弹出拨号网络连接MyFtpNet窗口,
输入用户名、密码等信息即可登录,如想更加方便,则可对此连接编写
脚本文件,不需要用户输入任何信息, 使程序自动登录。
在Delphi中具有可用的FTP控件,所以使FTP编程将会变得极其方
便。下面我们对编写FTP应用的Form进行设计:
添加TNMFTP控件:NMFTP1
添加Label控件:Label1、Label2、Label3、Label4、Label5、La
bel6
Label1.Caption = ‘主机名称'
Label2.Caption = ‘主机端口号'
Label3.Caption = ‘用户名'
Label4.Caption = ‘用户口令'
Label5.Caption = ‘代理服务器'
Label6.Caption = ‘代理端口号'
添加Edit控件:HostTxt(FTP主机名)、PortTxt(FTP主机端口)、U
serTxt(用户名)、PassTxt(用户口令)、ProxyServerTxt(代理服务器
地址)、ProxyPortTxt(代理服务器端口)
添加CheckBox控件:CheckBox1CheckBox1.Caption = ‘使用代理
服务器'
添加Button控件:Button1(连FTP主机)、Button2(断开FTP主机)
、Button3(列FTP目录)
Button1.Caption = ‘连接'
Button2.Caption = ‘断开'
Button3.Caption = ‘列目录'
将以上控件以友好界面方式在Form中进行放置。
编写Button1的Click事件为:
procedure TForm1.Button1Click(Sender: TObject);
begin
If CheckBox1.Checked then
Begin
NMFTP1.Proxy := ProxyserverTxt.Text;
NMFTP1.ProxyPort := StrToInt(ProxyportTxt.Text);
End;
NMFTP1.Host := HostTxt.Text;
NMFTP1.Port := StrToInt(PortTxt.Text);
NMFTP1.Timeout := 5000;
NMFTP1.UserID := UserTxt.Text;
NMFTP1.Password := PassTxt.Text;
try
NMFTP1.Connect;
except
On E:Exception do
writeln(E.message);
end
end;
编写Button2的Click事件为:
procedure TForm1.Button2Click(Sender: TObject);
begin
NMFTP1.Disconnect;
end;
编写Button3的Click事件为:
procedure TForm1.Button3Click(Sender: TObject);
begin
try
NMFTP1.List;
except
end;
end;
另外FTP控件还具有其他功能,如:MakeDirectory(创建目录)、Re
moveDir(删除目录)、Rename(文件更名)、Delete(删除文件)、Uploa
d(上载文件)、Download(下载文件)等,在此不再讲述,大家如需要编
写这些功能,可自己增加。
本程序在Windows98+Delphi5.0下调试通过。