Calcule quantas linhas de código JS e código ASP existem na pasta atual e também conte quantos bytes de código
existem códigos de amostra
<%
'\\\\\\\\\\\\\\\\\\\
'\
'\ de codeproject.com
'\ Calcular código js e asp
'\ Modifica o destino azul
'\ mail:bluedestiny em 126.com
'\
'\\\\\\\\\\\\\\\\\\\\
opção explícita
resposta.buffer=falsa
classe COUNT_CODE
privado fso,spath
asplines privadas, jslines, aspbytes, jsbytes, aspwords
subclasse privada_initialize
definir fso = createobject("scripting.filesystemobject")
final sub
subclasse privada_terminate
definir fso = nada
final sub
função privada iterar (caminho)
dim pasta, pastas, arquivos, arquivo, ts, txt, arr, f
definir pasta = fso.getfolder(caminho)
definir arquivos = pasta.arquivos
dim rx,c
definir rx = nova expressão regular
rx.ignorecase = verdadeiro
rx.global = verdadeiro
rx.pattern = " +"
para cada arquivo em arquivos
se right(file.name,4)=".asp" ou right(file.name,3)=".js" então
definir ts = arquivo.openastextstream
se ts.atendofstream então txt = "" senão txt = ts.readall
ts.fechar
txt = rx.replace(txt," ")
txt = substituir(txt,vbcrlf&vbcrlf,vbcrlf)
arr = split(replace(txt,vbcrlf," ")," ")
aspwords = aspwords + ubound(arr)
arr = dividir(txt,vbcrlf)
se estiver certo (arquivo.nome,4)=".asp" então
asplines = asplines + ubound(arr)
aspbytes = aspbytes + len(txt)
outro
jslines = jslines + ubound(arr)
jsbytes = jsbytes + len(txt)
terminar se
terminar se
próximo
definir pastas = pasta.subpastas
para cada f em pastas
iterar f.path
próximo
função final
propriedade pública deixar caminho(s)
spath=servidor.mappath(s)
propriedade final
contagem de subcontas públicas
iterar (spath)
final sub
sub printf público
resposta.write "ASP:" e "<br/>"
response.write "Total de linhas codificadas: " & asplines & "<br/>"
resposta.write "Total de bytes: " & aspbytes & "" & "<br/>"
response.write "Total de elementos individuais (palavras) digitados: " & aspwords & "<br/>"
resposta.write "JScript:" e "<br/>"
response.write "Total de linhas codificadas: " & jslines & "<br/>"
resposta.write "Total de bytes:" & jsbytes
final sub
classe final
'\\\\\\\\\\\\\\\\\\\\\ \\ \\\\
'\Código de exemplo
'\\\\\\\\\\\\\\\\\\\\\ \\ \\\
escurecer o
definir o = novo COUNT_CODE
o.path="bluedestiny/"
o.contar
o.printf
%>