当前位置: 首页 > 图文教程 > 网络编程 > ASP > 一个仿phplib的模板类

ASP
一个ASP版的图片浏览管理器
无组件上传图片至SQLSERVER数据库
利用Jmail.Message发送邮件
用Web页面执行客户端程序
多图片上传到指定的目录并存到数据库
dreamweaverMX通用分页代码研究
下拉菜单输入,根据输入内容自动定位
中文的无组件文件上传ASP函数
一个利用adsi得到局域网信息的asp文件
根据需要动态include不同的文件
让自定义文件下载支持断点续传
用数组实现数据记录的批量录入方法
上传的进度条 实时反映上传情况
用ASP动态生成javascript的表单验证代码
ASP 编程中20个非常有用的例子
ASP生成Word文档的又一方法
用asp解析图片地址,并将其保存。
利用ASP的文件操作实现用户管理
创建 Visual Basic COM 组件在 ASP 中使用
调试 ASP 中使用的 Visual Basic COM 组件

ASP 中的 一个仿phplib的模板类


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 133 ::
收藏到网摘: n/a

用php用惯了,用phplib用惯了,没有他觉得很不舒服
上网查找没有人写,自己写了一个,asp水平不高,希望
能有高手指点修改。
<%
' ====================================
' Name: Template Class
' Purpose: Parse and output HTML page
' Date: 10.2002
' Author: pig
' Email: [email protected]
' Phone: 13910320759
' ====================================

class Template
dim gs_root
dim gs_handle()
dim gs_file()
dim gs_keys()
dim gs_keyVars()
dim gs_vars()

'构造函数
Private Sub Template_Initialize()
call of_setRoot(".")
'call of_redimVar()
End Sub

function of_redimVar()
redim gs_handle(0)
redim gs_file(0)
redim gs_keys(0)
redim gs_keyVars(0)
redim gs_vars(0)
end function

'设置模板存放路径
function of_setRoot(byVal ps_root)
if ps_root <> "" then
gs_root = ps_root
end if
end function

'设置文件名称函数
function of_setFile(byVal ps_fileHandle,byVal ps_fileName)
if ps_fileName <> "" then
li_maxNum=UBound(gs_handle)
gs_handle(li_maxNum) = ps_fileHandle
gs_file(li_maxNum) = gs_root+"/"+ps_fileName

li_maxNum=li_maxNum+1
redim Preserve gs_handle(li_maxNum)
redim Preserve gs_file(li_maxNum)
end if
end function

'设置要替换的参数变量
function of_setVar(byVal ps_key,byVal ps_var)
if ps_key <> "" and ps_var <> "" then
li_keyIndex=of_getIndex(gs_keys,ps_key)
if li_keyIndex="no" then
li_maxNum=UBound(gs_keys)
gs_keys(li_maxNum)=ps_key
gs_keyVars(li_maxNum)="\{" & ps_key & "\}"
gs_vars(li_maxNum)=ps_var

li_maxNum=li_maxNum+1
redim Preserve gs_keys(li_maxNum)
redim Preserve gs_keyVars(li_maxNum)
redim Preserve gs_vars(li_maxNum)
else
gs_keys(li_keyIndex)=ps_key
gs_keyVars(li_keyIndex)="\{" & ps_key & "\}"
gs_vars(li_keyIndex)=ps_var
end if
end if
end function

'定义重载文字块儿
function of_setBlock(byVal ps_parent,byVal ps_handle,byVal ps_name)
if (not of_loadFile(ps_parent)) then
ls_error="of_loadFile unable to load "+ps_parent
response.write(ls_error)
of_setBlock=false
exit function
end if

if ps_name="" then
ps_name=ps_handle
end if

ls_string=of_getVar(ps_parent)
ls_pattern = "<!--\s*BEGIN "&ps_handle&"\s*-->(.*)<!--\s*END "&ps_handle&"\s*-->"

Set regEx = New RegExp
regEx.Pattern = "\n"
regEx.IgnoreCase = false
regEx.global = true
ls_string = regEx.Replace(ls_string,"")

regEx.Pattern = ls_pattern
regEx.Multiline = true
regEx.global = false
Set Matches = regEx.Execute(ls_string)
ls_string = regEx.Replace(ls_string,"{"&ps_name&"}")

For Each Match in Matches
ls_value=Match.value
Next

regEx.Pattern = "<!--\s*BEGIN "&ps_handle&"\s*-->"
regEx.IgnoreCase = false
regEx.global = true
ls_value = regEx.Replace(ls_value,"")

regEx.Pattern = "<!--\s*END "&ps_handle&"\s*-->"
regEx.IgnoreCase = false
regEx.global = true
ls_value = regEx.Replace(ls_value,"")

call of_setVar(ps_handle,ls_value)
call of_setVar(ps_parent,ls_string)
end function

'装载变量内容
function of_loadFile(byVal ps_handle)
li_keyIndex=of_getIndex(gs_keys,ps_handle)
if li_keyIndex = "no" then
li_fileIndex=of_getIndex(gs_handle,ps_handle)
if li_fileIndex = "no" then
ls_error="loadfile:"+ps_handle+" is not a valid handle."
response.write(ls_error)
of_loadFile=false
exit function
end if

ls_fileName=gs_file(li_fileIndex)
ls_fileName=server.mappath(ls_fileName)
Set MyFileObject=Server.CreateObject("Scripting.FileSystemObject")
li_exist=MyFileObject.FileExists(ls_fileName)
if li_exist then
Set MyTextFile=MyFileObject.OpenTextFile(ls_fileName)
ls_file=MyTextFile.readAll()
MyTextFile.Close
call of_setVar(ps_handle,ls_file)
else
ls_error="loadfile:"+ls_fileName+" is not a valid file or path."
response.write(ls_error)
of_loadFile=false
exit function
end if
end if

评论 (0) All

登陆 还没注册?