統(tǒng)計(jì)有多少行JS代碼和ASP代碼
更新時(shí)間:2006年09月17日 00:00:00 作者:
計(jì)算當(dāng)前文件夾中,有多少行JS代碼和ASP代碼,并且還可統(tǒng)計(jì)代碼有多少字節(jié)
有示例代碼
<%
'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
'\\
'\\ 來(lái)自 codeproject.com
'\\ 計(jì)算js和asp代碼
'\\ 修改 bluedestiny
'\\ mail:bluedestiny at 126.com
'\\
'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
option explicit
response.buffer=false
class COUNT_CODE
private fso,spath
private asplines, jslines, aspbytes, jsbytes, aspwords
private sub class_initialize
set fso = createobject("scripting.filesystemobject")
end sub
private sub class_terminate
set fso=nothing
end sub
private function iterate(path)
dim folder, folders, files, file, ts, txt, arr, f
set folder = fso.getfolder(path)
set files = folder.files
dim rx, c
set rx = new regexp
rx.ignorecase = true
rx.global = true
rx.pattern = " +"
for each file in files
if right(file.name,4)=".asp" or right(file.name,3)=".js" then
set ts = file.openastextstream
if ts.atendofstream then txt = "" else txt = ts.readall
ts.close
txt = rx.replace(txt," ")
txt = replace(txt,vbcrlf&vbcrlf,vbcrlf)
arr = split(replace(txt,vbcrlf," ")," ")
aspwords = aspwords + ubound(arr)
arr = split(txt,vbcrlf)
if right(file.name,4)=".asp" then
asplines = asplines + ubound(arr)
aspbytes = aspbytes + len(txt)
else
jslines = jslines + ubound(arr)
jsbytes = jsbytes + len(txt)
end if
end if
next
set folders = folder.subfolders
for each f in folders
iterate f.path
next
end function
public property let path(s)
spath=server.mappath(s)
end property
public sub count
iterate(spath)
end sub
public sub printf
response.write "ASP:" & "<br/>"
response.write "Total Lines Coded: " & asplines & "<br/>"
response.write "Total Bytes: " & aspbytes & "" & "<br/>"
response.write "Total Individual Elements (words) Typed: " & aspwords & "<br/>"
response.write "JScript:" & "<br/>"
response.write "Total Lines Coded: " & jslines & "<br/>"
response.write "Total Bytes: " & jsbytes
end sub
end class
'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
'\\示例代碼
'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
dim o
set o=new COUNT_CODE
o.path="bluedestiny/"
o.count
o.printf
%>
有示例代碼
復(fù)制代碼 代碼如下:
<%
'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
'\\
'\\ 來(lái)自 codeproject.com
'\\ 計(jì)算js和asp代碼
'\\ 修改 bluedestiny
'\\ mail:bluedestiny at 126.com
'\\
'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
option explicit
response.buffer=false
class COUNT_CODE
private fso,spath
private asplines, jslines, aspbytes, jsbytes, aspwords
private sub class_initialize
set fso = createobject("scripting.filesystemobject")
end sub
private sub class_terminate
set fso=nothing
end sub
private function iterate(path)
dim folder, folders, files, file, ts, txt, arr, f
set folder = fso.getfolder(path)
set files = folder.files
dim rx, c
set rx = new regexp
rx.ignorecase = true
rx.global = true
rx.pattern = " +"
for each file in files
if right(file.name,4)=".asp" or right(file.name,3)=".js" then
set ts = file.openastextstream
if ts.atendofstream then txt = "" else txt = ts.readall
ts.close
txt = rx.replace(txt," ")
txt = replace(txt,vbcrlf&vbcrlf,vbcrlf)
arr = split(replace(txt,vbcrlf," ")," ")
aspwords = aspwords + ubound(arr)
arr = split(txt,vbcrlf)
if right(file.name,4)=".asp" then
asplines = asplines + ubound(arr)
aspbytes = aspbytes + len(txt)
else
jslines = jslines + ubound(arr)
jsbytes = jsbytes + len(txt)
end if
end if
next
set folders = folder.subfolders
for each f in folders
iterate f.path
next
end function
public property let path(s)
spath=server.mappath(s)
end property
public sub count
iterate(spath)
end sub
public sub printf
response.write "ASP:" & "<br/>"
response.write "Total Lines Coded: " & asplines & "<br/>"
response.write "Total Bytes: " & aspbytes & "" & "<br/>"
response.write "Total Individual Elements (words) Typed: " & aspwords & "<br/>"
response.write "JScript:" & "<br/>"
response.write "Total Lines Coded: " & jslines & "<br/>"
response.write "Total Bytes: " & jsbytes
end sub
end class
'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
'\\示例代碼
'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
dim o
set o=new COUNT_CODE
o.path="bluedestiny/"
o.count
o.printf
%>
您可能感興趣的文章:
- ASP制作在線(xiàn)人數(shù)統(tǒng)計(jì)實(shí)例
- ASP程序代碼執(zhí)行時(shí)間統(tǒng)計(jì)類(lèi)
- asp論壇在線(xiàn)人數(shù)統(tǒng)計(jì)研究
- 實(shí)現(xiàn)ASP程序執(zhí)行時(shí)間統(tǒng)計(jì)類(lèi)的代碼
- asp實(shí)現(xiàn)一個(gè)統(tǒng)計(jì)當(dāng)前在線(xiàn)用戶(hù)的解決方案
- ASP訪問(wèn)數(shù)量統(tǒng)計(jì)代碼
- asp.net aspnetpager分頁(yè)統(tǒng)計(jì)時(shí)與實(shí)際不符的解決辦法
- asp.net中調(diào)用Office來(lái)制作3D統(tǒng)計(jì)圖的實(shí)例代碼
- ASP.net中網(wǎng)站訪問(wèn)量統(tǒng)計(jì)方法代碼
- php模仿asp Application對(duì)象在線(xiàn)人數(shù)統(tǒng)計(jì)實(shí)現(xiàn)方法
- 四步完成asp網(wǎng)頁(yè)設(shè)計(jì)流量統(tǒng)計(jì)
相關(guān)文章
實(shí)現(xiàn)支持邏輯搜索/單詞搜索/詞組搜索+支持OR/AND關(guān)鍵字的VBS CLASS!
實(shí)現(xiàn)支持邏輯搜索/單詞搜索/詞組搜索+支持OR/AND關(guān)鍵字的VBS CLASS!...2006-08-08ASP里面令人震撼地Debug類(lèi)(VBScript)
不知道用ASP寫(xiě)代碼的朋友是不是和我有一樣的感受,ASP中最頭疼的就是調(diào)試程序的時(shí)候不方便2007-06-06實(shí)現(xiàn)ASP程序執(zhí)行時(shí)間統(tǒng)計(jì)類(lèi)的代碼
實(shí)現(xiàn)ASP程序執(zhí)行時(shí)間統(tǒng)計(jì)類(lèi)的代碼...2007-03-03