【 tulaoshi.com - 编程语言 】
自从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的文件?恭喜您成功了!->