編程完成撥號網絡連接及FTP應用
發表時間:2023-08-12 來源:明輝站整理相關軟件相關文章人氣:
[摘要]本文介紹了Windows下如何在程序中加入撥號網絡,如何自己編寫 程序實現FTP功能。 Windows本身帶有撥號網絡功能。由于撥號網絡不是一個可執行 文件,所以不能用 " ...
本文介紹了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下調試通過。