您的位置:首页精文荟萃软件资讯 → ASP讲座之五:ASP组件(二)

ASP讲座之五:ASP组件(二)

时间:2004/10/7 19:17:00来源:本站整理作者:蓝点我要评论(0)

在上一讲中,我们学习了如何创建组件,使用了浏览器能力组件、File Access组件、AD Rotator组件和Content Linking组件,也知道了Server对象的CreateObject方法、MapPath方法和HTMLEncode方法。本讲将继续组件的学习。



一、  Email组件:NTS Collaboration Data Objects

我们在网上经常看到,许多站点均提供在线发信功能(即用表单实现Question提交,Support或信息反馈等等)或者给访问者发送确认信息。这一功能对个人主页来说是很难达到的,因为需要主页提供商额外的支持(我个人主页上的在线写信是用CGI写的,与ASP无关),这里就其原理举一简单的例子:

特别说明:本讲座所举的所有例子均在Windows NT4.0 Server+IIS(Internet Information Server)4.0上调试,但其中大部分也适用于Windows9.x+PWS。不过要好好学用ASP,最好再装一个Windows NT与Windows95/98并存(没装过不要怕,很容易的,只要机器稍微好一点就行了,NT安装后能自动做成Win NT/Win9.x双启动)。

<%    ‘wuf30.asp

Dim Mail

'建立一个Email组件

Set Mail = Server.CreateObject("CDONTS.NewMail")

'发送Email

Mail.Send "From@intldept.com","To@intldept.com","Subject","Body"

Set Mail = Nothing

%>

这是一个最简单的例子,事实上,使用该组件,你可以发送纯文本格式邮件或者HTML超文本格式邮件,该组件也支持抄送(CC)和密件抄送(BCC),并且可以包含图片和附件,甚至还以可接收邮件,应该说功能还是比较强大的。但我个人并不是很欣赏,因为要使用该组件,必须安装Windows NT Server和IIS4.0的SMTP服务(微软风格),并且该组件不支持POP3协议。因此如果使用该组件不能正常发送邮件,你可以打开Internet Server Manager看看Default SMTP Site是否已启动(Start)以及一些相关的设置。不过,如果你是一个微软迷,可去我的主页(http://wuf.bentium.net/)下载该组件的例程wuf31.asp和sendmail.asp自己研究。



二、  使用第三方组件

到现在为止,我们所介绍的组件均包含在IIS4.0中,你可以直接使用这些组件。除此之外,你还可从Microsoft IIS Resource Kit光盘中获取以下两个组件(或者去http://www.microsoft.com/iis碰碰运气看是否有下载):

l  Page Counter组件:网页计数器

l  Permission Checker组件:网页存取权限确认组件

IIS4.0内置组件的介绍到这里就告一段落了,但ASP组件的学习还要继续,一方面是因为IIS4.0内置的组件很少,另一方面已提供的这些组件或许功能并不很强大,适合你的需要。因此更大量的资源是网上现存的成百上千的第三方组件,它们有些是免费的,有些提供功能限制版或评估版,当然更多的要银子的(一个组件要三位数的$,有没有搞错!简直是拐弯抹角的“敲诈”),使用这些组件,足可以使你成为一个伪ASP高手,让你能快速、方便地做出功能强大的主页,不再有“巧妇难为无米之炊”的感叹。我们不妨通过几个例子来找一下这种感觉。



(一)  文件上传组件AspSmartUpload(免费)

先下载该组件:http://www.aspsmart.com/liblocal/download/EN/aspSmartUpload.zip,文件大小约100K(也可去我的站点下载)。下载解包后,共有三十多个文件,分别位于不同目录下,你可以参照其中的说明文件自己研究,这里仅举一个完整的例子说明如何使用第三方组件

找到AspSmartUpload.dll和AspSmartUploadUtil.dll这两个文件,在Web服务器的命令提示符下分别用”regsvr32.exe aspsmartupload.dll”和”regsvr32.exe aspsmartuploadutil.dll”命令行来注册该组件(如果你是第一次使用Regsvr32.exe,可先将这两个DLL文件拷到Web服务器的“Winnt/System32”或“Windows/System”目录下),若注册成功,弹出的窗口中会有”succeeded”字样(注意:使用第三方组件前必须先注册,有的第三方组件采用安装方式,能自动注册,而更多的象这样,需要自己手工注册)。注册成功后,接下来就是写代码使用组件,该例由两个文件组成(注意测试时请勿使用中文文件名):

wuf32.htm – 上传文件的前端Web页面(表单)









上传文件的Web页面(可上传文件的个数自己定义,但文件名中不能含中文)








用户名:






口  令:













  文件1:


  文件2:


  文件3:


  文件4:


   





按“Upload”按钮,后台由文件wuf34.asp来处理(你也可下载更简单的wuf33.asp):



文件上传结果 :




<%

Dim mySmartUpload, item, value, file       

'  先如下创建组件

Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")



mySmartUpload.Upload



'  用 For Each 循环获取 From表单中每一项的值

For each item In mySmartUpload.Form

  For each value In mySmartUpload.Form(item)

    Response.Write(item & " = " & value & "
")

    Next

Next



Response.Write "
"

'  上传文件数据

'  Response.Write("文件数目 =" & mySmartUpload.Files.Count &"
")

Response.Write("总字节 = " & mySmartUpload.Files.TotalBytes &" bytes

")

Response.Write("文件清单: " & "
")



'  对每一个文件 - 还有更简单的方法, 见wuf33.asp

For each file In mySmartUpload.Files

  If not file.IsMissing Then

    '以原来的文件名存于 C:\temp 下

    file.SaveAs("c:\temp\" & file.FileName)

    Response.Write(file.FileName & " (" & file.Size & "bytes)
")

  End If

Next

Set mySmartUpload = Nothing

%>





    关于该组件更多、更详细的用法、功能(如限制上传文件的类型、尺寸,上传至数据库,下载文件或数据库字段等等),你可自己去看样例或研究洋文帮助。如果觉得看E文太累,也可下载一个全国产的File Upload组件,里面有中文的帮助和样例,还是不错的,下载地址:http://www.chinaasp.com/program/fileup.zip。



(二)  图形组件:Dundas Pie Chart(饼状图)

    先听听组件提供者是怎么说的:“闪光的性能,足以让人晕厥的高质量的图形,强大、高速、无比的灵活性”,哇塞,吹牛胜过韦小宝,是不是这样,看看结果之一:

有了这样的饼状图,你也可以象新浪网一样搞调查了,吹得这么好的东西却是免费的,你还等什么,快快驾上你的慢猫去拉下来:

(1)3DPieCSC.EXE:http://www.dundas.com/downloads/freeproducts/files/3DPieCSC.EXE

(2)FPDocInst.exe:http://www.dundas.com/downloads/freeproducts/files/FPDocInst.exe

    3DPieCSC.EXE中包括该组件,后者是说明文档,都是安装文件,我将它安装在服务器的“C:\Inetpub\3dPieCSC”目录下,该组件自带两个复杂无比的样例程序以展示它炫丽无比的性能,较难搞明白。这里举一个简单实用的大众化例子:

wuf36.htm,通过标签调用ASP文件:







wuf37.asp,用来生成图形(与上面同理,请勿在代码中使用中文):

<%@ Language=VBScript %>

<% Option Explicit

Dim objPieChart

Set objPieChart = Server.CreateObject("Dundas.PieChartServer.1")  '先创建组件



'设置工作目录

objPieChart.DirOutput = "C:\Inetpub\3dPieCSC\Sample\Chart\"       

'设置模板文件所在目录

objPieChart.DirTemplate = "C:\Inetpub\3dPieCSC\Sample\Templates\"

'材质目录-你可以轻松的改变图形的材质和颜色

objPieChart.DirTexture = "C:\Inetpub\3dPieCSC\Sample\Textures\"   



'选择一个模板文件, 该模板文件可自己编辑或修改

objPieChart.LoadTemplate  "PieInTheSky.cuc"

'图形标题

objPieChart.Title = "This is a Sample"



'增加各项目, 包括权重 标签 说明

objPieChart.AddData 40, "Item1:40%","China"

objPieChart.AddData 30, "Item2:30%","USA"

objPieChart.AddData 30, "Item3:30%","Other"



'输出结果为一图形, 可指定宽度和高度

objPieChart.SendJPEG 400,300



Set objPieChart = Nothing

%>

老实说,这个免费的东西还是不错的,就是它提供的例程太复杂了,让人不能一触即会。现在你可能要来一个举一反三,融会贯通,想怎样得到柱状图,的确是有这样的组件:ShotGraph,但是完全不需要搞这么复杂吗,你仅需准备一个柱状的图片(不会做!看到别人网页上有,另存一个不就搞定),利用HTML标记Weight、Height按比例拉伸和压缩就行了( height = 10>)。



    此外,为了弥补本讲座开头负责任的简略,在此郑重向大家推荐两个Email组件

(1)  aspSmartMail: http://www.aspsmart.com/liblocal/download/EN/aspSmartMail.zip,注意千万不要在代码中使用中文,不然你怎么也发不出一封信,详见例程wuf35.asp。

(2)  W3 Jmail: http://download.dimac.net/jmail/jmail.exe。

(3)  ChinaMail:http://wuf.bentium.net/,本人写的全中文Email组件



对于组件的感情,我个人是很复杂和沉重的,IIS4.0内置组件确实太少,然则网上E文的组件很多不支持中文,使用起来实在不够爽,那么为什么不使用国产的组件呢,你去国内最好的http://www.chinaasp.com/就知道了,所列组件寥寥,令人寒心,那么只剩一条路了,那就是自己写(可一般人自己写得了吗?这是一个疑问)。我倒是很同意ChinaASP的呼吁,大概意思就是国内没有任何软件公司公开发表ASP组件,在ASP方面的书虽成吨,但品味不高。的确,当初我应邀写这个讲座时,市面上关于ASP的书还很少,但现在,突然间出来很多,我还是建议你买外国人编的书,一来有光盘,二来确实舶来品总体上讲得好些,读起来象那么回事,也不死板。



    最后给大家提供几个组件资源站点:

(1)  http://www.serverobjects.com/

(2)  http://www.15seconds.com/

(3)  http://www.activeserverpages.com/  

(4)  http://www.softartisans.com/


相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 360快剪辑怎么使用 36金山词霸如何屏幕取词百度收购PPS已敲定!3

最新文章 微信3.6.0测试版更新了微信支付漏洞会造成哪 360快剪辑怎么使用 360快剪辑软件使用方法介酷骑单车是什么 酷骑单车有什么用Apple pay与支付宝有什么区别 Apple pay与贝贝特卖是正品吗 贝贝特卖网可靠吗

人气排行 xp系统停止服务怎么办?xp系统升级win7系统方电脑闹钟怎么设置 win7电脑闹钟怎么设置office2013安装教程图解:手把手教你安装与qq影音闪退怎么办 QQ影音闪退解决方法VeryCD镜像网站逐个数,电驴资料库全集同步推是什么?同步推使用方法介绍QQ2012什么时候出 最新版下载EDiary——一款好用的电子日记本