第一个ASP组件:设置服务器日期时间组件

2016-01-29 17:19 9 1 收藏

第一个ASP组件:设置服务器日期时间组件,第一个ASP组件:设置服务器日期时间组件

【 tulaoshi.com - ASP 】

  在进入我们需习的第一个组件之前,小虎首先得说明一下,由于小虎的水平有限,可能在下面的这些说明过程中存在
不少错误,希望大家提出指证,在这里我希望能与大家分享一下ASP的学习经验,小虎的这个网站推耸的是原创精神,很多
东西都是DIY,因此程序编写过程中也会染上小虎本身不良的编程习惯。而且整个教学网站也只有小虎一个维护,因此技术
上肯定存在不少问题,望大家谅解。
  ASP组件为我们的ASP编程提供了强大的扩展功能,比如我们需要在服务器中启动一个应用程序,设置服务器的时间,
访问操作系统内部信息等等,光靠ASP是干不了的。很大部分都需要借助自己开发的ASP组件才能实现,ASP本身为我们提供
了几个非常有用的组件,ADO数据库访问组件,文件输入输出组件,广告轮换组件等等。但有很多时侯我们需要的一些特殊
的功能。
  首先,小虎用自己最熟悉的VB来做这个组件,大伙先在自己的计算鸡上装上个D版的VB吧,版本没要求,但小虎是用
VB6的。开始第一步怎么样呢?

(一)运行VB6,系统弹出了一个“新建工程”的对话框。选择ActiveX Dll
   接着可以在工程管理器上看见“工程一”和所属的一个类“ Class1”,让我们想先帮他们改上一个好听的名字吧,
要不你在ASP中使用这个自制组件时,难道用
   set obj=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类,在类里加入下面的代码。
Option Explicit
Private SystemTime As SystemTime
'这些就是从粘贴板里来的,我们看看systemtime这个类型,也就是差不多C++中的结构体,光看看他那八项就知道是一些
年,月,日,小时,分种。。。等的八大项,现在只要为这八大项赋上值再调用SetSystemTime这个WIN32API函数,瞧瞧你
的服务器吧,日期时间都给改掉了,如果你用win98来做服务器,试把它调到26号看看,有没有CIH,^0^,由于这是个例
子,因此大部分值我都采用固定的值,而不是从ASP中传过来的值,从ASP中传过来只有HOUR,和MINUTE,小时和分钟,如
果你们有兴趣加上其它几个的话,那么就修改一下程序吧。
Private Declare Function SetSystemTime Lib "kernel32" (lpSystemTime As SystemTime) As Long
Private Type SystemTime
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type

Dim tmp
Private m_Hour As Integer
Private m_Minute As Integer

'声明timeset类的公有属性,比如当你用set obj=server.createobject("systimeset.timeset")创建了一个服务器对象
时,需要对timeset进行赋值,也就是指定要设置的系统时间吧,那么就得声明下面这写timeset的公有属性,我这有只声
明了HOUR和Minute,也就是只提供更改小时和分钟,如过你要改其它的几个,那么自己弄上去吧。
Public Property Get Hour() As Integer
Hour = m_Hour
End Property
Public Property Let Hour(tmp_Hour As Integer)
m_Hour = tmp_Hour
End Property
Public Property Get Minute() As Integer
Minute = m_Minute
End Property
Public Property Let Minute(tmp_Minute As Integer)
m_Minute = tmp_Minute
End Property
有了HOUR和Minute属性,那么你在ASP中创建了服务器对象obj时,就可以通过

obj.Hour=10
obj.Minute=10着样来对它赋值,意思就是你打算把时间设为10:10分。

好了,最后就是公有方法了,我们声命一个setup()的方法,只要一调用它,就马上更改时间。其它几个参数我固定使用常
量,大家可以改一下,这个不用我说了吧?应

来源:http://www.tulaoshi.com/n/20160129/1500968.html

延伸阅读
标签: ASP
当你用 ASP 编写服务器端应用程序时,必须依靠 ActiveX 组件来强大 Web 应用程序的功能,譬如:你需要连接数据库,对数据库进行在线操作等等,继上篇介绍了 AD Rotator 组件后,本篇将接着给大家介绍其它一些常用的 ASP ActiveX 组件的使用方法。 最近仍有不少朋友来信问我,&...
标签: ASP
ASP 组件 FILE对象 当前,基于浏览器/服务器模式的应用比较流行。当用户需要将文件传输到服务器上时,常用方法之一是运行FTP服务器并将每个用户的FTP默认目录设为用户的Web主目录,这样用户就能运行FTP客户程序并上传文件到指定的 Web目录。这就要求用户必须懂得如何使用FTP客户程序。因此,这种解决方案仅对熟悉FTP且富有经验的用...
标签: ASP
  编写定制的Active Server Page(ASP)代码来完成一些任务,比方说数据库访问的能力是重要的.但是,一个由脚本写成的解决方案最明显的问题就是性能.在这篇文章中,我将向你展示如何将一个数据库对象的脚本版本转换成一个动态链接库(dll),或是就象它的通常的名字,一个COM组件.为了生成这个编译版本,我将使用Visual Basic 6...
标签: ASP
  使你的类开始工作 既然你已经拥有了一个能够运行的COM组件了,那么现在就是让它参与工作的时候了.让这个组件能在ASP中使用有几步工作要做.第一步,修改框架(framework)中的pageDeclare.asp文件来用一个object置标来引用这个刚刚编译成功的组件(列表D). Listing D <%@ LANGUAGE="VBScript" % <object runat="se...
标签: ASP
  下一步是将VBScript对象中的所有代码拷贝出来并粘贴到新工程向导所显示的类窗口中去.只要拷贝从"class DBConnection"到"end class"之间的代码.在粘贴完代码以后,在属性窗口中将类的名字改成DBConnection,如图C所示. 同时将MTSTransactionMode改成3(使用事务处理过程).我们没有必要为这个对象添加任何为支持事务处理(trans...

经验教程

116

收藏

30
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部