仓酷云

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

[学习教程] ASP网页设计怎样在ASP中利用类

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

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

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

x
ASP一般认为只能运行在IIS上,正如前面所提到的,这并不是十分正确,事实上,ASP也能运行在Apache上。ApacheASP可在任意Apache服务器上运行有限的ASP功能,所需做的,只需打开mod_perl。VBScript5中增添了很多新功效,最奋发民气确当属类和正则表达式的呈现。以下是自己写的一个剖析html代码的类。我是学php的,语法有不习气的中央,请人人多包括。

<%
ClassHTMLParse

设置Initialize事务。
PrivateSubClass_Initialize
myGlobal=True
myIgnoreCase=True
EndSub

PropertyLetGlobal(g)
DimregEx创建变量。
SetregEx=NewRegExp创建正则表达式。
regEx.Pattern="True|False|1|0"设置形式。
regEx.IgnoreCase=True设置是不是辨别巨细写。
IfregEx.Test(CStr(g))Then
myGlobal=g
Else
CallHalt("有效Global参数设置")
EndIf
EndProperty

PropertyGetGlobal()
Global=myGlobal
EndProperty

PropertyLetIgnoreCase(c)
DimregEx
SetregEx=NewRegExp
regEx.Pattern="True|False|1|0"
regEx.IgnoreCase=True
IfregEx.Test(CStr(c))Then
myIgnoreCase=c
Else
CallHalt("有效IgnoreCase参数设置")
EndIf
EndProperty

PropertyGetIgnoreCase()
IgnoreCase=myIgnoreCase
EndProperty

剖析一切HTML标志的函数
PublicFunctionParse(input)
Parse="<tableborder=1width=50%align=center>"&vbCrLf
DimregEx,regVal,match,i

SetregEx=NewRegExp
regEx.Pattern="<([a-z]w*)(?:.*?)>(.*)</1>"
regEx.Global=myGlobal
regEx.IgnoreCase=myIgnoreCase

SetregVal=regEx.Execute(Trim(input))
IfregVal.Count>0Then假如发明婚配元素
Parse=Parse&"<caption>发明"&regVal.Count&"个HTML标志</caption>"&vbCrLf
Parse=Parse&"<tralign=center><th>编号</th><th>婚配标志<th>婚配显现</th></tr>"&vbCrLf
Fori=0ToregVal.Count-1
Setmatch=regVal(i)
Parse=Parse&"<tralign=center>"&vbCrLf
Parse=Parse&"<td>"&i+1&"</td><td>"&match.SubMatches(0)&"</td><td>"&match&"</td>"&vbCrLf
Parse=Parse&"</tr>"&vbCrLf
Next
ElseParse=Parse&"<caption>没有发明HTML标志</caption>"&vbCrLf
EndIf
Parse=Parse&"</table>"&vbCrLf
EndFunction

剖析指定HTML标志的函数
PublicFunctionParseTag(input,tag)
ParseTag="<tableborder=1width=50%align=center>"&vbCrLf
DimregEx,regVal,match,i

SetregEx=NewRegExp
regEx.Pattern="<("&tag&")(?:.*?)>(.*?)</1>"
regEx.Global=myGlobal
regEx.IgnoreCase=myIgnoreCase

SetregVal=regEx.Execute(Trim(input))
IfregVal.Count>0Then假如发明婚配元素
ParseTag=ParseTag&"<caption>发明"&regVal.Count&"个"&UCase(tag)&"标志</caption>"&vbCrLf
ParseTag=ParseTag&"<tralign=center><th>编号</th><th>发明地位<th>包括内容</th></tr>"&vbCrLf
Fori=0ToregVal.Count-1
Setmatch=regVal(i)
ParseTag=ParseTag&"<tralign=center>"&vbCrLf
ParseTag=ParseTag&"<td>"&i+1&"</td><td>"&match.FirstIndex&"</td><td>"&match.SubMatches(1)&"</td>"&vbCrLf
ParseTag=ParseTag&"</tr>"&vbCrLf
Next
ElseParseTag=ParseTag&"<caption>没有发明"&UCase(tag)&"标志</caption>"&vbCrLf
EndIf
ParseTag=ParseTag&"</table>"&vbCrLf
EndFunction

打印毛病
PrivateSubHalt(errstr)
Response.Write("<fontcolor=redsize=3>"&errstr&"</font>"&vbCrLf)
CallClass_Terminate
EndSub

PrivateSubClass_Terminate设置Terminate事务。
EndSub

界说两个外部变量
PrivatemyGlobal
PrivatemyIgnoreCase

EndClass
%>


<html>
<body>
<divalign=center><h2>典范1</h2></div>
<%
典范1
Diminput,result
input="<i>这是</i>一个<fontcolor=green>VBScript</font>的<b>正则<i>表达式</i>典范</b>。"

Sethp=NewHTMLParse
hp.Global=1
hp.IgnoreCase=False
result=hp.Parse(input)
Response.Write(result)
%>

<br>
<divalign=center><h2>典范2</h2></div>
<%
典范2
hp.Global=1
hp.IgnoreCase=False
result2=hp.ParseTag(input,"i")
Response.Write(result2)
Sethp=Nothing
%>

</body>
</html>

人人应当注重到了,VBScript的正则表达式和Jscript的剖析是一样的,只是语法分歧。关于最新的VBScript的文档,人人能够到微软中国的剧本手艺主页往下载,网址:http://www.microsoft.com/china/scripting
专业性的服务。有的ASP商提供垂直型的应用服务,针对某一特定行业提供应用服务。
乐观 该用户已被删除
沙发
发表于 2015-1-19 16:24:21 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
飘飘悠悠 该用户已被删除
板凳
发表于 2015-1-24 18:21:12 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
小妖女 该用户已被删除
地板
发表于 2015-2-2 11:49:31 | 只看该作者
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
小女巫 该用户已被删除
5#
发表于 2015-2-7 19:30:58 | 只看该作者
他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
再现理想 该用户已被删除
6#
发表于 2015-2-23 08:29:44 | 只看该作者
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
小魔女 该用户已被删除
7#
发表于 2015-3-21 09:37:41 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-15 07:42

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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