变相怪杰 发表于 2015-1-16 22:32:56

ASP教程之在ASP中利用类

ASP.NET和ASP的比较,技术上比较已经没什么可说的了.新一代在大部分程度来说当然是比旧一代好了.关键看你对所做软件的理解了.因人而定.会写的话也可能比ASP.NET写得更有效率和更方便重用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="<(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/scriptingASP脚本是采用明文(plaintext)方式来编写的。

莫相离 发表于 2015-1-17 12:40:31

你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。

不帅 发表于 2015-1-20 19:03:51

兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的

透明 发表于 2015-1-29 15:25:10

弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。

海妖 发表于 2015-2-6 02:20:40

我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。

冷月葬花魂 发表于 2015-2-15 01:08:11

最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。

山那边是海 发表于 2015-3-4 10:52:59

从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了

深爱那片海 发表于 2015-3-19 07:38:20

封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。

变相怪杰 发表于 2015-3-27 14:10:06

完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
页: [1]
查看完整版本: ASP教程之在ASP中利用类