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

随心笔谈11个月前发布 admin
85 0

  NCC Tools – http://www.never-online.net 

 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”/>

 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; }

 //

 //======================================================================================

 //

 // 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 : ,

 _bytes : ,

 _files : ,

 _words : ,

 _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 = ‘

 +’ width=”0px” height=”0px”‘

 +’ classid=”CLSID:F9043C85-F6F2-101A-A3C9-08002B2F49FB”‘

 +’ codebase=”http://activex.microsoft.com/controls/vb5/comdlg32.cab”>’

 +”;

 var folderDlgObjStr = ‘

 +’ classid=”CLSID:13709620-C279-11CE-A49E-444553540000″‘

 +’ width=”0″ height=”0″>’

 +”;

 var loadingObjStr = ‘ ‘;

 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

 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/,””);

 }

 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(//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

 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 = ” Now Counting…”;

      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 = ” NCC Count Completely.”

 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() {

      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

 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());

 }

 //]]>

 NCC (never code counter) tools – http://www.never-online.net 

 

 – Application NCC (never code counter) –

 .asp

 .js

 .xml

 .aspx

 .cs 

 NCC V1.01 beta Power By BlueDestiny, never-online

 More code please visit http://www.never-online.net 

 

– Output Information –

</html>

© 版权声明

相关文章