ASP编程:第一个ASP组件:设置服务器日期工夫组件...
由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况;服务器收集之门在进进我们需习的第一个组件之前,小虎起首得申明一下,因为小虎的程度无限,大概鄙人面的这些申明过程当中存在
很多毛病,但愿人人提出指证,在这里我但愿能与人人分享一下ASP的进修履历,小虎的这个网站推耸的是原创精力,良多
器材都是DIY,因而程序编写过程当中也会染上小虎自己不良的编程习气。并且全部教授教养网站也只要小虎一个保护,因而手艺
上一定存在很多成绩,看人人体谅。
ASP组件为我们的ASP编程供应了壮大的扩大功效,好比我们必要在服务器中启动一个使用程序,设置服务器的工夫,
会见操纵体系外部信息等等,光靠ASP是干不了的。很年夜部分都必要借助本人开辟的ASP组件才干完成,ASP自己为我们供应
了几个十分有效的组件,ADO数据库会见组件,文件输出输入组件,告白轮换组件等等。但有良多时侯我们必要的一些特别
的功效。
起首,小虎用本人最熟习的VB来做这个组件,年夜伙先在本人的盘算鸡上装上个D版的VB吧,版本没请求,但小虎是用
VB6的。入手下手第一步怎样呢?
(一)运转VB6,体系弹出了一个“新建工程”的对话框。选择ActiveXDll
接着能够在工程办理器上瞥见“工程一”和所属的一个类“Class1”,让我们想先帮他们改上一个难听的名字吧,
要不你在ASP中利用这个便宜组件时,岂非用
setobj=server.createobject("工程一.class1")
这么刺耳的名字吗?快往把它改改吧。我们把工程一更名为:systimeset,而class1改成:timeset。如许很多多少了
吧?好了,入手下手为类timeset增加代码了,先想想,vb6自己好象没有能设定体系工夫和日期的函数吧(小虎不记得有没
有了)那末怎样办呢?别发急,人人听过WIN32API函数吗?这是微软的windows体系级函数。供应有丰厚的操纵体系功效,
别说他日期,改工夫,就是让你的window重起动也能够。小虎翻开了厚厚的WIN32API函数年夜全,终究找到了SetSystemTime
这个函数,win32API底本是计划为C++程序员利用的,在VB里挪用它得先申明,幸亏微软还想得挺周密,VB40以上的版本,
都带有API文本扫瞄器,我们运转它,它就在入手下手菜单的VB程序组里,运转后弹出了个框框,从文件菜单当选择加载文本文
件。选择WIN32API.TXT,API范例当选择声明,然后在谁人可用项中找到SetSystemTime这个器材,双击它,一段代码就出
如今选定项里,接着还要选器材,在API范例当选择范例,找到SystemTime这个范例,一样把它双击,好了按一下复制,把
方才选择的器材都贴到粘贴板中。关了这个API扫瞄器,我们的器材算是够用了。
如今编写VB代码,双击timeset类,在类里到场上面的代码。
OptionExplicit
PrivateSystemTimeAsSystemTime
这些就是从粘贴板里来的,我们看看systemtime这个范例,也就是差未几C++中的布局体,光看看他那八项就晓得是一些
年,月,日,小时,分种。。。等的八年夜项,如今只需为这八年夜项赋上值再挪用SetSystemTime这个WIN32API函数,瞧瞧你
的服务器吧,日期工夫都给改失落了,假如你用win98来做服务器,试把它调到26号看看,有无CIH,^0^,因为这是个例
子,因而年夜部分值我都接纳流动的值,而不是从ASP中传过去的值,从ASP中传过去只要HOUR,和MINUTE,小时和分钟,如
果你们有乐趣加上别的几个的话,那末就修正一下程序吧。
PrivateDeclareFunctionSetSystemTimeLib"kernel32"(lpSystemTimeAsSystemTime)AsLong
PrivateTypeSystemTime
wYearAsInteger
wMonthAsInteger
wDayOfWeekAsInteger
wDayAsInteger
wHourAsInteger
wMinuteAsInteger
wSecondAsInteger
wMillisecondsAsInteger
EndType
Dimtmp
Privatem_HourAsInteger
Privatem_MinuteAsInteger
声明timeset类的私有属性,好比当你用setobj=server.createobject("systimeset.timeset")创立了一个服务器工具
时,必要对timeset举行赋值,也就是指定要设置的体系工夫吧,那末就得声明上面这写timeset的私有属性,我这有只声
了然HOUR和Minute,也就是只供应变动小时和分钟,如过你要改别的的几个,那末本人弄上往吧。
PublicPropertyGetHour()AsInteger
Hour=m_Hour
EndProperty
PublicPropertyLetHour(tmp_HourAsInteger)
m_Hour=tmp_Hour
EndProperty
PublicPropertyGetMinute()AsInteger
Minute=m_Minute
EndProperty
PublicPropertyLetMinute(tmp_MinuteAsInteger)
m_Minute=tmp_Minute
EndProperty
有了HOUR和Minute属性,那末你在ASP中创立了服务器工具obj时,就能够经由过程
obj.Hour=10
obj.Minute=10着样来对它赋值,意义就是你盘算把工夫设为10:10分。
好了,最初就是私有办法了,我们声命一个setup()的办法,只需一挪用它,就即刻变动工夫。别的几个参数我流动利用常
量,人人能够改一下,这个不必我说了吧?应改会有体味了,总之不克不及空着,否则挪用WIN32API函数会失利前往0的,如过
是1就乐成了。我这里设为1999-10-1日,我们的50周年国庆。
PublicFunctionsetup()AsInteger
SystemTime.wDay=1
SystemTime.wDayOfWeek=1
SystemTime.wMilliseconds=0
SystemTime.wMonth=10
SystemTime.wSecond=0
SystemTime.wYear=1999
SystemTime.wHour=Hour
SystemTime.wMinute=Minute
setup=SetSystemTime(SystemTime)
EndFunction
最初保留工程,并编译DLL,编译后这个组件会由VB6主动注册的,以是我们能够即刻在ASP中挪用了。我们即刻写一
个复杂的ASP程序。
*test.asp
<%@language="vbscript"%>
<%
response.Expires=0
setobj=server.createobject("systimeset.timeset")
obj.Hour=10
obj.Minute=10
result=obj.setup
ifresult=1then
response.write"体系工夫已乐成修正"
else
response.write"体系工夫修正失利"
endif
setobj=Nothing
%>
累逝世我了,一口吻做这个组件和打了这么多字,详细的ASP组件注册等成绩下次我会对人人讲授。我把ASP组件源程序
先打包,那末人人就不必敲了,间接拿往编译就好了,因为工程是vb6做的,以是必要VB6才干翻开编译。假如人人以为本
站办的挺好的话,请为小虎的网站做个保举和友谊毗连吧,但愿经由过程交换进修,我们能配合前进。如转载小虎的文章,请
说明出处,必竟小虎是花了很多工夫来敲的。~0~
以上组件的运转情况为:Pwin98+Pws4
</p>asp可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。而浏览者一点觉察不出来,就像为他专门制作的页面一样。使用各种各样的组件,asp可以完成无比强大的功能。 哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的? 不能只是将它停留在纸上谈兵的程度上。 Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助: 封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。 如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。 ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
页:
[1]