zoukankan      html  css  js  c++  java
  • 伺服器函數

    <%
    '===================================================================================
    ' 功    能:StdCall 基本函數庫
    ' 創建時間:2004年4月6日 14:35:58
    ' 修改時間:2005年3月18日 22:07:24
    ' 作    者:殷非非
    '===================================================================================
     
    '定義超總體變數
    Dim URLSelf,URISelf
    URISelf=Request.ServerVariables("SCRIPT_NAME")
    If Request.QueryString="" Then
    URLSelf=URISelf
    Else
    URLSelf=URISelf & "?" & Request.QueryString
    End If
    Response.CharSet="GB2312"
    Response.Buffer=True
    Response.Expires=-1

    '===================================================================================
    '   函數原型:  GotoURL (URL)
    '功    能:轉到指定的URL
    '參    數:URL 要跳轉的URL
    '返 回 值:無
    '涉及的表:無
    '===================================================================================
    Public Function GotoURL(URL)
    Response.Write "<script language=""JavaScript"">location.href='" & URL & "';</script>"
    End Function
    '===================================================================================
    '   函數原型:  MessageBox (Msg)
    '功    能:顯示訊息方塊
    '參    數:要顯示的消息
    '返 回 值:無
    '涉及的表:無
    '===================================================================================
    Public Function MessageBox(msg)
    msg=Replace(msg,"\","\\")
    msg=Replace(msg,"'","\'")
    msg=Replace(msg,"""","\""")
    msg=replace(msg,vbCrLf,"\n")
    msg=replace(msg,vbCr,"")
    msg=replace(msg,vbLf,"")
    Response.Write "<script language=""JavaScript"">alert('" & msg & "');</script>"
    End Function
    '===================================================================================
    '   函數原型:  ReturnValue (bolValue)
    '功    能:設置Window物件的返回值:只能是布林值
    '參    數:返回值
    '返 回 值:無
    '涉及的表:無
    '===================================================================================
    Public Function ReturnValue(bolValue)
    If bolValue Then
    Response.Write "<script language=""JavaScript"">window.returnValue=true;</script>"
    Else
    Response.Write "<script language=""JavaScript"">window.returnValue=false;</script>"
    End If
    End Function
    '===================================================================================
    '   函數原型:  GoBack (URL)
    '功    能:後退
    '參    數:無
    '返 回 值:無
    '涉及的表:無
    '===================================================================================
    Public Function GoBack()
    Response.Write "<script language=""JavaScript"">history.go(-1);</script>"
    End Function
    '===================================================================================
    '   函數原型:  CloseWindow ()
    '功    能:關閉窗口
    '參    數:無
    '返 回 值:無
    '涉及的表:無
    '===================================================================================
    Public Function CloseWindow()
    Response.Write "<script language=""JavaScript"">window.opener=null;window.close();</script>"
    End Function
    '===================================================================================
    '   函數原型:  RefreshParent ()
    '功    能:刷新父框架
    '參    數:無
    '返 回 值:無
    '涉及的表:無
    '===================================================================================
    Public Function RefreshParent()
    Response.Write "<script language=""JavaScript"">if(parent!=self) parent.location.reload();</script>"
    End Function
    '===================================================================================
    '   函數原型:  RefreshTop ()
    '功    能:刷新頂級框架
    '參    數:無
    '返 回 值:無
    '涉及的表:無
    '===================================================================================
    Public Function RefreshTop()
    Response.Write "<script language=""JavaScript"">if(top!=self) top.location.reload();</script>"
    End Function
    '===================================================================================
    '   函數原型:  GenPassword (intLen,PassMask)
    '功    能:生成隨機密碼
    '參    數:intLen新密碼長度
    'PassMask生成密碼的遮罩默認爲空
    '返 回 值:無
    '涉及的表:無
    '===================================================================================
    Public Function GenPassword(intLen,PassMask)
    Dim iCnt,PosTemp
    Randomize
    If PassMask="" Then
    PassMask="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz"
    End If
    For iCnt=1 To intLen
    PosTemp = Fix(Rnd(1)*(Len(PassMask)))+1
    GenPassword = GenPassword & Mid(PassMask,PosTemp,1)
    Next
    End Function
    '===================================================================================
    '   函數原型:  GenSerialString ()
    '功    能:生成序列號
    '參    數:無
    '返 回 值:無
    '涉及的表:無
    '===================================================================================
    Public Function GenSerialString()
    GenSerialString=Year(Now())
    If Month(Now())<10 Then
    GenSerialString=GenSerialString & "0"
    End If
    GenSerialString=GenSerialString & Month(Now())
    If Day(Now())<10 Then
    GenSerialString=GenSerialString & "0"
    End If
    GenSerialString=GenSerialString & Day(Now())
    If Hour(Now())<10 Then
    GenSerialString=GenSerialString & "0"
    End If
    GenSerialString=GenSerialString & Hour(Now())
    If Minute(Now())<10 Then
    GenSerialString=GenSerialString & "0"
    End If
    GenSerialString=GenSerialString & Minute(Now())
    If Second(Now())<10 Then
    GenSerialString=GenSerialString & "0"
    End If
    GenSerialString=GenSerialString & Second(Now())
    GenSerialString=GenSerialString & GenPassword(6,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ")
    End Function

    '===================================================================================
    '   函數原型:  ChangePage(URLTemplete,PageIndex)
    '功    能:根據URL模板生成新的頁面URL
    '參    數:URLTempleteURL模板
    '               PageIndex新的頁碼
    '返 回 值:生成的URL
    '涉及的表:無
    '===================================================================================
    Public Function ChangePage(URLTemplete,PageIndex)
    ChangePage=SetQueryString(URLTemplete,"PAGE",PageIndex)
    End Function
    '===================================================================================
    '   函數原型:  BuildPath(sPath)
    '功    能:根據指定的路徑創建目錄
    '參    數:sPathURL模板
    '返 回 值:如果成功,返回空字串,否則返回錯誤資訊和錯誤位置
    '涉及的表:無
    '===================================================================================
    Public Function BuildPath (sPath)
    Dim iCnt
    Dim path
    Dim BasePath
    path=Split(sPath,"/")
    If Left(sPath,1)="/" Or Left(sPath,1)="\" Then
    BasePath=Server.MapPath("/")
    Else
    BasePath=Server.MapPath(".")
    End If
    Dim cPath,oFso
    cPath=BasePath
    BuildPath=""
    Set oFso=Server.Createobject("Scripting.FileSystemObject")
    For iCnt=LBound(path) To UBound(path)
    If Trim(path(iCnt))<>"" Then
    cPath=cPath & "\" & Trim(path(iCnt))
    If Not oFso.FolderExists(cPath) Then
    On Error Resume Next
    oFso.CreateFolder cPath
    If Err.Number<>0 Then
    BuildPath=Err.Description & "[" & cPath & "]"
    Exit For
    End If
    On Error Goto 0
    End If
    End If
    Next
    Set oFso=Nothing
    End Function
    '===================================================================================
    '   函數原型:  GetUserAgentInfo(ByRef vSoft,ByRef vOs)
    '功    能:獲取用戶端作業系統和瀏覽器資訊
    '參    數:vSoft瀏覽器資訊
    'vOs作業系統資訊
    '返 回 值:無
    '涉及的表:無
    '===================================================================================
    Public Function GetUserAgentInfo(ByRef vSoft,ByRef vOs)
    Dim theSoft
    theSoft=Request.ServerVariables("HTTP_USER_AGENT")
    ' 瀏覽器
    if InStr(theSoft,"NetCaptor") Then
    vSoft="NetCaptor"
    ElseIf InStr(theSoft,"MSIE 6") Then
    vSoft="MSIE 6.0"
    ElseIf InStr(theSoft,"MSIE 5.5+") Then
    vSoft="MSIE 5.5"
    ElseIf InStr(theSoft,"MSIE 5") Then
    vSoft="MSIE 5.0"
    ElseIf InStr(theSoft,"MSIE 4") Then
    vSoft="MSIE 4.0"
    ElseIf InStr(theSoft,"Netscape") Then
    vSoft="Netscape"
    ElseIf InStr(theSoft,"Opera") Then
    vSoft="Opera"
    Else
    vSoft="Other"
    End If
    ' 作業系統
    if InStr(theSoft,"Windows NT 5.0") Then
    vOs="Windows 2000"
    ElseIf InStr(theSoft,"Windows NT 5.1") Then
    vOs="Windows XP"
    ElseIf InStr(theSoft,"Windows NT 5.2") Then
    vOs="Windows 2003"
    ElseIf InStr(theSoft,"Windows NT") Then
    vOs="Windows NT"
    ElseIf InStr(theSoft,"Windows 9") Then
    vOs="Windows 9x"
    ElseIf InStr(theSoft,"unix") Then
    vOs="Unix"
    ElseIf InStr(theSoft,"linux") Then
    vOs="Linux"
    ElseIf InStr(theSoft,"SunOS") Then
    vOs="SunOS"
    ElseIf InStr(theSoft,"BSD") Then
    vOs="BSD"
    ElseIf InStr(theSoft,"Mac") Then
    vOs="Mac"
    Else
    vOs="Other"
    End If
    End Function
    '===================================================================================
    '   函數原型:  GetRegexpObject()
    '功    能:獲得一個正則運算式物件
    '參    數:無
    '返 回 值:正則運算式物件
    '涉及的表:無
    '===================================================================================
    Public Function GetRegExpObject(sPattern)
    Dim r : Set r=New RegExp
    r.Global=True
    r.IgnoreCase = True
    r.MultiLine=True
    r.Pattern=sPattern
    Set GetRegexpObject=r
    Set r=Nothing
    End Function
    '===================================================================================
    '   函數原型:  RegExpTest(pattern,string)
    '功    能:正則運算式檢測
    '參    數:pattern模式字串
    'string待檢查的字串
    '返 回 值:是否匹配
    '涉及的表:無
    '===================================================================================
    Public Function RegExpTest(p,s)
    Dim r
    Set r=GetRegExpObject(p)
    RegExpTest=r.Test(s)
    Set r=Nothing
    End Function
    '===================================================================================
    '   函數原型:  RegExpReplace(sSource,sPattern,sRep)
    '功    能:正則運算式替換
    '參    數:sSource要替換的源字串
    'sPattern模式字串
    'sRep要替換的目標字串
    '返 回 值:替換後的字串
    '涉及的表:無
    '===================================================================================
    Public Function RegExpReplace(sSource,sPattern,sRep)
    Dim r : Set r=GetRegExpTest(sPattern)
    RegExpReplace=r.Replace(sSource,sRep)
    Set r=Nothing
    End Function
    '===================================================================================
    '   函數原型:  CreateXMLParser()
    '功    能:創建一個盡可能高版本的XMLDOM
    '參    數:無
    '返 回 值:IDOMDocument物件
    '涉及的表:無
    '===================================================================================
    Public Function CreateXMLParser()
    On Error Resume Next
    Set CreateXMLParser=Server.CreateObject("MSXML2.DOMDocument.4.0")
    If Err.Number<>0 Then
    Err.Clear
    Set CreateXMLParser=Server.CreateObject("MSXML2.DOMDocument.3.0")
    If Err.Number<>0 Then
    Err.Clear
    Set CreateXMLParser=Server.CreateObject("MSXML2.DOMDocument.2.6")
    If Err.Number<>0 Then
    Err.Clear
    Set CreateXMLParser=Server.CreateObject("MSXML2.DOMDocument")
    If Err.Number<>0 Then
    Err.Clear
    Set CreateXMLParser=Server.CreateObject("Microsoft.XMLDOM")
    If Err.Number<>0 Then
    Err.Clear
    Set CreateXMLParser=Nothing
    Else
    Exit Function
    End If
    Else
    Exit Function
    End If
    Else
    Exit Function
    End If
    Else
    Exit Function
    End If
    Else
    Exit Function
    End If
    On Error Goto 0
    End Function


    '===================================================================================
    '   函數原型:  CreateHTTPPoster()
    '功    能:創建一個盡可能高版本的XMLHTTP
    '參    數:ServerOrClient創建ServerXMLHTTP還是XMLHTTP
    '返 回 值:IXMLHTTP物件
    '涉及的表:無
    '===================================================================================
    Public Function CreateHTTPPoster(soc)
    Dim s
    If soc Then
    s="ServerXMLHTTP"
    Else
    s="XMLHTTP"
    End If
    On Error Resume Next
    Set CreateHTTPPoster=Server.CreateObject("MSXML2." & s & ".4.0")
    If Err.Number<>0 Then
    Err.Clear
    Set CreateHTTPPoster=Server.CreateObject("MSXML2." & s & ".3.0")
    If Err.Number<>0 Then
    Err.Clear
    Set CreateHTTPPoster=Server.CreateObject("MSXML2." & s)
    If Err.Number<>0 Then
    Set CreateHTTPPoster=Nothing
    Else
    Exit Function
    End If
    Else
    Exit Function
    End If
    Else
    Exit Function
    End If
    On Error Goto 0
    End Function
    '===================================================================================
    '   函數原型:  XMLThrowError (errCode,errReason)
    '功    能:抛出一個XML錯誤消息
    '參    數:errCode錯誤編碼
    'errReason錯誤原因
    '返 回 值:無
    '涉及的表:無
    '===================================================================================
    Public Sub XMLThrowError (errCode,errReason)
    Response.Clear
    Response.ContentType="text/xml"
    Response.Write"<?xml version=""1.0"" encoding=""gb2312"" standalone=""yes"" ?>" & vbCrLf & _
    "<ERROR CODE=""" & errCode & """ REASON=""" & errReason & """ />" & vbCrLf
    Response.Flush
    Response.End
    End Sub
    '===================================================================================
    '   函數原型:  GetXMLNodeValue(ByRef xmlDom,sFilter,sDefValue)
    '功    能:從一個XML文檔中查找指定節點的值
    '參    數:xmlDomXML文檔
    'sFilterXPATH定位字串
    'sDefValue預設值
    '返 回 值:無
    '涉及的表:無
    '===================================================================================
    Public Function GetXMLNodeValue(ByRef xmlDom,sFilter,sDefValue)
    Dim oNode : Set oNode=xmlDom.selectSingleNode(sFilter)
    If TypeName(oNode)="Nothing" Or TypeName(oNode)="Null" Or TypeName(oNode)="Empty" Then
    GetXMLNodeValue=sDefValue
    Set oNode=Nothing
    Else
    GetXMLNodeValue=Trim(oNode.Text)
    Set oNode=Nothing
    End If
    End Function
    '===================================================================================
    '   函數原型:  GetXMLNodeAttribute(ByRef xmlDom,sFilter,sName,sDefValue)
    '功    能:從一個XML文檔中查找指定節點的指定屬性
    '參    數:xmlDomXML文檔
    'sFilterXPATH定位字串
    'sName要查詢的屬性名稱
    'sDefValue預設值
    '返 回 值:無
    '涉及的表:無
    '===================================================================================
    Public Function GetXMLNodeAttribute(ByRef xmlDom,sFilter,sName,sDefValue)
    Dim oNode : Set oNode=xmlDom.selectSingleNode(sFilter)
    If TypeName(oNode)="Nothing" Or TypeName(oNode)="Null" Or TypeName(oNode)="Empty" Then
    GetXMLNodeAttribute=sDefValue
    Set oNode=Nothing
    Else
    Dim pTemp : Set pTemp=oNode.getAttribute(sName)
    If TypeName(pTemp)="Nothing" Or TypeName(pTemp)="Null" Or TypeName(pTemp)="Empty" Then
    GetXMLNodeAttribute=sDefValue
    Set oNode=Nothing
    Set pTemp=Nothing
    Else
    GetXMLNodeAttribute=Trim(pTemp.Value)
    Set oNode=Nothing
    Set pTemp=Nothing
    End If
    End If
    End Function
    '===================================================================================
    '   函數原型:  GetQueryStringNumber (FieldName,defValue)
    '功    能:從QueryString獲取一個整數
    '參    數:FieldName參數名
    'defValue預設值
    '返 回 值:無
    '涉及的表:無
    '===================================================================================
    Public Function GetQueryStringNumber (FieldName,defValue)
    Dim r : r=Request.QueryString(FieldName)
    If r="" Then
    GetQueryStringNumber = defValue
    Exit Function
    Else
    If Not IsNumeric(r) Then
    GetQueryStringNumber = defValue
    Exit Function
    Else
    On Error Resume Next
    r=CDbl(r)
    If Err.Number<>0 Then
    Err.Clear
    GetQueryStringNumber = defValue
    Exit Function
    Else
    GetQueryStringNumber=r
    End If
    On Error Goto 0
    End If
    End If
    End Function
    '===================================================================================
    '   函數原型:  IIf (testExpr,value1,value2)
    '功    能:相當於C/C++裏面的 ?: 運算符
    '參    數:testExprBoolean運算式
    'value1testExpr=True 時的取值
    'value2testExpr=False 時的取值
    '返 回 值:如果testExpr爲True返回value1否則返回value2
    '涉及的表:無
    '說    明:VBScript裏沒有Iif函數
    '===================================================================================
    Public Function IIf(testExpr,value1,value2)
    If testExpr=True Then
    IIf=value1
    Else
    IIf=value2
    End If
    End Function


    '===================================================================================
    '   函數原型:  URLEncoding (v,f)
    '功    能:URL編碼函數
    '參    數:v中英文混合字串
    'f是否對ASCII字元編碼
    '返 回 值:編碼後的ASC字串
    '涉及的表:無
    '===================================================================================
    Public Function URLEncoding(v,f)
    Dim s,t,i,j,h,l,x : s = "" : x=Len(v)
    For i = 1 To x
    t = Mid(v,i,1) : j = Asc(t)
    If j> 0 Then
    If f Then
    s = s & "%" & Right("00" & Hex(Asc(t)),2)
    Else
    s = s & t
    End If
    Else
    If j < 0 Then j = j + &H10000
    h = (j And &HFF00) \ &HFF
    l = j And &HFF
    s = s & "%" & Hex(h) & "%" & Hex(l)
    End If
    Next
    URLEncoding = s
    End Function
    '===================================================================================
    '   函數原型:  URLDecoding (sIn)
    '功    能:URL解碼碼函數
    '參    數:vURL編碼的字串
    '返 回 值:解碼後的字串
    '涉及的表:無
    '===================================================================================
    Public Function URLDecoding(sIn)
    Dim s,i,l,c,t,n : s="" : l=Len(sIn)
    For i=1 To l
    c=Mid(sIn,i,1)
    If c<>"%" Then
    s = s & c
    Else
    c=Mid(sIn,i+1,2) : i=i+2 : t=CInt("&H" & c)
    If t<&H80 Then
    s=s & Chr(t)
    Else
    c=Mid(sIn,i+1,3)
    If Left(c,1)<>"%" Then
    URLDecoding=s
    Exit Function
    Else
    c=Right(c,2) : n=CInt("&H" & c)
    t=t*256+n-65536
    s = s & Chr(t) : i=i+3
    End If
    End If
    End If
    Next
    URLDecoding=s
    End Function
    '===================================================================================
    '   函數原型:  Bytes2BSTR (v)
    '功    能:UTF-8編碼轉換到正常的GB2312
    '參    數:vUTF-8編碼位元組流
    '返 回 值:解碼後的字串
    '涉及的表:無
    '===================================================================================
    Public Function Bytes2BSTR(v)
    Dim r,i,t,n : r = ""
    For i = 1 To LenB(v)
    t = AscB(MidB(v,i,1))
    If t < &H80 Then
    r = r & Chr(t)
    Else
    n = AscB(MidB(v,i+1,1))
    r = r & Chr(CLng(t) * &H100 + CInt(n))
    i = i + 1
    End If
    Next
    Bytes2BSTR = r
    End Function
    %>
    posted

  • 相关阅读:
    第四章例4-5
    第四章例4-4
    修改oracle 客户端PL/SQL 的路径问题
    解决div float后,父div高度无法自适应的问题
    include与jsp:include与s:action与s:include与iframe用法汇总
    解决js中onMouseOut事件冒泡的问题
    strut2配置action class 问题
    html块级元素与行内元素
    Tomcat 启动不了的问题
    oracle远程导入导出
  • 原文地址:https://www.cnblogs.com/janmson/p/359614.html
Copyright © 2011-2022 走看看