仓酷云

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

[学习教程] ASP教程之ASP中的Debug类(VBScript)

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

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

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

x
无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的;debug|vbscript不晓得用ASP写代码的伴侣是否是和我有一样的感觉,ASP中最头疼的就是调试程序的时分不便利,我想大概良多伴侣城市用如许的办法“response.write”,然后输入相干的语句来看看是不是准确。头几天写了一个千行的页面,内里也许有七八个SUB/FUNCTION,调试的时分用了有三十几个response.write,天,调试完后把这三十个一个个删除,累!

明天看到一个ASP中的Debug类(VBS),试用了一下,尽!

利用办法很复杂:

test.asp

<!--#INCLUDEFILE="debuggingConsole.asp"-->
<%
output="XXXX"
Setdebugstr=NewdebuggingConsole
debugstr.Enabled=true
debugstr.Print"参数output的值",output
……
debugstr.draw
Setdebugstr=Nothing
%>

===================================================

debuggingConsole.asp

<%
ClassdebuggingConsole

privatedbg_Enabled
privatedbg_Show
privatedbg_RequestTime
privatedbg_FinishTime
privatedbg_Data
privatedbg_DB_Data
privatedbg_AllVars
privatedbg_Show_default
privateDivSets(2)

Construktor=>setthedefaultvalues
PrivateSubClass_Initialize()
dbg_RequestTime=Now()
dbg_AllVars=false
Setdbg_Data=Server.CreateObject("Scripting.Dictionary")
DivSets(0)="<TR><TDstyle=cursor:hand;onclick=""javascript:if(document.getElementById(data#sectname#).style.display==none){document.getElementById(data#sectname#).style.display=block;}else{document.getElementById(data#sectname#).style.display=none;}""><DIVid=sect#sectname#style=""font-weight:bold;cursor:hand;background:#7EA5D7;color:white;padding-left:4;padding-right:4;padding-bottom:2;"">|#title#|<DIVid=data#sectname#style=""cursor:text;display:none;background:#FFFFFF;padding-left:8;""onclick=""window.event.cancelBubble=true;"">|#data#|</DIV>|</DIV>|"
DivSets(1)="<TR><TD><DIVid=sect#sectname#style=""font-weight:bold;cursor:hand;background:#7EA5D7;color:white;padding-left:4;padding-right:4;padding-bottom:2;""onclick=""javascript:if(document.getElementById(data#sectname#).style.display==none){document.getElementById(data#sectname#).style.display=block;}else{document.getElementById(data#sectname#).style.display=none;}"">|#title#|<DIVid=data#sectname#style=""cursor:text;display:block;background:#FFFFFF;padding-left:8;""onclick=""window.event.cancelBubble=true;"">|#data#|</DIV>|</DIV>|"
DivSets(2)="<TR><TD><DIVid=sect#sectname#style=""background:#7EA5D7;color:lightsteelblue;padding-left:4;padding-right:4;padding-bottom:2;"">|#title#|<DIVid=data#sectname#style=""display:none;background:lightsteelblue;padding-left:8"">|#data#|</DIV>|</DIV>|"
dbg_Show_default="0,0,0,0,0,0,0,0,0,0,0"
EndSub

PublicPropertyLetEnabled(bNewValue)[bool]Sets"enabled"totrueorfalse
dbg_Enabled=bNewValue
EndProperty
PublicPropertyGetEnabled[bool]Getsthe"enabled"value
Enabled=dbg_Enabled
EndProperty

PublicPropertyLetShow(bNewValue)[string]Setsthedebuggingpanel.Whereeachdigitinthestringrepresentsadebuginformationpaneinorder(11ofthem).1=open,0=closed
dbg_Show=bNewValue
EndProperty
PublicPropertyGetShow[string]Getsthedebuggingpanel.
Show=dbg_Show
EndProperty

PublicPropertyLetAllVars(bNewValue)[bool]Setswheatherallvariableswillbedisplayedornot.true/false
dbg_AllVars=bNewValue
EndProperty
PublicPropertyGetAllVars[bool]Getsifallvariableswillbedisplayed.
AllVars=dbg_AllVars
EndProperty

******************************************************************************************************************
@SDESCRIPTION:Addsavariabletothedebug-informations.
@PARAM:-label[string]:Descriptionofthevariable
@PARAM:-output[variable]:Thevariableitself
******************************************************************************************************************
PublicSubPrint(label,output)
Ifdbg_EnabledThen
iferr.number>0then
calldbg_Data.Add(ValidLabel(label),"!!!Error:"&err.number&""&err.Description)
err.Clear
else
uniqueID=ValidLabel(label)
response.writeuniqueID
calldbg_Data.Add(uniqueID,output)
endif
EndIf
End</p>ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;
愤怒的大鸟 该用户已被删除
沙发
发表于 2015-1-20 10:30:10 | 只看该作者
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
谁可相欹 该用户已被删除
板凳
发表于 2015-1-29 06:45:20 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
莫相离 该用户已被删除
地板
发表于 2015-2-5 23:32:04 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
再现理想 该用户已被删除
5#
发表于 2015-2-14 05:18:21 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
蒙在股里 该用户已被删除
6#
发表于 2015-3-4 04:51:10 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
变相怪杰 该用户已被删除
7#
发表于 2015-3-19 02:29:29 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
老尸 该用户已被删除
8#
发表于 2015-3-27 05:10:46 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 05:32

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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