自從Internet盛行以來,人們對於文件下載、即時信息獲取、電子郵件傳送變得方便許多。Internet可以說是21世紀人類科技的一大創新。由於這個重大改變,人們的生活方式也受到非常大的影響;電子購物、網上信息庫、網上股市實時交易如雨後春筍般的出現。以往,VisualBasic4.0並沒有提供一個完整的solution供VisualBasic的愛好者設計Internet程序。還好,VisualBasic5.0提供了一些控件,供我們設計Internet的相關程序。在本文中,筆者將會用InternetTransfercontrol配合WebBrowsercontrol,來告訴讀者如何用VisualBasic5.0輕松地設計Browser及FTP程序。
Control簡介
InternetTransfercontrol
InternetTransfercontrol是微軟為方便使用者設計Internet應用程序所提供的一種control。它提供兩種Internetprotocol:HTTP及FTP。我們在使用時,必須先設置好它的存取方式。存取方式分為直接連接到Internet網絡,或通過proxy來連接Internet網絡兩種,完全依我們的網絡性質來定。當我們設置好了相關參數之後,InternetTransfercontrol提供兩個method:OpenURL及Execute來讓我們執行網絡相關操作,我們可以用這兩個命令來執行一些Internetcommand。在下面的設計中,筆者會說明它的用法。
WebBrowsercontrol
WebBrowsercontrol最早是由IE3.0所提供,在安裝IE3.0時就會自動載入;VisualBasic5.0將它變成內部控件。它提供Navigatemethod,使我們能夠連接到我們想要去的WWWServer。
各位讀者一定很奇怪:既然InternetTransfercontrol能夠通過HTTP及TPprotocol連接到Internet,我們還要WebBrowsercontrol干甚麼?只因為InternetTransfercontrol並沒有提供圖形模式的存取方式,所得到的文件僅能以文本模式傳回。如果傳回的文件包含圖形的話,還必須將所得到的HTML文件用程序來做一個轉換。所以筆者選擇了WebBrowsercontrol來幫我們做一個轉換。
以下就讓筆者來告訴讀者如何設計WebBrowser及FTPclient。
WebBrowser程序設計
Step1:設置好網絡參數
首先要知道我們的網絡系統是直接連到Internet,還是通過proxy連接到Internet。我們可以通過以下的步驟來確定我們的系統是以哪種方式連接Internet:
在"我的電腦"選項doubleclick進入"控制面板"。在"控制面板"選項中doubleclick進入"Internet"選項。在InternetDialogBox中選擇connection。由屏幕顯示的DialogBox就可以知道系統是通過proxy還是通過dialing的方式連接到Internet。由於筆者的系統是通過proxy連接到Internet,我們必須要找出proxyServer的address及port,以利於程序設置。
接著click"setting"選項來查看它的address及port。屏幕接著會顯示一個DialogBox,裡面記著"addressofproxytouse":172.18.16.65,"port":8080。將它記錄下來,等會兒就會用到這些參數。
Step2:開始設計程序
在File選項中選擇NewProject建立一個新的工程,在屏幕上會看到許多選項,如ActiveXDocument.EXE、ActiveXDocument.DLL、ActiveX.EXE、ActiveXControl等,這時要選Standard.EXE。
接著在Project下,選擇Property屬性選項,在general選項下將ProjectName改為Webbrowser。在屏幕的Form上加入一個Webbrowsercontrol,取名為web1;接著加入一個InternetTransfercontrol,取名為Inet1。
加入三個TextBoxcontrol,分別取名為CGISearch、webname和htmlshow,並在CGISearchTextBox前加入一個Label,將其Caption改為Search。
加入三個Buttoncontrol,分別取名為Search、Go和ShowDoc。將Caption分別改為Se
arch、 Goto和showdocument 。
為方便讀者了解關系,以下以表格解釋一遍:
(TextBox)
Name
-------------------------------------------------
CGISearch(輸入CGI命令)
webname(輸入要前往的webaddress)
htmlshow(顯示html文字結果)
(Button)
NameCaption
---------------------------------------------------------------------------
-----
Search(執行CGI命令)search
Go(執行前往webaddress的動作)Goto
ShowDoc(顯示html文字結果)showdocument
接著將Inet1的各項屬性設置如下:
Accesstype=2-icnamedproxy
protocol=4-icHTTP
proxy=172.18.16.65:8080
在Go_Click()中加入以下程序代碼,這個動作是連接到所想要去的webServer,並將屏幕顯示在web1的方塊區域內:
PrivateSubGo_Click()
web1.Navigatewebname.Text
EndSub
以上程序是運用web1的Navigate,這個method將屏幕連接到webnameTextBox中所指定的網絡站點。
在htmlshow_Click()加入以下的程序代碼:
PrivateSubhtmlshow_Click()
a$=web1.LocationURL
ShowDoc.Text=Inet1.OpenURL(a$)
EndSub
以上程序,是先將web1所連接到的URLaddress,通過LocationURL這個property讀出,並將它暫存於字符串a。接著使用OpenURL()命令來將所接收到的HTML程序代碼,顯示在ShowDoc這個TextBox中。
在CGIserch_Click()中加入以下程序代碼:
PrivateSubCGIserch_Click()
Web1.Navigate"http://search.yahoo.com/bin/Search?p=" CGI.
Text
EndSub
這個動作是用CGI命令來查詢文件。在這裡我們將查詢命令指定傳送到Yahoo這個網絡搜尋站。
這樣我們就完成了一個小型的WebBrowser。
Step3:測試程序
執行剛設計完的WebBrowser,並在webname這個TextBox中填入所要去的網址。這裡我們將它設置為http://www.Microsoft.com。接著按下GoButton,將會看到在web1control的方塊區域內顯示了Microsoft的HomePage。
按下ShowDocButton,將可以在htmlshow這個TextBox中看到MicrosoftHomePage的HTML程序代碼。
接下來讓我們試試CGI搜尋功能。在CGIserchTextBox中加入communication,結果我們發覺查詢的結果顯示在web1方形區域中。
同樣的,我們也可以按下ShowDocButton,將可以在htmlshow這個TextBox中,看到查詢結果所傳回的HTML程序代碼。
恭喜您成功了!
FTP程序設計
前面提到InternetTransfercontrol可以提供FTPprotocol,這裡我們便要告訴您如何運用InternetTransfercontrol來設計一個可以連接FTPServer的client程序,並將FTPServer上的bbb.txt文件download到local端。
Step1:程序設計
在File選項中選擇NewProject建立一個新的工程,在屏幕上看到許多選項,如ActiveXDocument.EXE、ActiveXDocument.DLL、ActiveX.EXE、ActiveXControl等,這時要選Standard.EXE。接著在Project下,選擇Property屬性選項,在general選項下將ProjectName改為FTPclient。
在屏幕的Form上加入一個InternetTransfercontrol,取名為Inet1。將Inet1property的參數設置如下:
Accesstype=2-icnamedproxy
Username="david"
password="2333334"
protocol=2-icFTP
proxy=172.18.16.65:8080
我們在此將Username及password設置好,當我們Login進入FTPServer時,Server將會直接跳過輸入Username和password的屏幕。
加入一個TextBoxcontrol,取名為FTPgetfile。加入兩個Buttoncontrol,取名為FTPget和FTPLink,分別將其Caption改為FTPget和FTPLink。
在FTPLink_Click()中加入以下程序代碼:
PrivateSubFTPLink_Click()
Inet1.excute"FTP128.9.200.4"
EndSub
Execute是InternetTransfercontrol提供的一個用來執行FTP公用程序的method,我們可以在它的後面加入FTP的命令,這樣我們就可以使用任何熟悉的FTP公用程序來完成工作。筆者的FTPServer地址是128.9.200.4,所以我們在FTP命令後面填入這個地址。
接著在FTPget_Click()中加入以下程序代碼:
PrivateSubFTPLink_Click()
Inet1.excute"GETaaa.txtc:bb.txt"
EndSub
這個動作是將FTPServer上的aaa.txt文件傳送到client端。
Step2:測試
將FTPclient執行起來,按下FTPLinkButton,連結到FTPServer。按下FTPgetButton,取回文件。有沒有發覺到在C:目錄下面多了一個bbb.txt的文件?恭喜您成功了!->