收藏 分销(赏)

VB与Internet编程初步.ppt

上传人:pc****0 文档编号:13789994 上传时间:2026-04-15 格式:PPT 页数:22 大小:356.50KB 下载积分:10 金币
下载 相关
VB与Internet编程初步.ppt_第1页
第1页 / 共22页
VB与Internet编程初步.ppt_第2页
第2页 / 共22页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,在,VB,里,用户直接使用集成的动态,HTML,语言(简称,DHTML,)来开发基于,HTML,语言的应用程序。,DHTML,将文档中的每一个元素都看成一个对象,通过对象的属性、事件和方法来操纵对象以改变浏览器中显示的内容。,DHTML,的编程与,VB,编程有所不同,前者以窗体为基本界面,后者则使用,Web,页,但还是有很大的相似性。,VB,使用,DHTML,应用程序设计器来开发,DHTML,类型的应用程序。单击“新建工程”中的“,DHTML,应用程序”即可打开,DHTML,页面设计器界面,参见图,15-1,(为例,15-1,的设计界面)。,图,15-1 DHTML,页面设计器,第,15,章,VB,与,Internet,编程初步,15.1 DHTML,页面设计器,15.2 DHTML,页面设计示例,15.3 VB,应用程序的,Internet,扩展,DHTML,页面设计器有两个窗格,即左边的“树形视图”窗口和右边的“细表”窗口,在“树形视图”窗口显示,HTML,页面里所有元素的分层结构。页面设计器为每一个元素列出其,ID,、控件类型,并且在某些情况下列出元素开始的内容。如果某个元素不包含,ID,,就在属性窗口为它指定一个。具有,ID,的元素以粗体显示。在“细表”窗口显示页面的可视化界面,在其上创建新的页面或编辑已有页面。在,DHTML,页面设计器窗体的上方,有一个与,Microsoft Word,的格式工具栏相似的格式化工具栏,可以设置页面的元素格式编排、字体属性和对齐方式等内容。,在格式化工具栏的下方有一排工具按钮,分别是,DHTML,页面设计器属性、执行编辑器、在选项首尾添加,标记、在选项首尾添加,标记、将选项转化为链接、表操作、显示表边界、显示细节、绝对位置、锁定、绝对位置模式和顺序按钮。,在创建,DHTML,工程的同时将创建,modDHTML,模块,其中包含两个函数:,PutProperty,函数和,GetProperty,函数。,15.1 DHTML,页面设计器,DHTML,对象模型将,DHTML,中的每个元素部作为对象访问,每一个对象有自己的属性、方法和事件,在创建应用程序时,能够通过,VB,代码对,HTML,页面的布局、位置、每个元素的特性和容器进行动态的修改。主要的,DHTML,对象有,BaseWindow,和,Document,。,DHTML,对象的事件和,VB,事件基本相似,但每个事件都带有前缀,on,。表,15-1,列出了,DHTML,中的部分事件。,事,件,说,明,Onabort,当用户单击浏览器的,Stop,按钮被触发,onreset,当用户单击浏览器的,Refresh,按钮时被触发,onsubmit,当用户单击网页中的提交按钮时被触发,通过对该事件的处,理程序的编写,可以实现在数据被服务器处理前,由客户端进行数据有效性验证,onbeforeunload,当前,HTML,文档被下载时被触发,Onload,在文档被装入以及所有页面元素下载后被触发,Onunload,当前页面被下载时立即被触发,onmouseover,当鼠标第一次移动到某对象时被触发,onmouseout,当鼠标移出某对象时被触发,表,15-1 DHTML,中的部分事件,15.1.1 DHTML,对象模型,对象,说,明,Button,命令按钮,SubmitButton,提交按钮,将网页中的信息提交到某个服务器,ResetButton,复位按钮,清除当前页面上文本域的内容,TextField,只有一行的文本框,TextArea,可支持多行输入输出的文本框,PasswordField,口令输入框,Option,单选按钮,Checkbox,复选按钮,Select,类似于,VB,组合框的下拉列表框,Image,图像框,Hyperlink,超链接,Horizontalrule,水平线,Fileupload,文件上载,HiddenField,可作为临时存储区域的隐藏文本框,InputImage,图像输入域,List,列表框,表,15-2 HTML,工具箱内的控件,可以采用下面列出的方法之一,通过,VB,为,DHTML,应用程序创建页面:,(,1,)通过将,VB,工具箱中的,HTML,对象加入到页面设计器中来创建页面。,(,2,)通过外部的,HTML,编辑器来创建页面。,(,3,)采用组合的方法创建页面。,单击,DHTML,页面设计器内的“,HTML,页面设计器属性”工具按钮,可打开如图,15-2,的,DHTMLPage,属性对话框。如果选择“保存,HTML,于外部文件中”,可以显示“新建”和“打开”按钮。单击“新建”按钮可以在,DHTML,页面设计器内建立新的,HTML,文档保存网页内容。单击“打开”按钮可以将其他外部编辑器建立的,HTML,文档导入到,DHTML,页面设计器中。如果选择“保存,HTML,作为,VB,工程的一部分”,则所设计网页的,HTML,代码将保存在,Dsx,文件中。,15.1.2,设计,DHTML,页面的方法,图,15-2,树形视图窗口,例,15-1,:设计如图,15-3,所示网页。,(,1,)新建工程时选择“,DHTML,应用程序”,打开图,15-1,所示的,DHTML,页面设计器,双击工程资源管理器中“设计器”文件夹中的“,DHTMLPage1,”,打开中间两个窗口。,(,2,)在“细表”窗口输入“蓝天出版社欢迎您”、“新书介绍”、“,读者园地”、“联系方式”四行文字,每输入一行回车。,(,3,)格式化四行文字,如将“蓝天出版社欢迎您”字体设置为“华文彩云”,字号为,6,号。,(,4,)如有必要,在属性窗口设置每行文本的颜色(,Color,)属性,如将“蓝天出版社欢迎您”设置为红色(,red,)。,15.2 DHTML,页面设计示例,(,5,)单击,HTML,工具箱中的,image,控件,在第一行文本的左边画出一定大小的图像框,右键单击该图像框,从快捷菜单中选择“属性”,打开该图像框的“属性”对话框,单击其中“图像源”栏右边的按钮,查找合适的图片,关闭“属性”对话框。在属性窗口将,align,属性为左对齐(,left,)。,在树形视图窗口的,BODY,标记中列出了正在工作的,HTML,网页的原始内容。,BODY,标记包含了控制,Web,网页内容的基本图形外观和动作的指令,参见图,15-2,。,(,6,)单击,DHTML,页面设计器内的“,HTML,页面设计器属性”工具按钮,可打开如图,15-3,的,DHTMLPage,属性对话框。单击“保存,HTML,于外部文件中”按钮,输入文件名“,c:myhtml1.htm,”,。,(,7,)单击“文件”菜单中的“保存”或“另存为”命令,保存所有文件,首先保存的是代码文件,.bas,,取文件名为,myhtml1.bas,,其次保存的是类似于窗体文件的设计师文件,.,dsr,,取文件名为,myhtml1.dsr,,最后保存工程文件,.,vbp,,取名为,myhtml1.vbp,。,设计师文件是包含,HTML,页面全部格式和控件的文件,有,SourceFile,和,BuildFile,属性,分别用来指定设计阶段导入的外部,HTML,文件和最后形成的,HTML,文件。代码文件则包含浏览器包所提供的,PutProperty,和,GetProperty,操作的函数。,程序运行效果参见图,15-4,。注意地址栏中的显示内容,这是,VB,在内存中编译,DHTML,应用程序时,在硬盘上建立的、用于存储程序的一个临时文件。,图,15-3,DHTMLPage,属性对话框,图,15-4,在浏览器中浏览页面,例,15-2,:图,15-4,所示为利用,Microsoft FrontPage,制作的的网页。在例,15-1,的工程中,添加该网页,并创建两个网页的链接。,(,1,)在例,15-1,的设计窗口单击“工程”中的“添加,DHTML Page,”,命令,加入第二个页面设计器,DHTMLPage2,。,(,2,)打开,DHTMLPage2,属性对话框,选择“保存,HTML,于外部文件中”按钮,单击“打开”按钮,浏览并选择图,15-5,网页的文件名“,c:myhtml2.htm,”,。,(,3,)选定,DHTMLPage1,中的“新书介绍”文本,单击工具条中的“将选项转化为链接”按钮将该文本格式化为超链接。,(,4,)打开如图,15-6,所示“新书介绍”文本超链接的属性页,单击“浏览”按钮,浏览并选择图,15-5,网页的文件名“,c:myhtml2.htm,”,。或者单击“树形视图”窗口中的,Hyperlink,标记,然后在属性窗口的,href,属性栏内输入链接目标。,也可以为任意一个事件或元素编写代码来创建网页之间的漫游,如:,Private Function Hyperlink1_onclick()As Boolean,BaseWindow.navigate,myhtml2.htm,End Function,这里使用相对,URL,,也可以使用绝对,URL,:“,c:myhtml2.htm,”,。,采用上述方法,两个网页共用一个浏览器中打开。如果希望在不同的浏览器窗口显示不同的网页,可以使用,BaseWindow,对象的,Open,方法,由,Open,方法指定第二个页面的,URL,实现链接:,Private Function Hyperlink1_onclick()As Boolean,BaseWindow.open,myhtml2.htm,End Function,图,15-6,属性页,图,15-5,在浏览器中浏览,myhtml2,网页,例,15-3,:用,SAPN,标记符标记图,15-1,中的“蓝天出版社”文本,用,DIV,标记符标记图,15-1,中的“联系方式”文本。程序运行时,当鼠标移动到“蓝天出版社”文本上时显示一幅图片,鼠标移出“蓝天出版社”文本上时不显示图片。当单击“联系方式”文本上后其字体颜色变为红色。,实现图片的显示与隐藏的代码为:,Private Sub NUM1_onmouseout(),Image2.Style.visibility=hidden ,在,DHTMLPage_Load,事件过程中应加入同样的代码,End Sub,Private Sub NUM1_onmouseover(),Image2.Style.visibility=visible,End Sub,Private Sub num3_onmouseover(),NUM3.Style.Color=red,End Sub,改变“联系方式”字体颜色的代码为:,Private Sub NUE3_onclick(),NUM3.Style.Color=blue,End Sub,例,15-4,:编写代码,实现当加载例,15-1,的网页时,播放一个,WAV,格式的音乐文件,如“,c:welcome.wav,”,。,(,1,)利用“部件”对话框在工具箱中加载,Multimedia MCI,控件。,(,2,)将,Multimedia MCI,控件添加到网页中,并拖曳到页面的左边缘上。,注:将某个控件拖曳到页面的左边缘上可以使该控件隐含,如果要重新显示该控件,可以在树形窗口中选定该控件,然后利用方向键移动到页面窗体内。,(,3,)编写代码:,Private Sub,DHTMLPage_Load,(),MMControl1.Notify=FALSE,:,MMControl1.Wait=TRUE,MMControl1.Shareable=FALSE,:,MMControl1.DeviceType=,WaveAudio,MMControl1.FileName=,c:welcome.wav,MMControl1.Command=Open:MMControl1.Command=play,End Sub,例,15-5,:页面之间的数据传递在例,15-1,中,当单击“新书介绍”时,打开第二个网页,单击“放入购书栏”,然后单击第三个网页中的“增书”按钮,则将该行读书放入购书栏(即添加到第三个网页的,List1,控件中)。参见图,15-7,。,图,15-7,页面间的数据传递,(,1,)在例,15-1,中添加第三个网页,在页面上添加一个,List1,控件和,Button,控件(,Value,属性值为“增书”)。,(,2,)为第二个网页的每个书名加上,ID,属性值(依次为,Book1,、,Book2,、,Book3,等)。,(,3,)为每个“放入购书栏”所在单元格加上,ID,属性值(依次为,purchase1,、,purchase2,、,purchase3,等)。,(,4,)为使用,Internet Explorer,属性包,在“引用”对话框中选中“,Microsoft Internet Controls”,对象库,SHDOCVW.DLL,。,(,5,)在模块文件中加上如下代码(一般会自动添加这些代码):,Public,objWebBrowser,As,WebBrowser,声明浏览器对象变量,Public Sub,PutProperty(strName,As String,vntValue,As Variant),检查是否有一个浏览器实例,若没有则打开浏览器,If,objWebBrowser,Is Nothing Then Set,objWebBrowser,=New,WebBrowser,调用浏览器的,PutProperty,方法来存储控件对象的值,objWebBrowser.PutProperty,strName,vntValue,End Sub,Public Function,GetProperty(strName,As String)As Variant,If,objWebBrowser,Is Nothing Then Set,objWebBrowser,=New,WebBrowser,调用浏览器的,GetProperty,方法来检索控件对象的值,GetProperty,=,objWebBrowser.GetProperty(strName,),End Function,浏览器,Internet Explorer,属性包中的,PutProperty,函数和,GetProperty,函数用来在,Web,页面之间传递数据,PutProperty,函数储信息到属性包的临时区域,参数,vntValue,为存储的值,参数,strName,指示该存储值的变量名称。,GetProperty,函数通过变量名称从属性包中检索信息,如果变量名称没有找到,则返回空字符串。,(,6,)为每个“放入购书栏”单元格单击事件编写如下类似的代码:,Private Function purchase1_onclick()As Boolean,If purchase1.innerHTML ,已购,Then,purchase1.innerHTML=,已购,PutProperty,ch1,book1.innerHTML,End If,End Function,(,7,)为第三个网页的,Button1,控件的单击事件编写如下代码:,Private Function Button1_onclick()As Boolean,Dim e As,HTMLOptionElement,Set e=,Document.createElement(OPTION,),e.Text,=GetProperty(ch1),e.Value,=,ListItemValue,List1.Options.Add e,End Function,(,8,)为打开第三个网页,编写如下代码:,Private Sub,DHTMLPage_Load,(),BaseWindow.open,myhtml03.htm,End Sub,15.3 VB,应用程序的,Internet,扩展,Visual Basic6.0,提供了许多控件用于,Internet,编程,这些控件是:,(,1,),Internet Transfer,控件。,(,2,),WebBrowser,控件。,(,3,),WinSock,控件。,这里仅就,Internet Transfer,控件作简单的介绍。,使用,Internet Transfer,控件可以通过,OpenURL,或,Execute,方法连接到任何使用这三个协议的站点并检索文件。其基本操作如下:,(,1,)在“部件”对话框中选中“,Microsoft Internet Transfer Controls”,选项。,(,2,)将,AccessType,属性设置为合法的代理服务器。,AccessType,属性设置值为:,0-icUseDefault,:控件使用注册表中的缺省设置访问,Internet,。,1-icDirect,:控件可以直接连接到,Internet,。,2-icNamedProxy,:控件使用,Proxy,属性确定代理服务器。,(,3,)用合法的,URL,调用,OpenURL,方法,(,4,)用合法的,URL,和协议支持的命令调用,Execute,方法。,(,5,)用,GetChunk,方法从缓冲区获取数据。,OpenURL,方法用于打开并返回指定,URL,的文档。文档以变体型返回。该方法完成时,,URL,的各种属性(以及该,URL,的一些部分,如协议)将被更新,以符合当前的,URL,。,语法,object.OpenUrl,url,datatype,例如下面的,URL,将返回在,中找到的,HTML,文档:,Text1.Text=Inet1.OpenURL(),在这种情况下,缺省操作返回的是,URL,定位的,HTML,文档。然而,如果,URL,被改为指向文本文件,则将获得实际的文件。例如,下面的代码:,Text1.Text=Inet1.,OpenURL(ftp:/String,Dim,bData,()As Byte ,数据变量,Dim,intFile,As Integer ,可用文件变量,strURL,=ftp:/,将,intFile,设置为未使用的文件,OpenURL,方法的结果首先传入,Byte,数组,然后将,Byte,数组保存到磁盘。,bData,()=Inet1.OpenURL(strURL,icByteArray,),Open C:Temp,Softlib.e,xe,For Binary Access Write _,As#,intFile,Put#,intFile,bData,(),Close#,intFile,可用类似的过程将文本文件写入磁盘中,不同的只是不再需要,Byte,数组了,数据可以直接保存到文件中:,Dim,strURL,As String URL,字符串,Dim,intFile,As Integer ,可用文件变量,IntFile,=,FreeFile,(),strURL,=,Open,c:tempMSsource.txt,For Output _,As#,IntFile,Write#,IntFile,Inet1.OpenURL(strURL),Close#,IntFile,可以用包含附加数据的,URL,调用,OpenURL,方法。例如,很多,Web,站点提供了搜索数据库的能力。要搜索数据库,则需要在发送的,URL,中包含搜索条件。例如下面的代码用条件“,find=Maui”,调用名为“,search.exe,”,的搜索引擎。,Dim,strURL,As String,strURL,=,=Inet1.OpenURL(strURL),如果搜索引擎找到了符合条件的内容,将合成一个,HTML,文档并携带适当的信息返回。,下面的示例使用,OpenURL,属性来检索,FTP,服务器的目录。,在窗体中放置一个,Internet Transfer,控件和一个,RichTextBox,控件。然后,把这段代码粘贴到声明部分。,Private Sub,Form_DblClick,(),Inet1.AccessType=,icUseDefault,RichTextBox1.Text=Inet1.OpenURL _,(,InputBox(URL,ftp:/,),End Sub,Execute,方法执行对远程服务器的请求命令,这些命令可以是接受文件、发送文件甚至是删除远程服务器的目录,以异步方式工作,其语法格式为:,object.Execute,url,operation,data,requestHeaders,例如,要从远程计算机中得到一个文件,可用下面的代码:,Inet1.Execute FTP:/,GET,test.txt,C:Temp,test.txt,如果正在用,FTP,从匿名,FTP,服务器中获取文件,就应熟悉在服务器目录树中漫游的特定命令,以及将其中文件获取到本地的硬盘中的命令。例如,要用,FPT,协议改变目录,应使用带有希望改变到的目录路径的“,CD”,。,对绝大多数通用操作,如将文件传入服务器,以及从服务器获取文件,,Internet,传输控件在,Execute,方法中使用了(与,FTP,)相同或相近的命令。例如,下面的代码将“,CD”,命令作为,Execute,方法的参数以改变路径:,Inet1.Execute,mytxtURL.Text,CD&,mytxtRemotePath.Text,其中,,mytxtURL,文本框包含了要打开的路径,,mytxtRemotePath,文本框包含了要改变到的路径。,下面的操作得到名为“,test.txt,”,的文件,并将其复制到,C:Temp,test.txt,:,Inet1.Execute,GET,test.txt,C:Temp,test.txt,15.3.2 Execute,方法,在从远程计算机下载数据时,将建立异步连接。,下面的示例在,StateChanged,事件中用,GetChunk,方法来检索一块数据。,Private,Sub Inet1_StateChanged(ByVal State As Integer),State=12,时,使用,GetChunk,方法检索服务器的响应,该示例假定数据为文本类型。,Select Case State,.,其它情况略,Case,icResponseReceived,Dim,vtData,As Variant,Dim,strData,As String:,strData,=,Dim,bDone,As Boolean:,bDone,=False,vtData,=Inet1.GetChunk(1024,icString,),取得第一块数据,DoEvents,Do While Not,bDone,strData,=,strData,&,vtData,DoEvents,vtData,=Inet1.GetChunk(1024,icString,),取得下一块数据,If,Len(vtData,)=0 Then,bDone,=True,End If,Loop,txtData.Text,=,strData,End Select,End Sub,15.3.3,GetChunk,方法,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服