欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

忠网广告 系统 用到的几个函数

程序员文章站 2024-02-06 19:40:34
复制代码 代码如下:<%  '///************************************************************...
复制代码 代码如下:
<% 
'///******************************************************************
'  常用公共函数库 文件名:pubfunction.asp 
'******************************************************************/// 

  const go_back="<a href='javascript:history.back(1)'>[返回上页]</a>"
  const closer="<a href='javascript:self.close()'>『关闭窗口』</a>"

  
'//********************************************************************
'  pubfgdy(test,tag,bh)  根据分隔符和标号调用指定字符串的指定值函数,参数:test 被分隔的字符串,tag 分隔符,bh 标号
'********************************************************************//

  function pubfgdy(test,tag,bh)  
  pubfgdy=""
  if test<>"" and isnumeric(bh)=true then
  dim tests
  tests=split(test&tag,tag)
  if bh<ubound(tests) then
  pubfgdy=tests(bh)  
  end if
  else
  pubfgdy=""
  exit function
  end if
  end function  


'//********************************************************************
'  pubcodegf(oldtest) 代码规范函数, 参数:oldtest 原始内容, newtest 新内容  
'********************************************************************//

  function pubcodegf(oldtest)
  dim newtest:newtest=trim(oldtest)
  if isnull(newtest) or newtest="" then code_admin="":exit function
  newtest=replace(newtest,"'","""")
  pubcodegf=newtest
  end function


'//********************************************************************
'  pubcodehtml(oldtest) 屏蔽html代码函数, 参数:oldtest  原始内容, newtest  新内容 
'********************************************************************//

  function pubcodehtml(oldtest)
  dim newtest:newtest=oldtest
  if isnull(newtest) or newtest="" then pubcodehtml="":exit function
  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
  end function


'//********************************************************************
'  pubctime() 组合系统时间为正常字符串 含 年、月、日、时、分、秒 如:200412172356
'********************************************************************//

  function pubctime()
  dim gcchars
  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        
  end function

'//********************************************************************
' pubfolderifcz(foldername) 判断目录是否存在,需要 fso支持 参数:foldername 
'********************************************************************//

function pubfolderifcz(foldername) 
dim fso
folderifcz=false

 if foldername<>"" then
 foldername=server.mappath(foldername)
  set fso = server.createobject("scripting.filesystemobject")
  if fso.folderexists(foldername) then
  folderifcz=true
  end if
  set fso = nothing  
 end if
end function


'//********************************************************************
' pubfileifcz(filename) 判断文件是否存在,需要 fso支持 参数:filename 
'********************************************************************//

function pubfileifcz(filename) 
dim fso
pubfileifcz=false
 if filename<>"" then
 filename=server.mappath(filename)
  set fso = server.createobject("scripting.filesystemobject")
  if fso.fileexist(filename) then
  pubfileifcz=true
  end if
  set fso = nothing  
 end if
end function


'//********************************************************************
' pubdeletefile(filename) 删除文件,需要 fso支持 参数:filename 预删除文件的相对路径
'********************************************************************//

function pubdeletefile(filename) '删除文件
dim fso
 if filename<>"" then
 filename=server.mappath(filename)
  set fso = server.createobject("scripting.filesystemobject")
  if fso.fileexists(filename) then
  fso.deletefile filename
  pubdeletefile="suc"

  end if
  set fso = nothing  
 end if
end function


'//********************************************************************
' pubdeletefolder(foldername) 删除目录,需要 fso支持 参数:foldername 预删除目录的相对路径
'********************************************************************//

function pubdeletefolder(foldername) '删除目录
dim fso
 if foldername<>"" then
 foldername=server.mappath(foldername)
  set fso = server.createobject("scripting.filesystemobject")
  if fso.folderexists(foldername) then
  fso.deletefolder foldername
  pubdeletefolder="suc"
  end if
  set fso = nothing  
 end if
end function


'//********************************************************************
' pubcopyfile(filename,filenewname) 拷贝文件,需要 fso支持 参数:filename 预拷贝文件的相对路径,filenewname 拷贝目标名
'********************************************************************//

function pubcopyfile(filename,filenewname)
   dim fso,f
   if filename<>"" and filenewname<>"" then
   filename=server.mappath(filename)
   filenewname=server.mappath(filenewname)
   set fso = server.createobject("scripting.filesystemobject")   
   set f = fso.getfile(filename)
   f.copy filenewname,true
   set fso = nothing
   set f = nothing
   pubcopyfile="suc"
   end if 
end function


'//********************************************************************
' pubsetfolder(foldername) 新建目录,需要 fso支持 参数:foldername 目录名称
'********************************************************************//

function pubsetfolder(foldername)
   dim fso
   if foldername<>"" then
   foldername=server.mappath(foldername)
   set fso = server.createobject("scripting.filesystemobject")  
   if fso.folderexists(foldername)=false then 
   fso.createfolder foldername
   end if
   set fso = nothing
   pubsetfolder="suc"
   end if 
end function



'/********************************************************************
' pubeditxml(xmlname,rootsite,rootsitesn,texts) 修改某xml一条数据,参数:xmlname 文件名称,rootsite 指定选取的父节点,rootsitesn 要依次更新的子节点号(整数)列表(用“|”分割),texts 赋值内容列表(以 “/$/”分割)
'********************************************************************/

sub pubeditxml(xmlname,rootsite,rootsitesn,texts)
dim fso
 if xmlname<>"" then

  xmlname=server.mappath(xmlname)  '获取xml文件的路径这里根据虚拟目录不同而不同
  set fso = server.createobject("scripting.filesystemobject")
  if fso.fileexists(xmlname) then   '如果文件存在,则继续 ...


  dim strsourcefile,objxml,objrootsite,texti,textss,rootsitesns,rootsitesni
  strsourcefile = xmlname  

  set objxml =server.createobject("microsoft.xmldom")  '创建一个xml对像

  objxml.load(strsourcefile)  '把xml文件读入内存 

  set objrootsite = objxml.documentelement.selectsinglenode(rootsite) 

  textss=split(texts&"/$/","/$/") 
  texti=0

  rootsitesns=split(rootsitesn&"|","|")  
  for rootsitesni=0 to ubound(rootsitesns)-1

  objrootsite.childnodes.item(rootsitesns(rootsitesni)).text=textss(texti)  
  texti=texti+1
  next

   
  objxml.save(strsourcefile)

  set objxml =nothing 

'' 释放 fso 
set fso = nothing
end if
end if

end sub





'/********************************************************************
' pubnewxml(xmlname,rootsite,rootsitesn,texts,indexsite) 新增 xml一条数据,参数:xmlname 文件名称,rootsite 指定选取的父节点,indexsite 新增内容主节点,rootsitesn 要依次新增的子节点名列表(用“|”分割),texts 赋值内容列表(以 “/$/”分割)
'********************************************************************/

sub pubnewxml(xmlname,rootsite,rootsitesn,texts,indexsite)
dim fso
dim brstr:brstr=chr(13)&chr(10)&chr(9)  '规范 xml 样式
 if xmlname<>"" then

  xmlname=server.mappath(xmlname)  '获取xml文件的路径这里根据虚拟目录不同而不同
  set fso = server.createobject("scripting.filesystemobject")
  if fso.fileexists(xmlname) then   '如果文件存在,则继续 ...


  dim strsourcefile,objxml,objrootsite,texti,textss,rootsitesns,rootsitesni,xmlnode
  strsourcefile = xmlname  

  set objxml =server.createobject("microsoft.xmldom")  '创建一个xml对像

  objxml.load(strsourcefile)  '把xml文件读入内存 

  set objrootsite = objxml.documentelement.selectsinglenode(rootsite) 

          '根据得到的数据循环个节点名、值建立xml片段 
       xmlnode=brstr&"<"&indexsite&">"

                
          textss=split(texts&"/$/","/$/") 
          texti=0

          rootsitesns=split(rootsitesn&"|","|")  
          for rootsitesni=0 to ubound(rootsitesns)-1

          xmlnode=xmlnode&brstr&"<"&rootsitesns(rootsitesni)&">"&textss(texti)&"</"&rootsitesns(rootsitesni)&">"
          texti=texti+1
          next

       xmlnode=xmlnode&brstr&"</"&indexsite&">"&brstr        


      dim objxml2,rootnewnode
      set objxml2=server.createobject("microsoft.xmldom")    '建立一个新xml对像

      objxml2.loadxml(xmlnode)     '把xml版片段读入内存中 

      set rootnewnode=objxml2.documentelement    '获得objxml2的根节点 

      objrootsite.appendchild(rootnewnode)    '把xml片段插入 

  objxml.save(strsourcefile)

  set objxml =nothing 

'' 释放 fso 
set fso = nothing
end if
end if

end sub


'//********************************************************************
'  pubcsize(tsize) kb、mb、gb  单位转换函数
'********************************************************************//

function pubcsize(tsize)

    if tsize>=1073741824 then
        pubcsize=round(int((tsize/1073741824)*1000)/1000,2) & " gb"
    elseif tsize>=1048576 then
        pubcsize=round(int((tsize/1048576)*1000)/1000,2) & " mb"
    elseif tsize>=1024 then
        pubcsize=round(int((tsize/1024)*1000)/1000,2) & " kb"
    else
        pubcsize=round(tsize,2) & "b"
    end if

end function



'//********************************************************************
'  pubifzhengshu(shu) 判断是否为正整数 , 参数:shu 要判断的数字
'********************************************************************//

function pubifzhengshu(shu)

    pubifzhengshu="yes"

    dim shus,shui
    shus=split(shu,"")

    for shui=0 to ubound(shus)    
    if isnumeric(shus(shui))=false then
    pubifzhengshu="no"    
    exit function
    end if
    next

end function

  
'/********************************************************************
' pubpagegs() 格式化分页, rssum 总数,nummer 每页数目,page 当前页码
'********************************************************************/

  sub pubpagegs()
    if rssum mod nummer > 0 then
      thepages=rssum\nummer+1
    else
      thepages=rssum\nummer
    end if
    page=trim(request("page"))
    if not(isnumeric(page)) then page=1
    if int(page)>int(thepages) or int(page)<1 then
      viewpage=1
    else
      viewpage=int(page)
    end if
  end sub


'//********************************************************************
'  pubpage1(maxpage,thepages,viewpage,pageurl,pp,font_color) 通用分页函数 (1)
'  maxpage,thepages,viewpage,pageurl 链接地址前缀,pp,font_color 显示字体色
'********************************************************************//

  function pubpage1(maxpage,thepages,viewpage,pageurl,pp,font_color)
    dim pn,pi,page_num,ppp,pl,pr:pi=1
    ppp=pp\2
    if pp mod 2 = 0 then ppp=ppp-1
    pl=viewpage-ppp
    pr=pl+pp-1
    if pl<1 then
      pr=pr-pl+1:pl=1
      if pr>thepages then pr=thepages
    end if

    if pr>int(thepages) then
      pl=pl+thepages-pr:pr=thepages
      if pl<1 then pl=1

    end if

  if pl>1 then
    pubpage1=pubpage1&" <a href='"& pageurl &"' title='第一页'>[|<]</a> " & _
        " <a href='"& pageurl &"page="&pl-1&"' title='上一页'>[<]</a> "
  end if
  for pi=pl to pr
    if cint(viewpage)=cint(pi) then
      pubpage1=pubpage1&" <font color=" & font_color & ">[" & pi & "]</font> "
    else
      pubpage1=pubpage1&" <a href='"& pageurl &"page="& pi &"' title='第 " & pi & " 页'>[" & pi & "]</a> "
    end if
  next
  if pr<thepages then
    pubpage1=pubpage1&" <a href='"& pageurl &"page="&pi&"' title='后一页'>[>]</a> " & _
           " <a href='"& pageurl &"page="& thepages &"' title='最后一页'>[>|]</a> "
  end if
  end function

  
'//********************************************************************
'  pubpage2(viewpage,thepages,pageurl) 通用分页函数 (2)
'  maxpage,thepages,viewpage,pageurl 链接地址前缀
'********************************************************************//

function pubpage2(viewpage,thepages,pageurl)
  dim re_color,pf0,pf1,pf2,pf3,pf4,pf5
  re_color="#c0c0c0"
  pf0="已是第一页"
  pf1="第一页"
  pf2="上一页"
  pf3="下一页"
  pf4="最后一页"
  pf5="已是最后一页"
  pubpage2=vbcrlf & "<table border=0 cellspacing=0 cellpadding=0><tr><form action='"&pageurl&"' method=post><td>"

  if cint(viewpage)=1 then
    pubpage2=pubpage2 & vbcrlf & "<font color="&re_color&">"&pf0&"</font> "
  else
    pubpage2=pubpage2 & vbcrlf & "<a href='"&pageurl&"page=1' alt='"&pf1&"'>"&pf1&"</a>┋<a href='"&pageurl&"page="&cint(viewpage)-1&"' alt='"&pf2&"'>"&pf2&"</a> "
  end if

  if cint(viewpage)=cint(thepages) then
    pubpage2=pubpage2 & vbcrlf & "<font color="&re_color&" alt='"&pf5&"'>"&pf5&"</font>"
  else
    pubpage2=pubpage2 & vbcrlf & "<a href='"&pageurl&"page="&cint(viewpage)+1&"' alt='"&pf3&"'>"&pf3&"</a>┋<a href='"&pageurl&"page="&cint(thepages)&"' alt='"&pf4&"'>"&pf4&"</a>"
  end if
  if cint(thepages)<>1 then
    pubpage2=pubpage2 & vbcrlf & " <input type=text name=page value='"&viewpage&"' size=2> <input type=submit value='go'>"
  end if

  pubpage2=pubpage2 & vbcrlf & "</td></form></tr></table>"
end function

'//********************************************************************************
'  pubobject_install(strclassstring) 组件判断函数 值为 true 时 说明服务器支持该组件
'  参数:strclassstring  组件标示
'**********************************************************************************//


  function pubobject_install(strclassstring)
  on error resume next
  pubobject_install=false
  dim xtestobj
  err=0
  set xtestobj=server.createobject(strclassstring)
  if err=0 then pubobject_install=true
  set xtestobj=nothing
  err=0
  end function

%>