复制代码 代码如下:<%
'///******************************************************************
'常用公共函数库文件名:PubFunction.asp
'******************************************************************///
ConstGo_back="<ahref='javascript:history.back(1)'>[返回上页]</a>"
ConstCloser="<ahref='javascript:self.close()'>『关闭窗口』</a>"
'//********************************************************************
'PubFgdy(Test,Tag,Bh)根据分隔符和标号调用指定字符串的指定值函数,参数:Test被分隔的字符串,Tag分隔符,Bh标号
'********************************************************************//
FunctionPubFgdy(Test,Tag,Bh)
PubFgdy=""
ifTest<>""andisnumeric(Bh)=trueThen
DimTests
Tests=split(Test&Tag,Tag)
ifBh<Ubound(Tests)then
PubFgdy=Tests(Bh)
endif
else
PubFgdy=""
exitfunction
endif
endfunction
'//********************************************************************
'PubCodeGF(OldTest)代码规范函数,参数:OldTest原始内容,NewTest新内容
'********************************************************************//
FunctionPubCodeGF(OldTest)
dimNewTest:NewTest=trim(OldTest)
ifisnull(NewTest)orNewTest=""thencode_admin="":exitfunction
NewTest=replace(NewTest,"'","""")
PubCodeGF=NewTest
endfunction
'//********************************************************************
'PubCodehtml(OldTest)屏蔽HTML代码函数,参数:OldTest原始内容,NewTest新内容
'********************************************************************//
functionPubCodehtml(OldTest)
dimNewTest:NewTest=OldTest
ifisnull(NewTest)orNewTest=""thenPubCodehtml="":exitfunction
NewTest=replace(NewTest,"<","<")
NewTest=replace(NewTest,">",">")
NewTest=replace(NewTest,chr(39),"")'单引号
NewTest=replace(NewTest,chr(34),""")'双引号
NewTest=replace(NewTest,chr(32),"")'空格
NewTest=replace(NewTest,chr(9),"")'table
NewTest=replace(NewTest,chr(10),"<br>")'回车
NewTest=replace(NewTest,chr(13),"<br>")
PubCodehtml=NewTest
endfunction
'//********************************************************************
'PubCtime()组合系统时间为正常字符串含年、月、日、时、分、秒如:200412172356
'********************************************************************//
FunctionPubCtime()
DimGcChars
GcChars=now()
GcChars=replace(GcChars,"-","")
GcChars=replace(GcChars,"","")
GcChars=replace(GcChars,":","")
GcChars=replace(GcChars,"PM","")
GcChars=replace(GcChars,"AM","")
GcChars=replace(GcChars,"上午","")
GcChars=replace(GcChars,"下午","")
GcChars=int(GcChars)+int((10-1+1)*Rnd+1)
PubCtime=GcChars
endfunction
'//********************************************************************
'PubFolderIfcz(Foldername)判断目录是否存在,需要fso支持参数:Foldername
'********************************************************************//
FunctionPubFolderIfcz(Foldername)
Dimfso
FolderIfcz=false
ifFoldername<>""then
Foldername=Server.MapPath(Foldername)
Setfso=server.CreateObject("Scripting.FileSystemObject")
iffso.FolderExists(Foldername)then
FolderIfcz=true
endif
setfso=nothing
endif
endFunction
'//********************************************************************
'PubFileIfcz(Filename)判断文件是否存在,需要fso支持参数:Filename
'********************************************************************//
FunctionPubFileIfcz(Filename)
Dimfso
PubFileIfcz=false
ifFilename<>""then
Filename=Server.MapPath(Filename)
Setfso=server.CreateObject("Scripting.FileSystemObject")
iffso.FileExist(Filename)then
PubFileIfcz=true
endif
setfso=nothing
endif
endFunction
'//********************************************************************
'PubDeleteFile(Filename)删除文件,需要fso支持参数:Filename预删除文件的相对路径
'********************************************************************//
FunctionPubDeleteFile(Filename)'删除文件
Dimfso
ifFilename<>""then
Filename=Server.MapPath(Filename)
Setfso=server.CreateObject("Scripting.FileSystemObject")
iffso.FileExists(Filename)then
fso.DeleteFileFilename
PubDeleteFile="Suc"
endif
setfso=nothing
endif
endFunction
'//********************************************************************
'PubDeleteFolder(Foldername)删除目录,需要fso支持参数:Foldername预删除目录的相对路径
'********************************************************************//
FunctionPubDeleteFolder(Foldername)'删除目录
Dimfso
ifFoldername<>""then
Foldername=Server.MapPath(Foldername)
Setfso=server.CreateObject("Scripting.FileSystemObject")
iffso.FolderExists(Foldername)then
fso.DeleteFolderFoldername
PubDeleteFolder="Suc"
endif
setfso=nothing
endif
endFunction
'//********************************************************************
'PubCopyFile(Filename,Filenewname)拷贝文件,需要fso支持参数:Filename预拷贝文件的相对路径,Filenewname拷贝目标名
'********************************************************************//
FunctionPubCopyFile(Filename,Filenewname)
Dimfso,f
ifFilename<>""andFilenewname<>""then
Filename=Server.MapPath(Filename)
Filenewname=Server.MapPath(Filenewname)
Setfso=server.CreateObject("Scripting.FileSystemObject")
Setf=fso.GetFile(Filename)
f.CopyFilenewname,true
setfso=nothing
setf=nothing
PubCopyFile="Suc"
endif
EndFunction
'//********************************************************************
'PubSetFolder(Foldername)新建目录,需要fso支持参数:Foldername目录名称
'********************************************************************//
FunctionPubSetFolder(Foldername)
Dimfso
ifFoldername<>""then
Foldername=Server.MapPath(Foldername)
Setfso=server.CreateObject("Scripting.FileSystemObject")
iffso.FolderExists(Foldername)=falsethen
fso.CreateFolderFoldername
endif
setfso=nothing
PubSetFolder="Suc"
endif
EndFunction
'/********************************************************************
'PubEditXml(xmlName,Rootsite,Rootsitesn,texts)修改某xml一条数据,参数:xmlName文件名称,Rootsite指定选取的父节点,Rootsitesn要依次更新的子节点号(整数)列表(用“|”分割),texts赋值内容列表(以“/$/”分割)
'********************************************************************/
SubPubEditXml(xmlName,Rootsite,Rootsitesn,texts)
Dimfso
ifxmlName<>""then
xmlName=Server.MapPath(xmlName)'获取XML文件的路径这里根据虚拟目录不同而不同
Setfso=server.CreateObject("Scripting.FileSystemObject")
iffso.FileExists(xmlName)then'如果文件存在,则继续...
DimstrSourceFile,objXML,objRootsite,texti,textss,Rootsitesns,Rootsitesni
strSourceFile=xmlName
SetobjXML=Server.CreateObject("Microsoft.XMLDOM")'创建一个XML对像
objXML.load(strSourceFile)'把XML文件读入内存
SetobjRootsite=objXML.documentElement.selectSingleNode(rootsite)
textss=split(texts&"/$/","/$/")
texti=0
Rootsitesns=split(Rootsitesn&"|","|")
ForRootsitesni=0toubound(Rootsitesns)-1
objRootsite.childNodes.item(Rootsitesns(Rootsitesni)).text=textss(texti)
texti=texti+1
Next
objXML.save(strSourceFile)
SetobjXML=nothing
''释放fso
Setfso=nothing
endif
endif
endsub
'/********************************************************************
'PubNewXml(xmlName,Rootsite,Rootsitesn,texts,Indexsite)新增xml一条数据,参数:xmlName文件名称,Rootsite指定选取的父节点,Indexsite新增内容主节点,Rootsitesn要依次新增的子节点名列表(用“|”分割),texts赋值内容列表(以“/$/”分割)
'********************************************************************/
SubPubNewXml(xmlName,Rootsite,Rootsitesn,texts,Indexsite)
Dimfso
Dimbrstr:brstr=chr(13)&chr(10)&chr(9)'规范XML样式
ifxmlName<>""then
xmlName=Server.MapPath(xmlName)'获取XML文件的路径这里根据虚拟目录不同而不同
Setfso=server.CreateObject("Scripting.FileSystemObject")
iffso.FileExists(xmlName)then'如果文件存在,则继续...
DimstrSourceFile,objXML,objRootsite,texti,textss,Rootsitesns,Rootsitesni,XMLnode
strSourceFile=xmlName
SetobjXML=Server.CreateObject("Microsoft.XMLDOM")'创建一个XML对像
objXML.load(strSourceFile)'把XML文件读入内存
SetobjRootsite=objXML.documentElement.selectSingleNode(rootsite)
'根据得到的数据循环个节点名、值建立XML片段
XMLnode=brstr&"<"&Indexsite&">"
textss=split(texts&"/$/","/$/")
texti=0
Rootsitesns=split(Rootsitesn&"|","|")
ForRootsitesni=0toubound(Rootsitesns)-1
XMLnode=XMLnode&brstr&"<"&Rootsitesns(Rootsitesni)&">"&textss(texti)&"</"&Rootsitesns(Rootsitesni)&">"
texti=texti+1
Next
XMLnode=XMLnode&brstr&"</"&Indexsite&">"&brstr
DimobjXML2,rootNewNode
setobjXML2=Server.CreateObject("Microsoft.XMLDOM")'建立一个新XML对像
objXML2.loadXML(XMLnode)'把XML版片段读入内存中
setrootNewNode=objXML2.documentElement'获得objXML2的根节点
objRootsite.appendChild(rootNewNode)'把XML片段插入
objXML.save(strSourceFile)
SetobjXML=nothing
''释放fso
Setfso=nothing
endif
endif
endsub
'//********************************************************************
'PubcSize(tSize)KB、MB、GB单位转换函数
'********************************************************************//
functionPubcSize(tSize)
iftSize>=1073741824then
PubcSize=Round(int((tSize/1073741824)*1000)/1000,2)&"GB"
elseiftSize>=1048576then
PubcSize=Round(int((tSize/1048576)*1000)/1000,2)&"MB"
elseiftSize>=1024then
PubcSize=Round(int((tSize/1024)*1000)/1000,2)&"KB"
else
PubcSize=Round(tSize,2)&"B"
endif
endfunction
'//********************************************************************
'PubIfzhengshu(shu)判断是否为正整数,参数:shu要判断的数字
'********************************************************************//
functionPubIfzhengshu(shu)
PubIfzhengshu="yes"
Dimshus,shui
shus=split(shu,"")
forshui=0toUbound(shus)
ifisnumeric(shus(shui))=falsethen
PubIfzhengshu="no"
exitfunction
endif
next
endfunction
'/********************************************************************
'PubPageGs()格式化分页,rssum总数,nummer每页数目,page当前页码
'********************************************************************/
SubPubPageGs()
ifrssummodnummer>0then
thepages=rssumnummer+1
else
thepages=rssumnummer
endif
page=trim(request("page"))
ifnot(isnumeric(page))thenpage=1
ifint(page)>int(thepages)orint(page)<1then
viewpage=1
else
viewpage=int(page)
endif
endSub
'//********************************************************************
'PubPage1(maxpage,thepages,viewpage,pageurl,pp,font_color)通用分页函数(1)
'maxpage,thepages,viewpage,pageurl链接地址前缀,pp,font_color显示字体色
'********************************************************************//
FunctionPubPage1(maxpage,thepages,viewpage,pageurl,pp,font_color)
dimpn,pi,page_num,ppp,pl,pr:pi=1
ppp=pp2
ifppmod2=0thenppp=ppp-1
pl=viewpage-ppp
pr=pl+pp-1
ifpl<1then
pr=pr-pl+1:pl=1
ifpr>thepagesthenpr=thepages
endif
ifpr>int(thepages)then
pl=pl+thepages-pr:pr=thepages
ifpl<1thenpl=1
endif
ifpl>1then
PubPage1=PubPage1&"<ahref='"&pageurl&"'title='第一页'>[|<]</a>"&_
"<ahref='"&pageurl&"page="&pl-1&"'title='上一页'>[<]</a>"
endif
forpi=pltopr
ifcint(viewpage)=cint(pi)then
PubPage1=PubPage1&"<fontcolor="&font_color&">["&pi&"]</font>"
else
PubPage1=PubPage1&"<ahref='"&pageurl&"page="&pi&"'title='第"&pi&"页'>["&pi&"]</a>"
endif
next
ifpr<thepagesthen
PubPage1=PubPage1&"<ahref='"&pageurl&"page="&pi&"'title='后一页'>[>]</a>"&_
"<ahref='"&pageurl&"page="&thepages&"'title='最后一页'>[>|]</a>"
endif
endfunction
'//********************************************************************
'PubPage2(viewpage,thepages,pageurl)通用分页函数(2)
'maxpage,thepages,viewpage,pageurl链接地址前缀
'********************************************************************//
FunctionPubPage2(viewpage,thepages,pageurl)
dimre_color,pf0,pf1,pf2,pf3,pf4,pf5
re_color="#c0c0c0"
pf0="已是第一页"
pf1="第一页"
pf2="上一页"
pf3="下一页"
pf4="最后一页"
pf5="已是最后一页"
PubPage2=VbCrLf&"<tableborder=0cellspacing=0cellpadding=0><tr><formaction='"&pageurl&"'method=post><td>"
ifcint(viewpage)=1then
PubPage2=PubPage2&VbCrLf&"<fontcolor="&re_color&">"&pf0&"</font>"
else
PubPage2=PubPage2&VbCrLf&"<ahref='"&pageurl&"page=1'alt='"&pf1&"'>"&pf1&"</a>┋<ahref='"&pageurl&"page="&cint(viewpage)-1&"'alt='"&pf2&"'>"&pf2&"</a>"
endif
ifcint(viewpage)=cint(thepages)then
PubPage2=PubPage2&VbCrLf&"<fontcolor="&re_color&"alt='"&pf5&"'>"&pf5&"</font>"
else
PubPage2=PubPage2&VbCrLf&"<ahref='"&pageurl&"page="&cint(viewpage)+1&"'alt='"&pf3&"'>"&pf3&"</a>┋<ahref='"&pageurl&"page="&cint(thepages)&"'alt='"&pf4&"'>"&pf4&"</a>"
endif
ifcint(thepages)<>1then
PubPage2=PubPage2&VbCrLf&"<inputtype=textname=pagevalue='"&viewpage&"'size=2><inputtype=submitvalue='GO'>"
endif
PubPage2=PubPage2&VbCrLf&"</td></form></tr></table>"
endFunction
'//********************************************************************************
'Pubobject_install(strclassstring)组件判断函数值为true时说明服务器支持该组件
'参数:strclassstring组件标示
'**********************************************************************************//
functionPubobject_install(strclassstring)
onerrorresumenext
Pubobject_install=false
dimxtestobj
err=0
setxtestobj=server.createobject(strclassstring)
iferr=0thenPubobject_install=true
setxtestobj=nothing
err=0
endfunction
%>