Dim bDone As Boolean: bDone = False
Select Case State
Case icResponseReceived
VtData = Inet1.Getchunk(1024,icString)
DoEvents
Do While Not bDone
StrData = strData & vtData
DoEvents
VtData = Inet.Getchunk(1024, icString)
If Len(vtData) = 0 Then
Bdone = True
End If
Loop
TxtData.Text = strData
End Select
End Sub
Cancel方法
该方法强制终止当前的操作并关闭当前的连接.在使用Cancel方法之前,最好检查一下StillExecuting属性是否为False,这就可以保证安全地断开连接.在某些情况下,可能希望只传输刚开始的某些字节,这就可以使用Cancel方法来强制结束这次传输并断开连接.
11.1.4 Internet Transfer控件的事件
Internet Transfer控件只触发一个事件:StateChanged事件.当用Execute方法或OpenURL方法向远程服务器发送一个请求命令后,服务器返回的任何响应导致状态改变都触发StateChanged事件.在此事件中出现如表11.3中列出的一些状态.
根据这些不同的状态,
程序可以显示当前的状态信息,处理错误信息或者继续传输大块数据等.
因为OpenURL方法是以同步方式工作的,因此激发StateChanged事件可能导致重入
问题.
11.1.5 用Internet Transfer控件登录到FTP服务器
FTP服务器有两种:公用的和私有的.公用服务器是对所有人开放的.而私有服务器只对授权用户开放.在这两种情况下,FTP协议都要求提供用户名和密码.
要登录到公用服务器,通常是以"anonymous"登录 (UserName=" anonymous"),然后用发送用户的电子邮件名称作为密码.然而使用Internet Transfer控件时,这一过程还能进一步简化.按照缺省规定,如果没有提供UserName和Password属性值,该控件将发送"anonymous"作为UserName,用户的电子邮件名称作为Password.
如果要登录到私有服务器,只需要适当地设置UserName,Password和URL属性,并调用Execute方法,如下面的代码所示.
With Inet1
.URL="ftp//ftp.myftpsite.com"
.UserName ="Zhangsan"
.Password="123456"
.Execute,"DIR" '返回该目录.
.Execute,"CLOSE" '关闭连接.
End With
在调用Execute方法之后,FTP连接仍旧打开着.这时可以继续使用Execute方法完成其它FTP操作,例如CD和GET等.如果会话已经完成,使用Execute方法执行CLOSE操作以断开连接.也可以通过改变URL属性,并调用OpenURL或Execute方法,自动关闭原来的连接,这样的操作会关闭当前FTP连接,并打开新的URL.
11.2 Web浏览器控件WebBrowser
11.2.1 浏览器控件WebBrowser的基本概念
主要用途
使用WebBrowser控件可以很轻松地创建自己的Web浏览器,这种浏览器可以用来完成如下两种任务:
(1)通过HTTP协议从WWW站点
下载网页,放在控件窗口中供用户浏览.
(2)可以浏览本地
计算机的桌面和"我的电脑"中的文件夹.
在工程中添加控件
用鼠标右键单击工具箱空白处,弹出菜单中选"部件"菜单项,在选择部件窗口中选中该控件的ActiveX文件,如图11-2所示.
图11-2 在工程中添加浏览器控件WebBrowser
.
11.2.2 浏览器控件WebBrowser的主要属性
定位资源的LocationURL属性
该属性返回浏览器控件中显示内容所属的URL名称.如果当前显示的是WWW上的HTML页面,那么它返回URL地址名称,如http:/www.cctv.com;如果当前显示的是本地
计算机或局域网上的文件或文件夹,那么它和LocationName一样,返回全路径的文件名或文件夹,例如:File://D:/VB教程.
获取文件路径名的LocationName属性
该属性返回浏览器控件中显示的内容的名称.如果当前显示的是WWW上的HTML页面,那么它返回这一页的标题.如果当前显示的是本地
计算机或局域网上的文件或文件夹,那么它返回的全路径的文件名或文件夹名.
表明浏览器忙的Busy属性
该属性表明浏览器控件是