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

asp模板 ASP类代码参 考

发布时间:2022-12-02 12:35:15 所属栏目:Asp教程 来源:
导读:  关于ASP模板类代码参考

  Class Template

  Private m_FileName, m_Root, m_Unknowns, m_LastError, m_HaltOnErr

  Private m_ValueList, m_BlockList

  Private m_RegExp

  Priv
  关于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加法验证码代码
 

(编辑:百客网 - 域百科网)

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

    推荐文章