ϩmӿmǩ
Function GetErr()
Sub ErrClear()
Property Get HasErr()
' ģйص 
Property Let tplText(strTPLContent)
Property Let tplFile(strFile)
Property Let tplArray(iRow,iBeginField,inArr)
Property Get tplRaw()
' ¼йص 
Property Set rsConn(oConn)
Property Let rsSQL(strSQL)
Property Get rsSQL()
Property Let rsCount(vCount)
Property Get rsCount()
Property Let SetRS(inConn,vCount,inSQL)
Property Let rsGroup(inArr)
Property Let rsFun(strFunctionName)
Property Let rsField(aFields)
Property Let rsFCase(bool)
' ҳйص 
Property Get PCount()
Property Let PFlag(bool)
Property Let PItem(iCount)
Property Let PLink(strURL)
Property Let PQStr(strParam)
Property Let PSize(iNum)
Property Let PRows(iNum)
' 뾲̬йص 
Property Let tplOuter(strTPLContent)
Property Let hGen(bool)
Property Let hExt(strExtName)
Property Let hTag(strTagMark)
Property Let hDir(strPath)
Property Let hMax(iNum)
Property Let hFun(strFunctionName)
' йص 
Function GetOutput()
Function Text()



ϩmmmmǩ
ƣGetErr
mسϸ
mԣֻ
mأ[ַ]
m
mʾ
'
    sErr=obj.GetErr
    Response.Write sErr
'

ϩmmmmǩ
ƣHasErr
mǷгִ
mԣֻ
mأ[ֵ:True|False]
m
mʾ
'
    'ע!дϢͨ·ʽ
    If obj.HasErr Then      'жз
        Response.Write obj.GetErr   'дϢ
    Else
        Response.Write "ɹ!"      '޴ɹ
    End If
'

ϩmmmmǩ
ƣErrClear
mճַͱ־λ
mԣ
mأ
m
mʾ
'
    obj.ErrClear
'

ϩmmԩmmǩ
ƣtplText
mַ뷽ʽģ
mԣֻд
mأ
m
    d strTPLContent  mm[ַ]ģַ
mʾ
'
    'ַͨԴݿ򻺴
    obj.tplText=myString
'

ϩmmԩmmǩ
ƣtplFile
mļ뷽ʽģ
mԣֻд
mأ
m
    d strFile  mm[ַ]ģļľԻ·
mʾ
'
    obj.tplFile="./TPL/Default/myfile.htm"
'

ϩmmԩmmǩ
ƣtplArray
m뷽ʽģ
mԣֻд
mأ
m
    d iRow  mm[]ôһпʼȡģϢ
    d iBeginField  mm[]ôһ(ֶ)ʼȡģϢ
    d inArr  mm[ά]ģϢ飬ʽΪrs.GetRowsصʽ
mʾ
'
    'ݿжȡģʾ
    SQL = "SELECT " & Ztl_head_ & "," & Ztl_row_ & "," & Ztl_foot_ & "," & Ztl_group_ & "," & Ztl_item_ & "," & Ztl_page_ & "," & Ztl_pageitems_ & " FROM " & dbt_TL & " WHERE (" & Ztl_name_ & " = '" & ThisPageName & "')"
    Set rs=Server.CreateObject("ADODB.Recordset")
    rs.Open SQL,conn,1,1 '11 for Read '13 for Write
    sqlcount=sqlcount+1
    If rs.EOF And rs.BOF Then
        Response.Write "ȡҳģ!!!"
    Else
        rs.MoveFirst
        obj.tplArray(0,0)=rs.GetRows
    End If
    rs.Close
    Set rs = Nothing
'

ϩmmԩmmǩ
ƣtplRaw
mģϢ
mԣֻ
mأ[ά]ʽΪrs.GetRowsصʽ
m
mʾ
'
    'Ҫϻʹ
    AppCache=obj.tplRaw
'

ϩmmԩmmǩ
ƣrsConn
mݿӶ
mԣֻд
mأ
m
    d oConn  mm[]һѾɹ򿪵ݿӶ
mʾ
'
    Dim conn
    Set conn = Server.CreateObject("ADODB.Connection")
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("mydb.mdb")
    Set obj.rsConn=conn
'

ϩmmԩmmǩ
ƣrsSQL
mû򷵻ҪִеSQLѯ
mԣɶд
mأ[ַ]ȡҪִеSQLѯ
m
    d strSQL  mm[ַ]ҪִеSQLѯ
mʾ
'
    obj.rsSQL="SELECT myField1,myField2 FROM myTable"
    Response.Write obj.rsSQL
'

ϩmmԩmmǩ
ƣrsCount
mû򷵻زѯļ¼
mԣɶд
mأ[]ѯļ¼(ҪGetOutputText֮òн)
m
    d vCount  mm[ַ//Null/Empty]¼ĻȡΪַͣôSQL"SELECT COUNT(*) ..."䣬ΪôԤƵļ¼ΪNull/EmptyôǶ̬ȡ(ʱ)
mʾ
'
    obj.rsCount=200  'ֵͨü¼
    obj.rsCount="SELECT COUNT(*) FROM myTable"  'ͨSQLü¼
    obj.rsCount=Null  'Զ
    obj.rsCount=Empty  'Զ

    'ؼ¼÷:
    Response.Write obj.Text  'ִкܻȡ¼
    Response.Write "¼Ϊ:" & obj.rsCount
'

ϩmmԩmmǩ
ƣSetRS
mһιûȡ¼(rs)
mԣֻд
mأ
m
    d strConn  mm[]ݿӶ Set conn = Server.CreateObject("ADODB.Connection") еġconn
    d vCount  mm[ַ//Null/Empty]¼ĻȡΪַͣôSQL"SELECT COUNT(*) ..."䣬ΪôԤƵļ¼ΪNull/EmptyôǶ̬ȡ(ʱ)
    d strSQL  mm[ַ]SQLѯ
mʾ
'
    'ͨSQLȡ¼
    obj.SetRS(conn,"SELECT COUNT(*) FROM myTable")="SELECT myField1,myField2 FROM myTable"

    'ֵͨü¼ֵʵʸôķҳʾ¼ΪʱģϢǾ̬Զֹͣɶҳ棬ʵҳܳHTTP404
    obj.SetRS(conn,200)="SELECT myField1,myField2 FROM myTable"

    'Զȡ¼ʹrs.RecordCount(ٶȺ)
    obj.SetRS(conn,Null)="SELECT myField1,myField2 FROM myTable"
    obj.SetRS(conn,Empty)="SELECT myField1,myField2 FROM myTable"
'

ϩmmԩmmǩ
ƣrsGroup
mЩֶз
mԣֻд
mأ
m
    d inArr  mm[һά]ֶ(0ʼ)һά
mʾ
'
    'ʵǽĳֶεֵͬкϲԪ 
    '÷ЩֶαOrder ByӾ
    'ԡmyField0һֶΪ
    obj.rsSQL="SELECT myField0,myField1 FROM myTable ORDER BY myField0"
    obj.rsGroup=Array(0)
    'ԡmyField1,myField2ֶΪ
    obj.rsSQL="SELECT myField0,myField1,myField2 FROM myTable ORDER BY myField1,myField2,myField0"
    obj.rsGroup=Array(1,2)
'

ϩmmԩmmǩ
ƣrsFun
mڴĳ¼ĳֶʱõӴ
mԣֻд
mأ
m
    d strFunctionName  mm[ַ]ӺĺúǸʽmyFuncName (toItem, fi, data, Cancel)еĲ˵toItemǰģַfiǰֶţdataǰֵֶCancel趨Ƿô˺ֱһֶζڲٴǰֶ
mʾ
'
    obj.rsFun="ifun" 
    
    Function ifun(toItem, fi, data, Cancel) 'Ӻ
      Dim a,i,u
      On Error Resume Next
    'Ϊ2ֶβŴǴ0ʼ
      If fi<>2 Then Exit Function
    'ֵֶΪNullŴΪNullֵвᱨ
      If IsNull(data) Then  Exit Function
    'ע⣬NullֵڳΪ0ֵ
      If Len(data)>0 Then
        a=Split(data,",")
        u=UBound(a)
        For i=0 To u
          If a(i)="1" Then
        'toItemģַһReplace
            toItem=Replace(toItem,"{=Item_" & fi & "_" & i & "}"," checked='checked' ")
          Else
            toItem=Replace(toItem,"{=Item_" & fi & "_" & i & "}","")
          End If
        Next
      Else
        For i=0 To 3
          toItem=Replace(toItem,"{=Item_" & fi & "_" & i & "}","")
        Next
      End If
      'κϾֱһֶζڲٴǰֶ
      Cancel=True
    End Function
'

ϩmmԩmmǩ
ƣrsField
mĳֶΪջضֵʱ滻Ϊֵָ
mԣֻд
mأ
m
    d aFields  mm[ά]Ϊ¸ʽĶά顰aFields(3,i)
        'aFields(0,i)=ҪǸŵֶ
        'aFields(1,i)=ֶεֵΪʱ
        'aFields(2,i)=滻Ϊָ
        'aFields(3,i)=жϷ,Ĭϻ0,1,-1С,2,3,4ⲿ
mʾ
'
    Dim a(3,4)
    a(0,0)=2
    a(1,0)=Null
    a(2,0)="-˵-"

    '۸0ʾȱ
    a(0,1)=3
    a(1,1)=0
    a(2,1)="<span style='color:red'>ȱ</span>"

    'С200ʾؼ
    a(0,2)=3
    a(1,2)=201
    a(2,2)="<span style='color:red'>ؼ:{=val}Ԫ</span>"
    a(3,2)=-1

    'ͨʽƥ
    a(0,3)=3
    a(1,3)="^([0-9]+)$"
    a(2,3)=":$1Ԫ"
    a(3,3)=2

    'ⲿ
    a(0,4)=2
    a(1,4)="True"
    a(2,4)="CutOneLineToMany({=val},12,400,0,4)"
    a(3,4)=4
    
    obj.rsField=a
'

ϩmmԩmmǩ
ƣrsFCase
mڴrsFieldԵжǷַдСд
mԣֻд
mأ
m
    d bool  mm[True/False]TrueΪִСдFalseĬֵΪִСд
mʾ
'
    obj.rsFCase=True
'

ϩmmԩmmǩ
ƣPCount
mطҳҳ
mԣֻ
mأ[]ҳҳ(ҪGetOutputText֮òн)
m
mʾ
'
    Response.Write "ҳ:" & obj.PCount
'

ϩmmԩmmǩ
ƣPFlag
mǷ÷ҳ
mԣֻд
mأ
m
    d bool  mm[True/False]TrueΪ÷ҳFalseĬֵΪ÷ҳ
mʾ
'
    obj.PFlag=True
'

ϩmmԩmmǩ
ƣPItem
mһҳ¼(Ƿ÷ҳЧ)
mԣֻд
mأ
m
    d iCount  mm[]һҳ¼
mʾ
'
    obj.PItem=20
'

ϩmmԩmmǩ
ƣPLink
m÷ҳҳתǰ׺
mԣֻд
mأ
m
    d strURL  mm[ַ]ҳתǰ׺(ʹ·)̬ҳʱãΪǾ̬ɵļǰ׺̬ҳʱãĳԶȡǰҳӵַ
mʾ
'
    '̬ҳʱֻǰ׺չ
    obj.PLink="index"
    '̬ҳʱҪãԸӼӲ
    obj.PLink="index.asp?id=5&flag=1"
'

ϩmmԩmmǩ
ƣPQStr
m÷ҳĵַ
mԣֻд
mأ
m
    d strParam  mm[ַ]̬ҳʱĬΪ"page"̬ʱãǾ̬ҳļĺ׺
mʾ
'
    '̬ҳʱɵĵַʽindex.asp?id=5&page=2
    obj.PQStr="page"
    '̬ҳʱɵĵַʽindex.asp?id=5&p=2
    obj.PQStr="p"
    
    '̬ҳʱɵļʽindex-p=5.htm
    obj.PQStr="-p={=num}"  '{=num}滻Ϊҳ
'

ϩmmԩmmǩ
ƣPSize
mǷ÷ҳÿҳĿ
mԣֻд
mأ
m
    d iNum  mm[]ÿҳ¼
mʾ
'
    obj.PSize=30
'

ϩmmԩmmǩ
ƣPRows
m÷ҳõҳ¼
mԣֻд
mأ
m
    d iNum  mm[]ҳ¼
mʾ
'
    obj.PRows=30
'

ϩmmԩmmǩ
ƣtplOuter
mɵľ̬ҳⲿģ
mԣֻд
mأ
m
    d strTPLContent  mm[ַ]ⲿģַ
mʾ
'
    obj.tplOuter="<html><head><title>ⲿģ</title></head>" & _
        "<body><h1>б</h1>{=mylist}</body></html>"
'

ϩmmԩmmǩ
ƣhGen
mǷþ̬
mԣֻд
mأ
m
    d bool  mm[True/False]TrueΪþ̬ɣFalse(Ĭ)Ϊá
mʾ
'
    obj.hGen=True
'

ϩmmԩmmǩ
ƣhExt
mɾ̬ļչ
mԣֻд
mأ
m
    d strExtName  mm[ַ]ɾ̬ļչ
mʾ
'
    obj.hExt=".htm"
    obj.hExt=".html"
'

ϩmmԩmmǩ
ƣhTag
mⲿģҪ滻ıǩ
mԣֻд
mأ
m
    d strTagMark  mm[ַ]Ҫ滻ıǩ
mʾ
'
    obj.hTag="mylist"
    obj.hTag="{=mylist}"
'

ϩmmԩmmǩ
ƣhDir
mþ̬ɵļı·(ʹ·)
mԣֻд
mأ
m
    d strPath  mm[ַ]ļı·
mʾ
'
    obj.hDir=".\html\"
    obj.hDir="."  'ǵΪǰ·
'

ϩmmԩmmǩ
ƣhMax
mɾ̬ļ
mԣֻд
mأ
m
    d iNum  mm[]ɾ̬ļС1Ϊ
mʾ
'
    obj.hMax=99  'ֻ99̬ļ
    obj.hMax=0   'ɵļ
'

ϩmmԩmmǩ
ƣhFun
mھ̬ɹеÿһҳǰɵõⲿ
mԣֻд
mأ
m
    d strFunctionName  mm[ַ]ⲿĺúǸʽmyFuncName (CurHtm, aRS, iPage, TotalPage, RSCount)еĲ˵CurHtmɺҳַaRSǰݿ¼ݣiPageǰҳ룬TotalPageҪɵҳRSCount¼
mʾ
'
    Function mkhtming( CurHtm , aRS , iPage , TotalPage , RSCount )
        Dim percentnum
        'жϿͻǷȻ
        If Not Response.IsClientConnected Then Response.End
        
        If iPage=1 Then
            'ڵһҳʱʾɵ
            allcount=TotalPage
            showui()
        End If
        
        'ɵĽȰٷֱ
        percentnum = FormatNumber(iPage/allcount*100,0)
        If Len(percentnum)=0 Then percentnum="0"
        If lastper<>percentnum Then
            lastper=percentnum
            'ɵĽȰٷֱȵͻ
            Response.Write "<script>oM.innerHTML=""ϵͳɽȰٷֱ:[ " & percentnum & "% ]"";oP.style.width=" & percentnum & "+'%';</script>"
            Response.Flush
        End If
    
    End Function
    
    'ָⲿɵĽȽ
    obj.hFun="mkhtming"
'

ϩmmmmǩ
ƣGetOutput
mɵսⲿ
mԣֻ
mأ[ַ/]̬ʱɺҳַ̬ʱسɹɵļ
m
mʾ
'
    Response.Write obj.GetOutput
'

ϩmmmmǩ
ƣText
mɵսⲿ
mԣֻ
mأ[ַ/]̬ʱɺҳַ̬ʱسɹɵļ
m
mʾ
'
    Response.Write obj.Text
'

[ Version 1.0  ]

