NCC Tools(never code counter tools) V1.0.1发布代码-代码统计工具

2023-12-05 0 689

界面如下图:把源代码存为(hta)文件,因为hta文件没有状态栏,所以我这里建议大家存为html文件,这样可以在状态栏下看到 NCC扫描的进度,我这里把NCC的maxloop设置为3000,所以文件统计到3000的时候,会自动终止,以防文件夹中文件太多造成运行的负担。 如果大家喜欢这样的代码,就请关注\”NeverModules\” 主要功能有- 1。可自己选择文件夹,或者单个文件。 2。自己选择文件后缀名进行统计 3。outputinformation输出的数据有: 文件个数, 文件的代码字节数, 单词个数, 代码行数, 总代码字节数 总代码行数。 4。可以把代码统计结果用SaveAs存为html或者txt文件。复制代码 代码如下:<?xmlversion=\”1.0\”encoding=\”UTF-8\”?> <!DOCTYPEHTMLPUBLIC\”-//W3C//DTDHTML4.01//EN\”\”http://www.w3.org/TR/html4/strict.dtd\”> <htmlxmlns=\”http://www.w3.org/1999/xhtml\”> <head> <title>NCCTools-http://www.never-online.net</title> <hta:applicationid=\”NCC\” applicationname=\”NCCapplication\” 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\”/> <metahttp-equiv=\”ImageToolbar\”content=\”no\”/> <metaname=\”author\”content=\”BlueDestiny,never-online\”/> <metaname=\”keywords\”content=\”nevermodules,MozillaCSS,C#,.net,Refercence,BlueDestiny,never-online,www.never-online.net\”/> <metaname=\”description\”content=\”BlueDestiny,never-online\”/> <metaname=\”title\”content=\”nevercodecounter(NCC)-http://www.never-online.net\”/> <metaname=\”creator.name\”content=\”GeniusLau,never-online,blueDestiny\”/> <styletype=\”text/css\”media=\”all\”title=\”Default\”> body{background-color:buttonface;} body,td,input{font:9pttahoma;} h1{text-align:center;font-weight:bold;font-family:tahoma;font-size:16pt;} fieldset{height:300px;} legend{font-weight:bolder;} .btn{border-left:4pxsolid#444;border-top:1pxsolid#444;border-bottom:1pxsolid#444;border-right:1pxsolid#444;} .two{width:200px;} .txt{border:1pxsolid#444;} .file{display:none;width:300px;border-left:4pxsolid#444;border-top:1pxsolid#444;border-bottom:1pxsolid#444;border-right:1pxsolid#444;} #loading{display:none;filter:alpha(opacity=70);border:1pxsolid#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;} #leftul{margin:00010px;} #leftli{list-style-type:decimal;margin:20px10px15px10px;} #footer{font-size:11px;text-align:center;} #right{padding:20px;width:50%;} #outputWrapper{padding:10px;} </style> <scripttype=\”text/javascript\”> //<![CDATA[ //====================================================================================== // //Module:NCC-nevercodecounterV1.01beta //Scriptby:never-online,blueDestiny //Updated:2006-6-25 //Copyright:Miracletechnologyallreserved //Website:http://www.never-online.net //Email:blueDestiny@126.com //Blog:http://blog.csdn.net/blueDestiny,http://blog.never-online.net/ //Comment:PermissiongiventousethisscriptinANYkindofapplicationsif //headerlinesareleftunchanged. // //====================================================================================== //==================================================================================== //UltityFunction vardoc=document,wnd=window; String.prototype.trim=function(){returnthis.replace(/(^\\s*)|(\\s*$)/g,\’\’);}; Array.prototype.push=function(x){this[this.length]=x;}; Array.prototype.pop=function(){returnthis[this.length-1];}; //==================================================================================== varNCC= { //PrivateVariables _maxloop:3000, _version:\”1.02beta\”, _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:newActiveXObject(\”Scripting.FileSystemObject\”) //makesureYourfsoactiveXObjectisavaild.otherwisecannotruningnextcode }; //PublicFunctionsAPI NCC.splash=function() { }; NCC.init=function() { varfileDlgObjStr=\'<objectid=\”filepathDlg\”\’ +\’width=\”0px\”height=\”0px\”\’ +\’classid=\”CLSID:F9043C85-F6F2-101A-A3C9-08002B2F49FB\”\’ +\’codebase=\”http://activex.microsoft.com/controls/vb5/comdlg32.cab\”>\’ +\'</object>\’; varfolderDlgObjStr=\'<objectid=\”folderpathDlg\”\’ +\’classid=\”CLSID:13709620-C279-11CE-A49E-444553540000\”\’ +\’width=\”0\”height=\”0\”>\’ +\'</object>\’; varloadingObjStr=\'<divid=\”loading\”></div>\’; doc.body.insertAdjacentHTML(\”beforeEnd\”,fileDlgObjStr); doc.body.insertAdjacentHTML(\”beforeEnd\”,folderDlgObjStr); doc.body.insertAdjacentHTML(\”beforeEnd\”,loadingObjStr); } NCC.chkFileExts=function(filenameStr) { vara=this._filesExts.trim().split(\”,\”); varf=this.getFileExts(filenameStr); for(vari=0;i<a.length;i++) if(f.toLowerCase()==a[i].toLowerCase())returntrue; returnfalse; }; NCC.output=function(wrapperID) { vark,x;x=[]; x.push(\”————-Files————-\”); //–partoffiles– for(kinthis._files) x.push(\”[\”+k+\”]:\”+this._files[k]+\”\”); //–partofwords– x.push(\”————-Words————-\”); for(kinthis._words) x.push(\”[\”+k+\”]:\”+this._words[k]+\”\”); //–partofbytes– x.push(\”————-Bytes————-\”); for(kinthis._bytes) x.push(\”[\”+k+\”]:\”+this._bytes[k]+\”\”); //–partoflines– x.push(\”————-Lines————-\”); for(kinthis._lines) x.push(\”[\”+k+\”]:\”+this._lines[k]+\”\”); x=x.join(\”\\n\”); if(wrapperID){ vara=doc.all(wrapperID),t=a.tagName.toLowerCase(); if(!a)returnwnd.alert(\”HTMLElementID\\\”\”+wrapperID+\”\\\”isnotvalid!\”); if(t==\”input\”||t==\”textarea\”)a.value=x; elsea.innerHTML=x.replace(/\\n/,\”<br/>\”); } returnx; }; NCC.saveAs=function(elIdorStr) { vardlg=doc.all(\”filepathDlg\”); vara=doc.all(elIdorStr); if(a){ vart=a.tagName.toLowerCase(); varfileStr=(t==\”input\”||t==\”textarea\”)?a.value:a.innerHTML.replace(/<br(\\/)?>/g,\”\\n\”); }else{ fileStr=elIdorStr; } dlg.cancelError=true; try{ dlg.filter=\”TextFiles(*.txt)|*.txt|HTMFiles(*.htm)|*.htm\”; dlg.showSave(); varf=this._fsoObj.CreateTextFile(dlg.filename,true); f.write(fileStr); f.Close(); }catch(ex){}; }; NCC.setFilesExt=function(filesExtsStr) { this._filesExts=filesExtsStr; returntrue; }; NCC.getFilesExts=function() { returnthis._filesExts; }; NCC.getFileExts=function(filenameStr) { vara=filenameStr.split(\”.\”); returna[a.length-1].toLowerCase();//a.pop() }; NCC.selectSingleFile=function() { vardlg=doc.all(\”filepathDlg\”); varfps=doc.all(\”filepathStr\”); varfes=this._filesExts; varfilename=\”\”,filter=\”\”,arr=[]; arr=fes.trim().split(\”,\”); for(vari=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()==\”\”)returnfalse; fps.value=filename; if(!this.chkFileExts(filename))returnwnd.alert(\”FileExtensionname\\\”\”+filename+\”\\\”isnotvalid!\”); returnfilename; }; NCC.selectFolder=function() { vardlg=doc.all(\”folderpathDlg\”); try{ varpathObj=dlg.browseForFolder(0,\”PleaseSelectFolder:\”,0); varpathStr=pathObj.parentFolder.parseName(pathObj.Title).path; returnpathStr; }catch(ex){returnfalse}; }; NCC.countFolder=function(folderpathStr) { varldg=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=\”<divalign=\\\”center\\\”>NowCounting…</div>\”; wnd.status=\”NCCCounting…\”; if(!this._fsoObj.FolderExists(folderpathStr)){ this.countSingleFile(folderpathStr); }else{ varcnt=0; functioniterator(folderpathStr){ vara=NCC._fsoObj.getFolder(folderpathStr); vare=newEnumerator(a.files) for(;!e.atEnd();e.moveNext()){ NCC.countSingleFile(e.item()); if(cnt++>=NCC._maxloop)return; } varf=newEnumerator(a.subFolders) for(;!f.atEnd();f.moveNext()){ iterator(f.item()); if(cnt++>=NCC._maxloop)return; } } iterator(folderpathStr); } ldg.innerHTML=\”<divalign=\\\”center\\\”>NCCCountCompletely.</div>\” wnd.status=\”NCCCountCompletely.\”; wnd.setTimeout(function(){ldg.style.display=\”none\”;},3000); }; NCC.countSingleFile=function(filepathStr) { varx,a,f,e; varldg=doc.all(\”loading\”); if(!this._fsoObj.FileExists(filepathStr))returnfalse; f=this._fsoObj.GetFile(filepathStr); if(this.chkFileExts(f.name)) { varo=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=\”nowcount\\\”\”+f.name+\”\\\”.\” returnthis.chkFileExts(f.name) }; NCC.formatSingleFile=function(filepathStr) { }; //==================================================================================== functionwindow.onload(){ NCC.init(); wnd.resizeTo(800,480); doc.all(\”outputWrapper\”).value=\”\”; setFilesExts();//setFilesExts.call(this); } functionsetFilesExts(){ doc.all(\”filesExts\”).value=NCC.getFilesExts(); } functionoutput(){ /* vare=event.srcElement; vara=doc.body.all; for(vari=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\’); } functionchangeFileExt(){ vargroupfileExts=doc.all(\”groupfileExt\”); varfileExtStr=[]; for(vari=0;i<groupfileExts.length;i++){ if(groupfileExts[i].checked) fileExtStr.push(groupfileExts[i].value); } NCC.setFilesExt(fileExtStr.join(\”,\”)); setFilesExts(); } functionselectSingleFile(val){ if(!NCC.selectSingleFile())return\”\”; doc.all(val).value=NCC.selectSingleFile(); } functionselectFolder(val){ vara=NCC.selectFolder(); if(a==false)return\”\”; doc.all(val).value=a; } functionsaveAs(){ NCC.saveAs(\’outputWrapper\’); //NCC.saveAs(NCC.output()); } //]]> </script> </head> <bodyid=\”www.never-online.net\”> <h1>NCC(nevercodecounter)tools-http://www.never-online.net</h1> <fieldset> <legend>-ApplicationNCC(nevercodecounter)-</legend> <tablewidth=\”100%\”border=\”0\”cellpadding=\”0\”cellspacing=\”0\”> <tr> <tdalign=\”left\”valign=\”top\”id=\”left\”> <ul> <li> <inputname=\”filepathStr\”type=\”text\”class=\”txt\”value=\”typeyourfileorfolderpath\”size=\”30\”> <inputclass=\”btn\”type=\”button\”value=\”FILE\”onclick=\”selectSingleFile(\’filepathStr\’)\”/> <inputclass=\”btn\”type=\”button\”value=\”FOLDER\”onclick=\”selectFolder(\’filepathStr\’)\”/> </li> <li> <inputname=\”groupfileExt\”value=\”asp\”type=\”checkbox\”checkedonclick=\”changeFileExt()\”/> .asp <inputname=\”groupfileExt\”value=\”js\”type=\”checkbox\”checkedonclick=\”changeFileExt()\”/> .js <inputname=\”groupfileExt\”value=\”xml\”type=\”checkbox\”checkedonclick=\”changeFileExt()\”/> .xml <inputname=\”groupfileExt\”value=\”aspx\”type=\”checkbox\”checkedonclick=\”changeFileExt()\”/> .aspx <inputname=\”groupfileExt\”value=\”cs\”type=\”checkbox\”checkedonclick=\”changeFileExt()\”/> .cs <br/> <inputname=\”filesExts\”type=\”text\”class=\”txt\”id=\”filesExts\”value=\”\”size=\”40\”> </li> <li> <inputclass=\”btntwo\”type=\”button\”value=\”OutputInformation\”onclick=\”output()\”/> <!–notcomplete<inputname=\”button\”type=\”button\”class=\”btn\”onclick=\”NCC.format();\”value=\”FormatCode\”/>–> </li> <li> <inputclass=\”btntwo\”type=\”button\”value=\”InformationSaveAs\”onclick=\”saveAs();\”/> </li> </ul> <divid=\”footer\”> <p> NCCV1.01betaPowerByBlueDestiny,never-online <br/> Morecodepleasevisit<ahref=\”http://www.never-online.net\”target=\”_blank\”title=\”visitmysite\”>http://www.never-online.net</a> </p> </div> </td> <tdalign=\”left\”valign=\”top\”id=\”right\”> <fieldset> <legend>-OutputInformation-</legend> <textareaid=\”outputWrapper\”style=\”border:0;background-color:buttonface;width:96%;height:100%;\”></textarea> </fieldset> </td> </tr> </table> </fieldset> </body> </html>

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 hta NCC Tools(never code counter tools) V1.0.1发布代码-代码统计工具 https://www.u-9.cn/jiaoben/hta/99579.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务