仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 414|回复: 8
打印 上一主题 下一主题

[学习教程] ASP网页编程之挪用DirectX的组件完成的时钟

[复制链接]
冷月葬花魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:57:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
优点:简单易学、开发速度快、有很多年“历史”,能找到非常多别人做好的程序来用、配合activeX功能强大,很多php做不到的asp+activeX能做到,例如银行安全控件上面的代码是挪用的DirectX的组件完成的时钟。它有三根指针,会及时地随体系工夫的改动而改动。
不外我没有做刻度,由于我以为用程序画出来的刻度不大度,用Photoshop画一口钟作为背景要大度多了。


<html>
<head>
<title>指针式时钟</title>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
</head>

<bodybgcolor="#FFFFFF"text="#000000">
<divid="LayClock"style="position:absolute;width:101;height:101px;z-index:2;left:203px;top:101px">
<objectid="DAControl"width=101height=101align=LEFThspace=0
classid="CLSID:B6FFC24C-7E13-11D0-9B47-00C04FC2F51D">
</object>
<SCRIPTLANGUAGE="VBScript">
<!--
Setm=DAControl.PixelLibrary
pi=3.14159265359
Subwindow_onLoad
a=time
min1=minute(time)
hr1=hour(time)
sec1=second(time)
SetxPos=m.Mul(m.DANumber(150),m.Cos(m.Mul(m.LocalTime,m.DANumber(0.3))))
SetyPos=m.Mul(m.DANumber(35),m.Cos(m.Mul(m.LocalTime,m.DANumber(0.5))))
Setclock=m.Overlay(hands(hr1,min1,sec1),hands(hr1,min1,sec1))
DAControl.Image=clock
DAControl.Start
EndSub
Functionhands(hr,min,sec)
Setbvr60=m.DANumber(60)
SetsecFromMidnight=m.Add(m.DANumber(hr*3600+min*60+sec),m.LocalTime)
SetsecBvr=m.Mod(secFromMidnight,bvr60)
SetminBvr=m.Mod(m.Div(secFromMidnight,bvr60),bvr60)
SethrBvr=m.Mod(m.Div(secFromMidnight,m.DANumber(3600)),m.DANumber(12))
ptsSec=Array(-10,-2,42,-1,42,1,-10,2)
ptsMin=Array(-7,-2,36,-1,36,1,-7,2)
ptsHr=Array(-5,-3,32,-1,32,1,-5,3)
Settemp1=m.Mul(m.DANumber(-pi/30),m.Sub(secBvr,m.DANumber(15)))
Settemp2=m.Mul(m.DANumber(-pi/30),m.Sub(minBvr,m.DANumber(15)))
Settemp3=m.Mul(m.DANumber(-pi/6),m.Sub(hrBvr,m.DANumber(3)))
SetimgSec=m.PolyLine(ptsSec).Fill(m.DefaultLineStyle,m.SolidColorImage(m.cyan))
SetimgSec=imgSec.TransForm(m.Rotate2Anim(temp1))
SetimgMin=m.PolyLine(ptsMin).Fill(m.DefaultLineStyle,m.SolidColorImage(m.yellow))
SetimgMin=imgMin.TransForm(m.Rotate2Anim(temp2))
SetimgHr=m.PolyLine(ptsHr).Fill(m.DefaultLineStyle,m.SolidColorImage(m.green))
SetimgHr=imgHr.TransForm(m.Rotate2Anim(temp3))
Sethands=m.Overlay(imgSec,m.Overlay(imgMin,imgHr))
EndFunction
-->
</SCRIPT></div>
</body>
</html>

</p>ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;
山那边是海 该用户已被删除
沙发
发表于 2015-1-18 08:42:08 | 只看该作者
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
若相依 该用户已被删除
板凳
发表于 2015-1-21 13:54:20 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
愤怒的大鸟 该用户已被删除
地板
发表于 2015-1-30 19:41:12 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
变相怪杰 该用户已被删除
5#
发表于 2015-2-9 02:51:11 | 只看该作者
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
再见西城 该用户已被删除
6#
发表于 2015-2-26 19:04:26 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
只想知道 该用户已被删除
7#
发表于 2015-3-8 16:43:47 | 只看该作者
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
再现理想 该用户已被删除
8#
发表于 2015-3-16 06:15:16 | 只看该作者
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
老尸 该用户已被删除
9#
发表于 2015-3-22 20:42:04 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 09:44

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表