本文介绍了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下调试通过。 |