亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > HTML > 正文

NCC Tools(never code counter tools) V1.0.1發布代碼-代碼統計工具

2020-01-25 19:40:56
字體:
來源:轉載
供稿:網友
界面如下圖:把源代碼存為(hta)文件,因為hta文件沒有狀態欄,所以我這里建議大家存為html文件,這樣可以在狀態欄下看到 

NCC掃描的進度,我這里把NCC的maxloop設置為3000,所以文件統計到3000的時候,會自動終止,以防文件夾中文件太多造成運行的負擔。 

如果大家喜歡這樣的代碼,就請關注"Never Modules" 

主要功能有- 
1??勺约哼x擇文件夾,或者單個文件。 
2。自己選擇文件后綴名進行統計 
3。output information輸出的數據有: 
文件個數, 
文件的代碼字節數, 
單詞個數, 
代碼行數, 
總代碼字節數 
總代碼行數。 
4。可以把代碼統計結果用SaveAs存為html或者txt文件。
復制代碼代碼如下:
<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
 <title> NCC Tools - http://www.never-online.net </title> 
 <hta:application id="NCC"  
 applicationname="NCC application"  
 border="thin"  
 borderstyle="normal"  
 caption="yes"  
 icon="http://www.never-online.net/images/icon.ico"  
 maximizebutton="no" 
 minimizebutton="yes" 
 showintaskbar="no"  
 singleinstance="yes" 
 sysmenu="yes"  
 version="1.01"  
 windowState="normal"/> 
 <meta http-equiv="ImageToolbar" content="no" /> 
 <meta name="author" content="BlueDestiny, never-online"/> 
 <meta name="keywords" content="never modules, Mozilla CSS, C#, .net, Refercence, BlueDestiny, never-online, www.never-online.net"/> 
 <meta name="description" content="BlueDestiny, never-online"/> 
 <meta name="title" content="never code counter (NCC) - http://www.never-online.net" /> 
 <meta name="creator.name" content="Genius Lau, never-online, blueDestiny" /> 
 <style type="text/css" media="all" title="Default"> 
 body { background-color:buttonface; } 
 body,td,input { font:9pt tahoma; } 
 h1 { text-align:center; font-weight: bold; font-family: tahoma; font-size: 16pt; }  
 fieldset { height:300px; } 
 legend { font-weight: bolder; } 
 .btn { border-left:4px solid #444; border-top:1px solid #444; border-bottom:1px solid #444; border-right:1px solid #444; } 
 .two { width:200px; } 
 .txt { border:1px solid #444; } 
 .file { display:none; width:300px; border-left:4px solid #444; border-top:1px solid #444; border-bottom:1px solid #444; border-right:1px solid #444; } 
 #loading { display:none; filter:alpha(opacity=70); border:1px solid #444444; background-color:appworkspace; color:#ffffff; width:300px; font-size:13px; font-weight:bold; font-family:arial; padding:10px; position:absolute; top:0; left:0; } 
 #left { line-height:200%; width:50%; padding:20px; } 
 #left ul { margin:0 0 0 10px; } 
 #left li { list-style-type: decimal; margin:20px 10px 15px 10px; } 
 #footer { font-size:11px; text-align:center; } 
 #right { padding:20px; width:50%; } 
 #outputWrapper { padding:10px; } 
 </style> 
 <script type="text/javascript"> 
 //<![CDATA[ 

 //====================================================================================== 
 // 
 // Module : NCC - never code counter V1.01 beta 
 // Script by : never-online, blueDestiny 
 // Updated : 2006-6-25 
 // Copyright : Miracle technology all reserved 
 // Website : http://www.never-online.net 
 // Email : blueDestiny@126.com 
 // Blog : http://blog.csdn.net/blueDestiny, http://blog.never-online.net/ 
 // Comment : Permission given to use this script in ANY kind of applications if 
 // header lines are left unchanged. 
 // 
 //====================================================================================== 

 //==================================================================================== 
 // Ultity Function 
 var doc = document, wnd = window; 
 String.prototype.trim = function() { return this.replace(/(^/s*)|(/s*$)/g, ''); }; 
 Array.prototype.push = function(x) { this[this.length] = x; }; 
 Array.prototype.pop = function() { return this[this.length-1]; }; 
 //==================================================================================== 
 var NCC =  
 { 
 // Private Variables 
 _maxloop : 3000, 
 _version : "1.02 beta", 
 _author : "BlueDestiny, never-online", 
 _webURI : "http://www.never-online.net", 
 _lines : {"total":0}, 
 _bytes : {"total":0}, 
 _files : {"total":0}, 
 _words : {"total":0}, 
 _error : {}, 
 _filesExts : "cs,js,asp,xml,aspx", 
 _fsoObj : new ActiveXObject("Scripting.FileSystemObject") 
 // make sure Your fso activeXObject is availd. otherwise can not runing next code 
 }; 
 // Public Functions API 
 NCC.splash = function() 
 { 

 }; 
 NCC.init = function() 
 { 
 var fileDlgObjStr = '<object id="filepathDlg"' 
 +' width="0px" height="0px"' 
 +' classid="CLSID:F9043C85-F6F2-101A-A3C9-08002B2F49FB"' 
 +' codebase="http://activex.microsoft.com/controls/vb5/comdlg32.cab">' 
 +'</object>'; 
 var folderDlgObjStr = '<object id="folderpathDlg"' 
 +' classid="CLSID:13709620-C279-11CE-A49E-444553540000"' 
 +' width="0" height="0">' 
 +'</object>'; 
 var loadingObjStr = '<div id="loading"></div>'; 
 doc.body.insertAdjacentHTML("beforeEnd", fileDlgObjStr); 
 doc.body.insertAdjacentHTML("beforeEnd", folderDlgObjStr); 
 doc.body.insertAdjacentHTML("beforeEnd", loadingObjStr); 
 } 
 NCC.chkFileExts = function(filenameStr) 
 { 
 var a = this._filesExts.trim().split(","); 
 var f = this.getFileExts(filenameStr); 
 for (var i=0; i<a.length; i++) 
 if (f.toLowerCase() == a[i].toLowerCase()) return true; 
 return false; 
 }; 
 NCC.output = function(wrapperID) 
 { 
 var k, x; x=[];  
 x.push("------------- Files -------------"); 
 // -- part of files -- 
 for (k in this._files) 
 x.push("[" +k+ "]: " +this._files[k]+ ""); 
 // -- part of words -- 
 x.push("------------- Words -------------"); 
 for (k in this._words) 
 x.push("[" +k+ "]: " +this._words[k]+ ""); 
 // -- part of bytes -- 
 x.push("------------- Bytes -------------"); 
 for (k in this._bytes) 
 x.push("[" +k+ "]: " +this._bytes[k]+ ""); 
 // -- part of lines -- 
 x.push("------------- Lines -------------"); 
 for (k in this._lines) 
 x.push("[" +k+ "]: " +this._lines[k]+ ""); 
 x = x.join("/n"); 
 if (wrapperID) { 
 var a = doc.all(wrapperID), t=a.tagName.toLowerCase(); 
 if (!a) return wnd.alert("HTMLElement ID /"" +wrapperID+ "/" is not valid!"); 
 if (t=="input" || t=="textarea") a.value = x; 
 else a.innerHTML = x.replace(//n/,"<br/>"); 
 } 
 return x; 
 }; 
 NCC.saveAs = function(elIdorStr) 
 { 
 var dlg = doc.all("filepathDlg"); 
 var a = doc.all(elIdorStr); 
 if (a) { 
 var t = a.tagName.toLowerCase(); 
 var fileStr = (t=="input" || t=="textarea") ? a.value : a.innerHTML.replace(/<br(//)?>/g, "/n"); 
 } else { 
 fileStr = elIdorStr; 
 } 
 dlg.cancelError=true; 
 try { 
 dlg.filter="Text Files (*.txt)|*.txt|HTM Files (*.htm)|*.htm"; 
 dlg.showSave(); 
 var f = this._fsoObj.CreateTextFile(dlg.filename,true); 
 f.write(fileStr); 
 f.Close(); 
 } catch(ex) {}; 
 }; 
 NCC.setFilesExt = function(filesExtsStr) 
 { 
 this._filesExts = filesExtsStr; 
 return true; 
 }; 
 NCC.getFilesExts = function() 
 { 
 return this._filesExts; 
 }; 
 NCC.getFileExts = function(filenameStr) 
 { 
 var a=filenameStr.split("."); 
 return a[a.length-1].toLowerCase();//a.pop() 
 }; 
 NCC.selectSingleFile = function()  
 { 
 var dlg = doc.all("filepathDlg"); 
 var fps = doc.all("filepathStr"); 
 var fes = this._filesExts; 
 var filename="", filter="", arr=[]; 
 arr = fes.trim().split(","); 
 for (var i=0; i<arr.length; i++) 
 filter += arr[i].toUpperCase() +" Files (*." +arr[i]+ ")|*." +arr[i]+ "" +(i==arr.length-1?"":"|"); 
 dlg.cancelError=true; 
 try { 
 dlg.filter = filter; 
 dlg.showOpen(); 
 filename = dlg.filename; 
 } catch(ex) {}; 
 if (filename.trim()=="") return false; 
 fps.value = filename; 
 if (!this.chkFileExts(filename)) return wnd.alert("File Extension name /"" +filename+ "/" is not valid!"); 
 return filename; 
 }; 
 NCC.selectFolder = function() 
 { 
 var dlg = doc.all("folderpathDlg"); 
 try { 
 var pathObj = dlg.browseForFolder(0,"Please Select Folder:",0); 
 var pathStr = pathObj.parentFolder.parseName(pathObj.Title).path; 
 return pathStr; 
 } catch(ex) { return false }; 
 }; 
 NCC.countFolder = function(folderpathStr)  
 { 
 var ldg = doc.all("loading"); 
 with (ldg.style) { 
 display = "block"; 
 top = parseInt((doc.body.clientHeight-ldg.offsetHeight)/2); 
 left = parseInt((doc.body.clientWidth-ldg.offsetWidth)/2); 
 }; ldg.innerHTML = "<div align=/"center/">Now Counting...</div>"; 
      wnd.status = "NCC Counting..."; 
 if (!this._fsoObj.FolderExists(folderpathStr)) { 
 this.countSingleFile(folderpathStr); 
 } else { 
 var cnt = 0; 
 function iterator(folderpathStr) { 
 var a = NCC._fsoObj.getFolder(folderpathStr); 
 var e = new Enumerator(a.files) 
 for (; !e.atEnd(); e.moveNext()) { 
            NCC.countSingleFile(e.item()); 
            if (cnt++>=NCC._maxloop) return; 
          } 

 var f = new Enumerator(a.subFolders) 
 for (; !f.atEnd(); f.moveNext()) { 
            iterator(f.item()); 
            if (cnt++>=NCC._maxloop) return; 
          } 
 } 
 iterator(folderpathStr); 
 } 
 ldg.innerHTML = "<div align=/"center/">NCC Count Completely.</div>" 
 wnd.status = "NCC Count Completely."; 
 wnd.setTimeout(function(){ldg.style.display = "none";},3000); 
 }; 
 NCC.countSingleFile = function(filepathStr)  
 { 
 var x, a, f, e; 
 var ldg = doc.all("loading"); 
 if (!this._fsoObj.FileExists(filepathStr)) return false; 
 f = this._fsoObj.GetFile(filepathStr); 
 if (this.chkFileExts(f.name)) 
      { 
        var o = f.openAsTextStream(1); 
        if (o.atEndOfStream) { x = ""; } else { x = o.ReadAll(); } 
        x = x.replace(/(/n|/r)+/mg,"$1"); 
        a = x.split("/n"); 
        e = this.getFileExts(f.name); 
        this._bytes["total"] += x.length; 
        this._bytes[e] ? this._bytes[e]+=x.length : this._bytes[e]=x.length; 
        this._lines["total"] += a.length; 
        this._lines[e] ? this._lines[e]+=a.length : this._lines[e]=a.length; 
        a = x.replace(/(/s|/t| )+/g," ").split(" "); 
        this._words["total"] += a.length; 
        this._words[e] ? this._words[e]+=a.length : this._words[e]=a.length; 
        this._files["total"] ++; 
        this._files[e] ? this._files[e]++ : this._files[e]=1; 
      } 
 wnd.status = "NCC(/"" +f.path+ "/")"; 
 ldg.innerHTML = "now count /"" +f.name+ "/"." 
      return this.chkFileExts(f.name) 
 }; 
 NCC.formatSingleFile = function(filepathStr) 
 { 

 }; 
 //==================================================================================== 
 function window.onload() { 
 NCC.init(); 
 wnd.resizeTo(800,480); 
      doc.all("outputWrapper").value = ""; 
 setFilesExts();//setFilesExts.call(this); 
 } 
 function setFilesExts() { 
 doc.all("filesExts").value = NCC.getFilesExts(); 
 } 
 function output() { 
 /* 
 var e = event.srcElement; 
 var a = doc.body.all; 
 for (var i=0; i<a.length; i++) { 
 if (a[i].tagName.toLowerCase()=="input") { 
 if (a[i]!=e) a[i].disabled=true; 
 } 
 } 
 */ 
      NCC.setFilesExt(doc.all("filesExts").value) 
 NCC.countFolder(doc.all('filepathStr').value); 
 NCC.output('outputWrapper'); 
 } 
 function changeFileExt() { 
 var groupfileExts = doc.all("groupfileExt"); 
 var fileExtStr = []; 
 for (var i=0; i<groupfileExts.length; i++) { 
 if (groupfileExts[i].checked) 
 fileExtStr.push(groupfileExts[i].value); 
 } 
 NCC.setFilesExt(fileExtStr.join(",")); 
 setFilesExts(); 
 } 
 function selectSingleFile(val) { 
     if (!NCC.selectSingleFile()) return ""; 
 doc.all(val).value = NCC.selectSingleFile(); 
 } 
 function selectFolder(val) { 
 var a = NCC.selectFolder(); 
 if (a==false) return ""; 
 doc.all(val).value = a; 
 } 
 function saveAs() { 
 NCC.saveAs('outputWrapper'); 
 //NCC.saveAs(NCC.output()); 
 } 
 //]]> 
 </script> 
</head> 
<body id="www.never-online.net"> 
 <h1> NCC (never code counter) tools - http://www.never-online.net </h1> 
 <fieldset> 
 <legend> - Application NCC (never code counter) -</legend> 
 <table width="100%" border="0" cellpadding="0" cellspacing="0"> 
 <tr> 
 <td align="left" valign="top" id="left"> 
 <ul> 
 <li> 
 <input name="filepathStr" type="text" class="txt" value="type your file or folder path" size="30"> 
 <input class="btn" type="button" value=" FILE " onclick="selectSingleFile('filepathStr')"/> 
 <input class="btn" type="button" value="FOLDER" onclick="selectFolder('filepathStr')"/> 
 </li> 
 <li> 
 <input name="groupfileExt" value="asp" type="checkbox" checked onclick="changeFileExt()"/> 
 .asp 
 <input name="groupfileExt" value="js" type="checkbox" checked onclick="changeFileExt()"/> 
 .js 
 <input name="groupfileExt" value="xml" type="checkbox" checked onclick="changeFileExt()"/> 
 .xml 
 <input name="groupfileExt" value="aspx" type="checkbox" checked onclick="changeFileExt()"/> 
 .aspx 
 <input name="groupfileExt" value="cs" type="checkbox" checked onclick="changeFileExt()"/> 
 .cs  
 <br/> 
 <input name="filesExts" type="text" class="txt" id="filesExts" value="" size="40"> 
 </li> 
 <li> 
 <input class="btn two" type="button" value="Output Information" onclick="output()"/> 
 <!-- not complete <input name="button" type="button" class="btn" onclick="NCC.format();" value="Format Code"/> --> 
 </li> 
 <li> 
 <input class="btn two" type="button" value="Information Save As" onclick="saveAs();"/> 
 </li> 
 </ul> 
 <div id="footer"> 
 <p>  
 NCC V1.01 beta Power By BlueDestiny, never-online 
 <br/>  
 More code please visit <a href="http://www.never-online.net" target="_blank" title="visit my site">http://www.never-online.net</a>  
 </p> 
 </div> 
 </td> 
 <td align="left" valign="top" id="right"> 
 <fieldset> 
 <legend>- Output Information -</legend> 
 <textarea id="outputWrapper" style="border:0; background-color:buttonface; width:96%; height:100%;"></textarea> 
 </fieldset> 
 </td> 
 </tr> 
 </table> 
 </fieldset> 
</body> 
</html>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
尤物yw午夜国产精品视频| 国产精品久久久久久av福利| 久久色免费在线视频| 黑人狂躁日本妞一区二区三区| 久久精品国产一区二区电影| 国产视频精品自拍| 亚洲精品国产精品久久清纯直播| 亚洲精品国偷自产在线99热| 26uuu国产精品视频| 4p变态网欧美系列| 欧美激情欧美狂野欧美精品| 亚洲免费av电影| 在线不卡国产精品| 国产日韩换脸av一区在线观看| 日韩在线观看免费高清完整版| 久久久在线免费观看| 91精品国产网站| 欧美一级片久久久久久久| 亚洲国产黄色片| 亚洲va欧美va国产综合剧情| 欧美人成在线视频| 日韩免费观看视频| 精品无人区乱码1区2区3区在线| 国产精品激情av在线播放| 91精品国产高清久久久久久91| 粉嫩av一区二区三区免费野| 日韩国产精品一区| 国产精品扒开腿爽爽爽视频| 欧美日韩加勒比精品一区| 亚洲人线精品午夜| 久久99热精品这里久久精品| 亚洲人线精品午夜| 欧美日韩国产成人在线观看| 欧美视频国产精品| 亚洲欧美日韩精品久久亚洲区| 久久免费观看视频| 日韩小视频在线观看| 国产精品国产三级国产aⅴ浪潮| 成人精品视频99在线观看免费| 国产精品国产三级国产aⅴ浪潮| 欧美专区第一页| 久久婷婷国产麻豆91天堂| 国产亚洲视频在线观看| 欧美激情性做爰免费视频| 日本精品免费观看| 国产成人精品电影久久久| 欧美激情精品久久久久久大尺度| 精品国产乱码久久久久久虫虫漫画| 国产精品视频网| 久久久视频在线| 亚洲精品一区二区久| 久久精品这里热有精品| 日韩av在线播放资源| 91精品视频网站| 国产精品精品一区二区三区午夜版| 久久网福利资源网站| 精品在线观看国产| 久久久久久噜噜噜久久久精品| 国产精品久久久久久av下载红粉| 欧美一区二粉嫩精品国产一线天| 欧美最顶级丰满的aⅴ艳星| 成人av在线网址| 国产精品福利观看| 国产精品视频一区二区三区四| 自拍偷拍亚洲在线| 国产精品永久免费观看| 欧美性猛交xxxx免费看久久久| 亚洲国产精彩中文乱码av| 日韩欧美一区二区三区| 在线日韩日本国产亚洲| 日韩精品中文字幕有码专区| 午夜精品久久久久久99热| 久久精品国产久精国产思思| 中文字幕精品国产| 国产精品老女人精品视频| 精品亚洲国产视频| 成人网在线免费观看| 性视频1819p久久| 日韩欧美高清视频| 国产精品成人一区| 91精品国产91久久久久久吃药| 欧美国产日韩视频| 国产精品自产拍高潮在线观看| 97精品国产97久久久久久春色| 欧美日韩在线看| 最近2019年手机中文字幕| 啪一啪鲁一鲁2019在线视频| 精品在线欧美视频| 91影视免费在线观看| 在线视频日韩精品| 国产精品jizz在线观看麻豆| 日韩精品丝袜在线| 在线a欧美视频| 九九热这里只有精品免费看| 日本高清久久天堂| 一区二区三区天堂av| 成人免费高清完整版在线观看| 超碰日本道色综合久久综合| 国产精品亚洲综合天堂夜夜| 亚洲伦理中文字幕| 国产成人一区二区三区| 亚洲欧美日韩一区二区在线| 国内自拍欧美激情| 另类少妇人与禽zozz0性伦| 亚洲影视九九影院在线观看| 国产精品第二页| …久久精品99久久香蕉国产| 欧美日韩精品在线视频| 久久精品国产视频| 日韩欧美aⅴ综合网站发布| 精品久久久久久中文字幕一区奶水| 国产欧美一区二区三区久久人妖| 色偷偷88888欧美精品久久久| 97在线视频免费| 欧美日韩一区二区精品| 色偷偷噜噜噜亚洲男人| 亚洲国产精品人人爽夜夜爽| 97久久精品人搡人人玩| 亚洲国产高清福利视频| 亚洲在线www| 成人性生交大片免费看小说| 欧美精品videossex88| 久久久女女女女999久久| 国产丝袜一区视频在线观看| 成人激情视频免费在线| 成人在线精品视频| 68精品久久久久久欧美| 国产精品久久久久久亚洲调教| 久久夜色精品国产| 欧美性精品220| 日韩av在线影视| 欧美日韩国产丝袜美女| 亚洲人成绝费网站色www| 国产成人一区二区在线| 欧美性视频在线| 亚洲国产欧美一区二区丝袜黑人| 亚洲国产日韩精品在线| 亚洲成人精品视频在线观看| 国产a级全部精品| 欧美黑人一区二区三区| 国产精品视频免费在线观看| 亚洲视频一区二区三区| 91精品国产综合久久香蕉最新版| 欧美成人一区二区三区电影| 欧美中文在线字幕| 国产免费一区二区三区在线能观看| 秋霞成人午夜鲁丝一区二区三区| 中文字幕av一区二区三区谷原希美| 日本欧美中文字幕| 少妇高潮久久久久久潘金莲| 97视频在线观看视频免费视频| 欧美亚洲成人精品| 欧美中文在线观看国产| 国产精品 欧美在线| 国产精品美乳一区二区免费| 亚洲第一视频在线观看| 色老头一区二区三区在线观看| 国产视频自拍一区| 国语自产精品视频在线看| 日韩精品视频在线| 中文字幕久久精品| 欧美一区二区三区免费视| 亚洲精品456在线播放狼人| 国产精品久久久久不卡|