加入收藏 | 设为首页 | 会员中心 | 我要投稿 航空爱好网 (https://www.52kongjun.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

asp模板 ASP类代码参考

发布时间:2022-10-23 21:31:21 所属栏目:Asp教程 来源:转载
导读: 关于ASP模板类代码参考
Class Template
Private m_FileName, m_Root, m_Unknowns, m_LastError, m_HaltOnErr
Private m_ValueList, m_BlockList
Private m_RegExp
Private Sub Class_Initi

关于ASP模板类代码参考

Class Template

Private m_FileName, m_Root, m_Unknowns, m_LastError, m_HaltOnErr

Private m_ValueList, m_BlockList

Private m_RegExp

Private Sub Class_Initialize

Set m_ValueList = CreateObject("Scripting.Dictionary")

Set m_BlockList = CreateObject("Scripting.Dictionary")

set m_RegExp = New RegExp

m_RegExp.IgnoreCase = True

m_RegExp.Global = True

m_FileName = ""

m_Root = "."

m_Unknowns = "remove"

m_LastError = ""

m_HaltOnErr = true

End Sub

Private Sub Class_Terminate

Set m_RegExp = Nothing

Set m_BlockMatches = Nothing

Set m_ValueMatches = nothing

End Sub

Public Property Get ClassName()

ClassName = "Template"

End Property

Public Property Get Version()

Version = "1.0"

End Property

Private Function LoadFile(ByVal chartype)

Dim Filename, fso, hndFile

Filename = m_Root

If Right(Filename, 1)"/" And Right(Filename,1)"" Then Filename = Filename & "/"

Filename = Server.MapPath(Filename & m_FileName)

Set StreamObject = Server.CreateObject("Adodb.Stream")

StreamObject.Type = 1

StreamObject.Mode = 3

StreamObject.Open

StreamObject.Position = 0

StreamObject.LoadFromFile Filename

StreamObject.Position = 0

StreamObject.Type = 2

StreamObject.CharSet = chartype

LoadFile = StreamObject.readtext()

If LoadFile = "" Then ShowError("0x11

Could Not Load The File " & m_FileName & "!")

End Function

Private Sub ShowError(ByVal msg)

m_LastError = msg

Response.Write "Error ID : " & msg & ""

If m_HaltOnErr Then Response.End

End Sub

Public Sub set_root(ByVal Value)

m_Root = Value

End Sub

Public Function get_root()

get_root = m_Root

End Function

Public Property Let Root(ByVal Value)

set_root(Value)

End Property

Public Property Get Root()

Root = m_Root

End Property

Public Sub set_file(ByVal handleasp模板,ByVal filename,ByVal chartype)

m_FileName = filename

m_BlockList.Add Handle, LoadFile(chartype)

End Sub

Public Function get_file()

get_file = m_FileName

End Function

Public Sub set_unknowns(ByVal unknowns)

m_Unknowns = unknowns

End Sub

Public Function get_unknowns()

get_unknowns = m_Unknowns

End Function

Public Property Let Unknowns(ByVal unknown)

m_Unknowns = unknown

End Property

Public Property Get Unknowns()

Unknowns = m_Unknowns

End Property

Public Sub set_block(ByVal Parent, ByVal BlockTag, ByVal Name)

Dim Matches

m_RegExp.Pattern = "([sS.]*)"

If Not m_BlockList.Exists(Parent) Then ShowError("0x12

Undefined Block Tag " & Parent & "!")

set Matches = m_RegExp.Execute(m_BlockList.Item(Parent))

For Each Match In Matches

m_BlockList.Add BlockTag, Match.SubMatches(0)

m_BlockList.Item(Parent) = Replace(m_BlockList.Item(Parent), Match.Value, "{" & Name & "}")

Next

set Matches = nothing

End Sub

Public Sub set_var(ByVal Name, ByVal Value, ByVal AppEnd)

Dim Val

If IsNull(Value) Then Val = "" Else Val = Value

If m_ValueList.Exists(Name) Then

If AppEnd Then m_ValueList.Item(Name) = m_ValueList.Item(Name) & Val _

Else m_ValueList.Item(Name) = Val

Else

m_ValueList.Add Name, Value

End If

End Sub

Public Sub unset_var(ByVal Name)

If m_ValueList.Exists(Name) Then m_ValueList.Remove(Name)

End Sub

Private Function InstanceValue(ByVal BlockTag)

Dim keys, i

InstanceValue = m_BlockList.Item(BlockTag)

keys = m_ValueList.Keys

For i=0 To m_ValueList.Count-1

InstanceValue = Replace(InstanceValue, "{" & keys(i) & "}", m_ValueList.Item(keys(i)))

Next

End Function

Public Sub parse(ByVal Name, ByVal BlockTag, ByVal AppEnd)

If Not m_BlockList.Exists(BlockTag) Then ShowError("0x12

Undefined Block Tag " & Parent & "!")

If m_ValueList.Exists(Name) Then

If AppEnd Then m_ValueList.Item(Name) = m_ValueList.Item(Name) & InstanceValue(BlockTag) _

Else m_ValueList.Item(Name) = InstanceValue(BlockTag)

Else

m_ValueList.Add Name, InstanceValue(BlockTag)

End If

End Sub

Private Function finish(ByVal content)

Select Case m_Unknowns

Case "keep" finish = content

Case "remove"

m_RegExp.Pattern = "{[^ trn}]+}"

finish = m_RegExp.Replace(content, "")

Case "comment"

m_RegExp.Pattern = "{([^ trn}]+)}"

finish = m_RegExp.Replace(content, "")

Case Else finish = content

End Select

End Function

Public Sub output(ByVal Name)

If Not m_ValueList.Exists(Name) Then ShowError("0x13

Could Not Find Tag " & Name & "!")

Response.Write(finish(m_ValueList.Item(Name)))

End Sub

End Class

【关于ASP模板类代码参考】相关文章:

1.asp缓存类代码

2. asp.net 操作INI文件读写类实例代码

3.asp分页代码是什么

4.asp购物车代码

5.关于AJAX类代码

6.关于ASP技术简介参考

7.asp获取当前URL代码实例

8.ASP加法验证码代码

(编辑:航空爱好网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!