欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    使用ActiveX服务器组.ppt

    • 资源ID:4938076       资源大小:797KB        全文页数:91页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    使用ActiveX服务器组.ppt

    第11章 使用ActiveX服务器组件,本章主要内容,安装好ASP使用环境后,就可以使用一些它附带的组件,还可以从Internet上下载无数的组件。甚至可以创建自己的组件。本章主要讨论以下各种组件的使用:文件访问组件 广告轮播组件 浏览器信息组件 内容链接组件 创建自己的组件,本章目录,11.4 内容链接组件,11.1.1 使用文本文件,11.1.2 文件夹对象,11.1.3 驱动器,11.1.4 文件处理,11.2 广告轮播,11.1 文件访问,本章小结,习题,11.5 自制ActiveX服务器组件,11.5.1 建立组件文件,11.3 浏览器信息组件,11.5.2 注册组件,11.5.3 在网页中创建并使用组件,11.1 文件访问,ASP提供了FileSystemObject对象用于获得对文件、文件夹和驱动器的访问。使用FileSystemObject对象,可以创建File、Folder和Drive对象,分别用来代表计算机上的文件、文件夹和驱动器。每一个对象都有一些属性和方式来完成所需的任务。,11.1.1 使用文本文件,使用文本文件可以方便地记录少量信息或者记录一些没有格式要求的信息。如网页的点击次数等。对此主要讨论以下内容:1.创建新文件 2.读取文件 3.文件中追加数据,1.创建新文件,要创建新文件,要按如下步骤:使用Server对象的CreateObject方法创建文件系统对象(FileSystemObject)用文件系统对象的CreateTextFile方法创建文本流文件(TextStream)使用文本流文件的写方法写入一些内容用close方法关闭这些对象释放这些对象,创建新文件例,网页内容,创建一个文件系统对象,执行本例脚本,建立文本文件对象,向文件中写入内容,关闭文件,撤消对象,创建新文件例,本例的代码执行后没有任何显示,完成后可通过文本编辑器打开C盘根目录下asp.txt文件,观察写入的内容。例中涉及以下内容:创建文件系统对象建立文本文件对象向文件中写入内容关闭文本文件撤消文本文件对象,(1)创建文件系统对象,通过服务器对象创建一个文件系统对象(FileSystemObject)。形式如下:Set objFS=Server.CreateObject(Scripting.FileSystemObject)其中:objFS为创建的对象名称。,(2)建立文本文件对象,通过执行文件系统对象的CreateTextFile方法,可以建立一个文本文件对象,形式如下:Set 文件变量名=CreateTextFile(文件路径,覆盖方式,编码方式)其中:文件路径指出要创建文件所在的目录路径及文件名,使用物理路径。覆盖方式是可选的,默认为TRUE,表示如果存在同名的文件,则覆盖该文件,若设置为FALSE,则当存在同名文件时会返回错误信息。编码方式是可选的,默认为FALSE,表示使用ASC码形式进行创建和保存。如果选择TRUE,将以Unicode方式创建和保存。,(3)向文件中写入内容,向文件中写入内容可使用文本文件对象的有关方法,主要有如下几种:write(字符串):将一个字符串写入文本文件,但不换行。writeLine(字符串):将一个字符串写入文本文件,并随后写入一个换行符。字符串缺省时,表示只写入一个换行符。WriteBlankLines(n):写入n个换行符。,(4)关闭文本文件,使用文本文件对象的close方法关闭文本文件,形式如下:objTextS.Close其中objTexts为文本文件对象。,(5)撤消文本文件对象,撤消文本文件对象和撤消文件系统对象分别使用如下形式:set objTextS=Nothing set objFS=nothing,2.读取文件,要读取文件中的数据,首先需要用文件系统对象的打开文本文件(OpenTextFile)方法来创建一个TextStream对象,再用该对象的有关方法来对文件进行读取操作。,读取文件例,loop objTextS.Close set objTextS=Nothing set objFS=nothing%,打开文件,建立文件系统对象,当文件没有结束时循环,读一行,输出一行,关闭并释放对象,读取文件例,浏览结果如图,验证本例,打开文本文件,打开一个文本文件形式如下:Set 文件变量=objFS.OpenTextFile(文件路径,打开方式,创建选项,编码方式)其中:打开方式是可选参数,指出打开该文件是用来进行读、写还是追加。默认为1表示读,设置为2时表示进行写操作,8表示进行追加操作。创建选项是可选参数,默认为False,当设为TRUE时,表示若该文件不存在,创建该文件。格式中的“文件路径”和“编码方式”的含义与CreateTextFile方法的相应参数相同。,文本文件对象的属性,文本文件对象有如下几种属性用于读的控制操作:AtEndOfLine表示当前是否处于行末。AtEndOfStream表示当前是否处于文件结束位置。Column用于返回当前字符的列号,第一个字符的列号为1。Line用于返回当前行处于文件中的第几行。,文本文件中读取数据,文本文件中读取数据有如下几种方法:Read(n)从文本文件中读取n个字符。ReadLine 用于从文本文件中读取给定行号的一行内容。ReadAll 用于读取文件的所有内容。Skip(n)跳过n个字符。SkipLine(n)跳过n行。,3.文件中追加数据,要向已经存在的文件中添加内容,可以使用添加方式打开文件,即在打开文件的方法中选择打开方式为8。形式如下:set objTextS=objFS.OpenTextFile(C:asp.txt,8)其后就可以象创建文件时那样写入内容了。,文件中追加数据例,建立文件系统对象,打开文件,关闭并释放对象,写入几行内容,文件中追加数据例,因本例中使用缺省方式,应先执行例1的脚本。本例脚本执行完后,可通过运行例2中的脚本来观察结果,显示形式如图所示。,执行例1脚本,执行本例脚本,执行例2的脚本观察结果,11.1.2 文件夹对象,通过文件系统对象的GetFolder方法,可以创建文件夹对象,形式为:set 文件夹变量=文件系统对象.GetFolder(“目录名”)这里的目录名使用物理路径的形式,如果要为某个虚拟目录建立文件夹对象,可以先使用Server对象的MapPath方法来求出对应的物理路径。,1.文件夹对象的属性,创建文件夹对象后,就可以使用该对象的以下属性:name属性=求出该文件夹的名称用Files属性集合=求出该文件夹中包含的所有文件用SubFolders属性集合=得到该文件夹中所包含的所有子文件夹。,1.文件夹对象的属性,另外还有:Attributes=文件属性DateCreated=建立日期和时间DateLastAccessed=最后访问日期和时间DateLastModified=最后修改日期和时间,2.文件夹对象的方法,可以使用如下方法:Copy=复制Delete=删除Move=移动,文件夹对象使用举例,例4:显示C盘根目录中所有文件和文件夹 next,建立文件系统对象,建立文件夹对象,对文件夹中所以子文件夹循环,显示文件夹名称、标志、日期时间,文件夹对象使用举例,for each file in objFolder.Files str=file.name for i=18 to len(str)step-1 str=str Response.write file.DateLastModified&next set objFolder=Nothing set objFS=nothing%,对文件夹中所以文件循环,显示文件名、大小,显示文件日期时间,释放对象,文件夹对象使用举例,浏览结果,验证本例,11.1.3 驱动器,通过文件系统对象的GetDrive方法可以创建一个驱动器对象,使用形式为:set 驱动器对象变量=文件系统变量.GetDrive(“驱动器名”)例如:set objDrive=objFS.GetDrive(“C:”),驱动器常用的属性,常用的属性:FileSystem 文件系统类型VolumeName 卷标名称FreeSpace 自由空间TotalSize 总空间RootFolder 根文件夹SerialNumber 序列号ShareName 共享名称IsReady 是否就绪DriveType 启动器类型,驱动器使用例,例5:显示某驱动器的一些属性 str=str+驱动器字母:&objDrive.DriveLetter&if objDrive.IsReady then str=str+处于就绪状态 str=str+文件系统:&objDrive.filesystem&str=str+自由空间:&int(objDrive.freespace/1024)&KB str=str+总空间:&int(objDrive.Totalsize/1024/1024)&MB else str=str+不在就绪状态 end if,建立文件系统对象,建立驱动器对象,驱动器是否就绪,驱动器使用例,例5:显示某驱动器的一些属性(续)select case objDrive.DriveType case 0:drivetype=未知 case 1:drivetype=软盘 case 2:drivetype=硬盘 case 3:drivetype=网络盘 case 4:drivetype=CD-ROM case 5:drivetype=虚拟盘 end select str=str+驱动器类型为:&drivetype&Response.write str set objdrivet=Nothing set objFS=nothing%,释放对象,判别驱动器类型,驱动器使用例,浏览结果如图所示。,注意:读者验证本例时,应在脚本的第3行中改用与自已机器相适应的驱动器名。,验证本例,11.1.4 文件处理,常用的文件处理包括文件的复制、移动、删除以及检测文件是否存在等。通过文件系统对象的相应方法就可以很方便地实现这些操作。,1拷贝文件,使用文件系统对象的CopyFile方法,可以实现文件的复制,使用形式:对象变量名.CopyFile 源文件,目标文件,覆盖方式其中:指出源文件时,可包含统配符来指出多个文件,覆盖方式表示当目标文件存在时,是否覆盖。,2移动文件,使用文件系统对象的MoveFile方法,可以实现文件或文件夹的复制,使用形式:对象变量名.MoveFile 源文件,目标文件同样,可使用统配符来指出移动多个文件,当目标文件存在时,系统将给出错误提示。,3删除文件,使用文件系统对象的DeleteFile方法,可以删除指定的文件,使用格式如下:对象变量名.DeleteFile 文件路径同样可以使用统配符来指出多个文件。,4检测文件是否存在,通过文件系统对象的FileExists方法,可以检测文件是否存在,使用形式为:对象变量名.FileExists(“文件路径”)对于象文本文件,在打开前,可以先用此方法了解文件是否存在,再决定如何打开该文件。,5使用文件对象,通过文件系统对象的GetFile方法可以创建File对象,用该对象同样可以得到文件的有关属性。使用文件对象同样可以实现文件的复制、移动和删除操作,只是由于源文件已经指定,所以格式有所不同,分别如下:文件对象名.Copy 新文件,覆盖方式文件对象名.Move 新文件文件对象名.Delete,文件对象使用例,例6:文件操作,建立文件对象,进行文件操作,释放对象,执行本例脚本,11.2 广告轮播,当你需要按照不同的概率随机地显示不同的广告时,可以使用ASP附带的Ad Rotator组件,称为广告轮换组件。当网页被加载时,它能按照指定的权重选择某一广告图片,并建立对应的超链接,这样,当用户单击该图片时,转向事先指定的网页,同时,可以记录该广告的点击次数。,11.2 广告轮播,示义,统计处理文件,实际网站,网页内容Ad Rotator组件网页内容,ASP文件内容,网页内容图片和超连接网页内容,浏览器得到的内容,点击广告后转到网页,广告信息,实际网站,实际网站,实际网站,实际网站,根据广告信息转到实际网站,随机产生,11.2 广告轮播,要使用该组件,需要完成以下几部分内容:准备数据文件(信息文件)在网页中使用组件创建一个组件对象 调用这个对象 建立统计处理网页,1.数据文件(信息文件),信息文件包含两部分信息,一部分是公用信息,包括:REDIRECT项用于指出当用户点击广告图片时,重定向到哪个网页文件。WIDTH项指出广告图标的显示宽度。默认值为440。HEIGHT项指出图标的显示高度。默认值为60。BORDER项指出广告图标显示时是否加边框。,1.数据文件(信息文件),第二部分是各个广告的信息,包含:图片文件名,实际需要转向的地址(网站地址),图片说明信息,该广告的显示权重等4项信息。例:software.gif微软站点40,1.数据文件(信息文件),信息文件完整形式如下:REDIRECT L11_7a.aspWIDTH 200HEIGHT 30BORDER 0*a1.gifL11_1.asp文件使用的第一个例子30software.gif微软站点40a2.gifL11_2.asp文件使用的第二个例子30,按30:40:30的比例显示3个不同的广告,图片大小为200*30,无边框,信息文件以txt为扩展名存放,2.创建组件对象,使用Server对象的CreateObject方法创建组件对象,形式如下:Set objAd=Server.CreateObject(“MSWC.AdRotator”)其中:objAd为创建的组件对象名,3.调用组件对象,在网页中需要显示广告图片的位置上调用这个对象的GetAdverTisment方法。形式如下:其中:文本文件adrot.txt中包含了所有要显示广告的有关信息,称为广告轮播的信息文件。,3.调用组件对象,从浏览时查看源代码得到,调用组件对象的地方形成了如下形式的超链接:可以看出,该超链接中把真正要转向的位置作为查询字符串发送到指定文件。,4.建立统计处理网页,统计处理网页,用于保存广告被点击的次数,并通过Request(“url”)得到真正应该转到的地址,用Response对象的redirect方法重定向到目标地址。一般内容如下:其中,前一行是将实际要转到的地址存入日志文件中,后一行实现重定向。,例:使用广告轮换的网页,网页内容欢迎你到我的个人主页,例:使用广告轮换的网页,浏览结果本例执行时会随机显示如下几种形式。,执行本例脚本,11.3 浏览器信息组件,通过浏览器信息组件(BrowserType)可以获得有关浏览器的必要信息。创建一个BrowserType对象的方法如下:Set objBT=Server.CreateObject(“MSWC.BrowserType”)一旦这种类型的对象创建后,就可以通过它的各种属性,得到相应的值。,BrowserType对象主要属性:,有如下主要属性:ActiveXControls:指出该浏览器是否支持ActiveX控件。backgroundsounds:指出该浏览器是否支持背景音乐。Beta:指出该浏览器是否测试版。Browser:指定该浏览器的名称。Cdf:指出该浏览器是否支持用于Web预测的ChannelDefinitionFormat。Cookies:指出该浏览器是否支持cookies。Frames:指出该浏览器是否支持框架。,BrowserType对象主要属性:,有如下主要属性:Javaapplets:指出该浏览器是否支持Java程序。Javascript:指出该浏览器是否支持JavaScript。Platform:指出该浏览器的运行平台。Tables:指出该浏览器是否支持表格。Vbscript:指出该浏览器是否支持VBScript。Version:指出该浏览器的版本号。,使用浏览器信息组件,网页内容浏览器名:版本号:是否支持框架:是否支持Cookies:是否支持背景音乐:,使用浏览器信息组件,浏览结果,验证本例,11.4 内容链接组件,内容链接组件可以方便地根据存放在内容列表文件中的内容,获得与内容对应的访问地址,从而方便地实现内容列表和自动链接的建立。对此分别讨论以下有关内容:目录列表文件 创建内容链接对象 内容链接对象的方法,1.目录列表文件,目录列表文件的每一行记录了一个网页地址(或文件名)和对应的说明信息,中间用TAB隔开,并以TXT文件存放。例:tindex1.Gif图片1tindex2.Gif图片2tindex3.Gif图片3tindex4.Gif图片4,2.创建内容链接对象,创建内容链接对象方法如下:Set 对象变量名=Server.createobject(MSWC.nextlink)即使用server对象的createobject方法。对象创建后就可以使用它的方法实现一些功能。,3.内容链接对象的方法,GetListCount(文件名):求内容列表文件中的行数GetListIndex(文件名):求当前页在内容列表文件中的索引值,即使用该方法的网页文件名在列表文件中所处的行号。当该页不在列表中时返回零。GetPreviousURL(文件名):显示列表文件中当前页的前一个页的地址。GetPreviousDescription(文件名):求列表文件中前一页的说明信息。,3.内容链接对象的方法,GetNextURL(文件名):求列表文件中下一页的地址。GetNextDescription(文件名):求列表文件中下一页的说明。GetNthURL(文件名,n):求列表文件中第n页的地址,n大于页数时,返回最后一页地址。GetNthDescript(文件名,n):返回列表文件中第n页的说明。,内容链接对象使用例,例9:为一组图片文件建立一个目录列表(1)建立目录列表文件,文件名为“L11_9.txt”,输入内容如下:tindex1.Gif图片1tindex2.Gif图片2tindex3.Gif图片3tindex4.Gif图片4,例9:为一组图片文件建立一个目录列表,(2)再建立一个网页文件,内容如下:内容列表,对目录列表文件中每一行循环,显示一个超连接,形成无序列表,例9:为一组图片文件建立一个目录列表,浏览结果在t子目录中放入一组图片文件,文件名为index1.Gif、index2.Gif等,单击“图片1”链接时,显示如右图。,验证本例,内容链接对象使用例,例10:假如有一组图片,文件名分别为02.jpg,03.jpg,希望通过网页的形式逐个显示,可以建立一个网页文件,其内容如下:,建立内容链接对象,得到当前网页在目录列表文件中的序号,例10:逐个显示图片,nLIndex)then Response.write objL.GetNthDescription(L11_10.txt,nLindex)&end if if(nLindex1)then Response.write 前一页 end if,显示本页标题,不是第一页时,显示前一页按钮,本页要显示的图片文件,例10:逐个显示图片,if(nLindexobjL.GetListCount(L11_10.txt)then Response.write 下一页 end if%,不是最后一页时,显示下一页按钮,例10:逐个显示图片,其中:文件“02.jpg”是要显示的图片的文件名,假设把它保存成“02.asp”,接着可以把代码中的“02.jpg”改为“03.jpg”,并把该文件另存为“03.asp”,重复上述过程,根据不同的图片文件产生一系列的ASP网页文件。,例10:逐个显示图片,建立一个内容列表文件(本例中文件名为“L11_10.txt”,形式如下:04.asp童趣 02.asp泰山一游 03.asp相伴一生,例10:逐个显示图片,最后打开网页,根据图片文件的内容,可以依次游览出如下各图所示结果。,验证本例,内容链接对象使用例,例11:在线教程可以建立一组如下形式的网页,并建立一个列表文件,将各页对应的标题记录下来,这样用户就可以按顺序地浏览网页了。这里是教程某一页的显示内容.%dim objL,nLindex,iset objL=Server.createobject(MSWC.nextlink),建立内容链接对象,例11:在线教程,nLindex=objL.getlistindex(L11_11.txt)if(nLindex1)then Response.write Response.write(前一页)end if,得到当前网页在目录列表文件中的序号,不是第一页时,显示前一页按钮,例11:在线教程,if(nLindexobjL.getlistcount(L11_11.txt)then Response.write Response.write(后一页)&objL.GetNextDescription(L11_11.txt)Response.write end if%,不是最后一页时,显示下一页按钮,例11:在线教程,内容列表文件如下所示:L11_11.asp第一节L11_11a.asp第一节(续)L11_11b.asp第二节,例11:在线教程,浏览结果,验证本例,11.5 自制ActiveX服务器组件,为了进一步的开发,有必要了解自己制作ActiveX服务器组件的一般方法。在许多不同的编程环境中都可以制作ActiveX服务器组件,但对于本课程来说,用Visual Basic来制作ActiveX服务器组件是最方便的,具体过程如下:(1)建立组件文件(动态链接库)(2)注册组件(3)在ASP文件中使用组件,11.5.1 建立组件文件,建立组件文件按如下过程进行:新建ActiveX DLL设置工程名和类模块名输入函数定义指出工程的起始位置 保存工程,编译生成动态连接库文件,1.新建ActiveX DLL,首先,打开Visual Basic 5.0,在出现的初始窗口中,选择新建ActiveX DLL,如图所示。,2.建立组件文件,单击工程资源管理器窗口中的工程1,从属性窗口中将其改名为MyPrj,再单击类模块名(Class1),从属性窗口中将其改名为Math。,2.建立组件文件,这样就确定了以后在ASP网页中需要创建的组件名称了。形式为:Set obj=Server.CreateObject(“MyPrj.Math”)其中:MyPrj为工程名,而不是工程文件名,Math为工程中类模块名,而不是类模块文件名。尽管两者可以同名。,3.输入函数定义,在类模块的代码窗口输入函数定义,这些函数在ASP文件中将作为所创建的对象的方法使用,本例中以定义一个求两个数的最大公约数为例,输入以下内容:Public Function gcd(a,b)Dim r If b=0 Then gcd=a Else r=a Mod b While r 0 a=b b=r r=a Mod b Wend gcd=b End IfEnd Function,4.指出工程的起始位置,接着再在“工程”菜单中选择“添加模块”,在模块的代码窗口输入如下内容:Sub Main()End Sub用于指出工程的起始位置。如图所示:,5.编译生成动态连接库文件,最后形成的工程资源管理器窗口形式如图。,选择“文件”菜单中的“保存工程”将文件存盘,再在“文件”菜单中选择“生成MyPrj.dll”,编译生成一个动态连接库文件“MyPrj.dll”.,11.5.2 注册组件,进入MS-DOS方式,在存放MyPrj.dll的目录下执行如下的注册命令:c:windowssystemregsvr32 MyPrj.dll其中前面部分是文件regsvr32.exe所在的目录路径。用户应根据自己机器的安装情况作适当调整。正确执行后显示如图提示。,11.5.3 在网页中创建并使用组件,建立网页文件如下:and Request.form(b)then a=Request.form(a)b=Request.form(b)set obj=Server.createobject(MyPrj.Math)Response.write 调用自制组件 Response.write a&和&b&的最大公约数为&obj.gcd(a,b)&set obj=nothing else%,调用自制组件求a,b最大公约数,11.5.3 在网页中创建并使用组件,请输入两个数:a=b=,显示表单用于输入a,b俩数,11.5.3 在网页中创建并使用组件,浏览结果,验证本例,本章小结,本章介绍了常用的几个ActiveX组件的使用方式,灵活使用这些组件,可以大大地提高应用程序的开发效率。尤其是对文件的访问,它是数据库的一个补充。另外,本章也介绍了用VB来编写自己的组件的一般过程,这为以后进行应用程序的开发打下了一定的基础。,习题,1改变global.asa文件中的Session_Onstart代码,使用文件保存网页的点击计数值。2请说出函数和方法的区别。3你是否想知道撤消注册的方法,你可以在DOS提示符下得到应有的帮助。4请参照例11-10的过程,将一组图片链接成一个顺序链表。5内容链接对象可以实现内容的顺序链接,你能用它实现层次型的链接关系吗?,

    注意事项

    本文(使用ActiveX服务器组.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开