日本xxxx18视频在线观看-日本xxxx1819-日本xxxwww在线观看-日本xxx-日本xx-日本www在线视频

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

[點晴永久免費OA]分享一個ASP好東東:動態Include文件 (Dynamic File Includes)

admin
2022年6月22日 0:7 本文熱度 1435
早在藍色理想上看到過動態Include的文章,當時已經覺得很厲害,但實際應用了一下,不方便而且Include的效果不好。

后來又在一網站上看到了改進版的,但是也不太好用~~~

哎,當時我真是覺得有點想放棄ASP了,但是由于公司還是用ASP來開發,我也是沒有辦法...

今天,我一定要記住今天~~~在國外的一個網站上我竟然發現了這樣一個好東東,太棒了~~~Great works!!!

以前試的一些動態Include代碼,都無法Include一個類,甚至函數~~~又或者Include文件中的Include無法被包含...

現在這個鬼佬(dselkirk)寫的類可以為我們做到這些了~~~,代碼如下:
<%
  public include, include_vars
  set include = new cls_include

  class cls_include

    private sub class_initialize()
      set include_vars = server.createobject("scripting.dictionary")
    end sub

    private sub class_deactivate()
      arr_variables.removeall
      set include_vars = nothing
      set include = nothing
    end sub

    public default function include(byval str_path)
      dim str_source
      if str_path <> "" then
        str_source = readfile(str_path)
        if str_source <> "" then
          processincludes str_source
          convert2code str_source
          formatcode str_source
          if str_source <> "" then
            if request.querystring("debug") = 1 then
              response.write str_source
              response.end
            else
              executeglobal str_source
              include_vars.removeall
            end if
          end if
        end if
      end if
    end function

    private sub convert2code(str_source) 
      dim i, str_temp, arr_temp, int_len 
      if str_source <> "" then 
        if instr(str_source,"%" & ">") > instr(str_source,"<" & "%") then 
          str_temp = replace(str_source,"<" & "%","|%") 
          str_temp = replace(str_temp,"%" & ">","|") 
          if left(str_temp,1) = "|" then str_temp = right(str_temp,len(str_temp) - 1) 
          if right(str_temp,1) = "|" then str_temp = left(str_temp,len(str_temp) - 1) 
          arr_temp = split(str_temp,"|") 
          int_len = ubound(arr_temp) 
          if (int_len + 1) > 0 then 
            for i = 0 to int_len 
              str_temp = trim(arr_temp(i)) 
              str_temp = replace(str_temp,vbcrlf & vbcrlf,vbcrlf) 
              if left(str_temp,2) = vbcrlf then str_temp = right(str_temp,len(str_temp) - 2) 
              if right(str_temp,2) = vbcrlf then str_temp = left(str_temp,len(str_temp) - 2) 
              if left(str_temp,1) = "%" then 
                str_temp = right(str_temp,len(str_temp) - 1) 
                if left(str_temp,1) = "=" then 
                  str_temp = right(str_temp,len(str_temp) - 1) 
                  str_temp = "response.write " & str_temp 
                end if 
              else 
                if str_temp <> "" then 
                  include_vars.add i, str_temp 
                  str_temp = "response.write include_vars.item(" & i & ")"  
                end if 
              end if 
              str_temp = replace(str_temp,chr(34) & chr(34) & " & ","") 
              str_temp = replace(str_temp," & " & chr(34) & chr(34),"") 
              if right(str_temp,2) <> vbcrlf then str_temp = str_temp 
              arr_temp(i) = str_temp 
            next 
            str_source = join(arr_temp,vbcrlf) 
          end if 
        else 
          if str_source <> "" then 
            include_vars.add "var", str_source 
            str_source = "response.write include_vars.item(""var"")" 
          end if 
        end if 
      end if 
    end sub 

    private sub processincludes(str_source) 
      dim int_start, str_path, str_mid, str_temp 
      str_source = replace(str_source,"<!-- #","<!--#") 
      int_start = instr(str_source,"<!--#include") 
      str_mid = lcase(getbetween(str_source,"<!--#include","-->")) 
      do until int_start = 0 
        str_mid = lcase(getbetween(str_source,"<!--","-->")) 
        int_start = instr(str_mid,"#include") 
        if int_start >  0 then 
          str_temp = lcase(getbetween(str_mid,chr(34),chr(34))) 
          str_temp = trim(str_temp) 
          str_path = readfile(str_temp) 
          str_source = replace(str_source,"<!--" & str_mid & "-->",str_path & vbcrlf) 
        end if 
        int_start = instr(str_source,"#include") 
      loop 
    end sub 

    private sub formatcode(str_code) 
      dim i, arr_temp, int_len 
      str_code = replace(str_code,vbcrlf & vbcrlf,vbcrlf) 
      if left(str_code,2) = vbcrlf then str_code = right(str_code,len(str_code) - 2) 
      str_code = trim(str_code) 
      if instr(str_code,vbcrlf) > 0 then 
        arr_temp = split(str_code,vbcrlf) 
        for i = 0 to ubound(arr_temp) 
          arr_temp(i) = ltrim(arr_temp(i)) 
          if arr_temp(i) <> "" then arr_temp(i) = arr_temp(i) & vbcrlf 
        next 
        str_code = join(arr_temp,"") 
        arr_temp = vbnull 
      end if 
    end sub 

    private function readfile(str_path) 
      dim objfso, objfile 
      if str_path <> "" then 
        if instr(str_path,":") = 0 then str_path = server.mappath(str_path) 
        set objfso = server.createobject("scripting.filesystemobject") 
        if objfso.fileexists(str_path) then 
          set objfile = objfso.opentextfile(str_path, 1, false) 
          if err.number = 0 then 
            readfile = objfile.readall 
            objfile.close 
          end if 
          set objfile = nothing 
        end if 
        set objfso = nothing 
      end if 
    end function 

    private function getbetween(strdata, strstart, strend) 
      dim lngstart, lngend 
      lngstart = instr(strdata, strstart) + len(strstart) 
      if (lngstart <> 0) then 
        lngend = instr(lngstart, strdata, strend) 
        if (lngend <> 0) then 
          getbetween = mid(strdata, lngstart, lngend - lngstart) 
        end if 
      end if 
    end function 

  end class 
%>

該文章在 2022/6/22 0:07:37 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 亚洲aⅴ一区二区三区四区 国内精自线i | 欧美精品人爱a欧美精品 | 欧美日韩在线无吗一区二区三区 | 国产激情一区二区三区在线hd | 国产精品系 | 日本欧美一区二区三区在线播放 | 日韩欧美中文字幕出 | 国产日产欧美一区二区三区 | 免费99精品国产自在现 | 国产在线观看91精品 | 国产原创导航 | 国产精品白拍在线播放成人 | 国产精品一区一区三区mba | 欧美最新免费一区 | 国产午夜精 | 精品国色天香新区卡一卡二 | 96533电视影片免费 | 日韩欧美制服丝袜在线播放 | 国产亚洲成a| 欧美一级在线全免费 | 欧美性爱视频手机在线免费播放 | 日韩另类动漫一区二区 | 国产在线观看91精品不卡 | 日韩激情视频网站 | 国产精品成人自拍 | 国产一级a | 国产自产21区 | 国产999精品视频 | 乱色熟女综合一 | 国产老熟女乱子人伦视频 | 精品综合日韩久 | 2025欧| 国产台湾佬国产娱乐 | 2025在线影视网 | 国产精品自产拍在线观看一 | 丰满岳乱一区二区三区在线观看 | 国产欧美日韩va另类在 | 欧美日韩中文国产v?另类 | 日韩欧美精品一区二区三区在线 | 99re20久| 18视频免费网址在线观看 |