<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Timer Maintenance</title>
</head>

<script language="javascript">
 var fso = new ActiveXObject("Scripting.FileSystemObject");
 var wsh = new ActiveXObject('WScript.Shell');
 var constant_Max_array = 20;
 var constant_VMax_array = 20;
 var fileName = 'numberstore.txt';
function timerTest(){
if( 0 == ReportFileStatus(fileName)){
     document.getElementById('errorText').innerHTML ='没有找到文件 NumberStore.txt,请把此文件放置到同等目录下 ' ;
  return -1;
}
getProp(fileName);
openfile(fileName);
}

function ReportFileStatus(filespec)
{
   var s = filespec ,isexisting;
  if (fso.FileExists(filespec))
     isExisting = 1;
   else
     isExisting = 0;
   return(isExisting);
}


function getProp(obj) {
  var f = fso.GetFile(obj);
  var str ='文件名字: '+obj+'<br/>';
  switch(f.attributes){
    case 0:  str  += '文件属性: '+'普通文件。 不设置属性。'+'<br/>';break;
    case 1:  str  += '文件属性: '+'只读文件。 属性为读/写。'+'<br/>'; break;
    case 2:  str  += '文件属性: '+'隐藏文件。 属性为读/写。'+'<br/>'; break;
    case 4:  str  += '文件属性: '+'系统文件。 属性为读/写。'+'<br/>'; break;
    case 8:  str  += '文件属性: '+'磁盘驱动器卷标。 属性为只读。'+'<br/>'; break;
    case 16: str  += '文件属性: '+'文件夹或目录。 属性为只读。'+'<br/>'; break;
    case 32: str  += '文件属性: '+'文件在上次备份后已经修改。 属性为读/写。'+'<br/>'; break;
    case 64: str  += '文件属性: '+'链接或者快捷方式。 属性为只读。'+'<br/>'; break;
    case 128:str  += '文件属性: '+'压缩文件。 属性为只读。'+'<br/>'; 
    default:break;
  }
 
  str += '创建时间:&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ' + new Date(f.DateCreated).toLocaleString()+'<br/>';
  str += '最近一次访问时间: ' + new Date(f.DateLastAccessed).toLocaleString()+'<br/>';
  str += '最近一次修改时间: ' + new Date(f.DateLastModified).toLocaleString()+'<br/>';
  str += '简名: ' + f.ShortName +'<br/>';
  str += '占用空间 : ' + f.size/1024 +'KB'+'<br/><br/><br/><br/><br/><br/>';
  str+="<input type='button' value='打开' id='"+obj+"' onclick='return opendoc(this);'/>"
  str+="<input type='button' value='删除'  id='"+obj+"' onclick='return deletedoc(this);'/>"
  str+="<input type='button' value='另存为' id='"+obj+"' onclick='return savedoc(this);'/>"
  document.getElementById('rightText').innerHTML = str;

}

function opendoc(obj){
  if(wsh){
  wsh.Run(obj.id);
  }
}
function deletedoc(obj){
   var us = window.confirm('确定要删除'+obj.id+'吗?');
   if(us ==1)  {
          var f = fso.GetFile(obj.id);
          f.Delete();
     }
   else return;
}
function savedoc(obj){
  alert('对不起 此功能尚未实现');
}
function ReadAll(obj)
{
   var f;
   var ForReading = 1, ForWriting = 2;
   f = fso.OpenTextFile(obj, ForReading, true);
   return f.ReadAll();
 }
function getArray(str){
  
   var array = new Array(constant_Max_array);
   var index = str.indexOf(",") ,i =0 ,storeindex = 0;
   while(-1 != index){
      array[i] = str.substring(storeindex,index); 
      str = str.substr(index+1);
   index = str.indexOf(",");
   i++;
   }
   array[i] = str;
   return array;
}
function detailArray(array){
   var len  =array.length;
   var arrayTemp = new Array(constant_VMax_array);
   var changeArray =new Array(constant_VMax_array);
   var cot =0;
   for(var j = 0 ;j<7;j++){
     for(var i = 0;i<len;i++){
         if(array[i] == undefined) break;
       str =  new String(array[i].split(" "));
       arrayTemp[i] = detailNumber(str,j);
   }
   changeArray[j] = arrayTemp;
   }
   return changeArray;
}
function detailNumber(str,cot){
    var array = getArray(str);
 return array[cot]
}
function inserthead(){
   var row = document.all("recordstore").insertRow();
   var datedisplay = row.insertCell();
   datedisplay.innerText = "期数";
   for(var i =0; i < 35 ;i++){
        var frontcell = row.insertCell();
  frontcell.innerText =i+1;
   }
    var backcell = row.insertCell();
  backcell.innerHTML ="&nbsp;";
   for(var i =0; i < 12 ;i++){
        var backcell = row.insertCell();
  backcell.innerText =i+1;
   }
}
function insertbody(array){
 var len  =getLength(array)-1;
 for(var i = 0; i<len; i++ ){
    if(array[i] == undefined) break;
 insertOneCell(array[i]);
 }
 }
 
 function insertOneCell(str){
    var splitstr =  new String(str.split(" "));
 var array = getArray(splitstr);
    var row = document.all("recordstore").insertRow();
 var frontcell = row.insertCell();
        frontcell.innerText =array[0];
    for(var i =0; i< 35; i++){
     var frontcell = row.insertCell();
     frontcell.innerHTML ="&nbsp;";
    }
 var frontcell = row.insertCell();
     frontcell.innerHTML ="&nbsp;";
    for(var i =0; i< 12; i++){
     var frontcell = row.insertCell();
     frontcell.innerHTML ="&nbsp;";
    }
 for(var i = 1; i<6; i++){
    var intvalue = parseInt(array[i]);
     if(!isNaN(intvalue)){ 
         row.cells[intvalue].innerHTML = "<big><font color ='blue'>"+ intvalue+"</font></big>";;
    }
 }
 for(var i = 6;i < 8; i++){
       var intvalue = parseInt(array[i]);  
    row.cells[intvalue+36].innerHTML = "<big><font color ='blue'>"+ intvalue+"</font></big>";;
 }
}

function insertTable(array){
   document.getElementById("tablehead").innerHTML = "程序生成的Table如下:";
   inserthead();
   insertbody(array);
}
function analyzeTable(){

 var table =document.all("recordstore");
 var rowlength = table.rows.length;
 var celllength = table.rows[0].cells.length;
 for(var i =1 ;i<celllength; i++){
    var bool = true,cot =1;
 for(var j=1; j<rowlength; j++){
    var num = parseInt(table.rows[j].cells[i].innerText);
    if(isNaN(num)&&bool) continue;
    bool = false;
    if(isNaN(num)){
       table.rows[j].cells[i].innerHTML ="<font color ='green'>"+ cot+"</font>";
       cot++;
  }
    else{
        cot = 1;
    }
 }
 }
}
function getSigLine(table,rowlength,i){
  var remNum = "";
  var zeroNum = 0;
  for(var j=1; j<rowlength; j++){
    var beforeinner = table.rows[j-1].cells[i].innerHTML;
    var inner = table.rows[j].cells[i].innerHTML;
    if(-1 ==inner.indexOf("blue")){
       zeroNum++;
  }

    if(-1 !=beforeinner.indexOf("blue")&&-1 !=inner.indexOf("green")){
       continue;
  }
    if(-1 !=beforeinner.indexOf("green")&&-1 !=inner.indexOf("blue")){
       remNum +=" "+ parseInt(table.rows[j-1].cells[i].innerText);
     }
     if(-1 !=beforeinner.indexOf("blue")&&-1 !=inner.indexOf("blue")){
       remNum +="  "+ 0;
  }

    }
   
     if(table.rows[rowlength-1].cells[i].innerHTML.indexOf("blue")!=-1){
      remNum +="  "+ "E0"; 
  }
    if(table.rows[rowlength-1].cells[i].innerHTML.indexOf("green")!=-1){
      remNum +="  "+ "E"+parseInt(table.rows[rowlength-1].cells[i].innerText); 
  }
  if(remNum =="")return "";
  remNum +=" Z"+ zeroNum;
   return remNum
}

function createfile(){
   var table =document.all("recordstore");
   var rowlength = table.rows.length;
   var celllength = table.rows[0].cells.length;
   var a = fso.CreateTextFile("createfile.txt", true);
   for(var i =1 ;i<celllength; i++){
       var conthead = " "+table.rows[0].cells[i].innerText+":";
       var contentLine = getSigLine(table,rowlength,i);
    if(contentLine =="")continue;
    a.WriteLine(conthead+contentLine);
   }
  var str ="";
  var obj ="createfile.txt";
  str+="<input type='button' value='打开生成的文件' id='"+obj+"' onclick='return opendoc(this);'/>"
  str+="<input type='button' value='删除生成的文件'  id='"+obj+"' onclick='return deletedoc(this);'/>"
  str+="<input type='button' value='另存为' id='"+obj+"' onclick='return savedoc(this);'/>"
  document.all("fileopen").innerHTML =str;
}

function openfile(fileName){
   var content = ReadAll(fileName);
   var splitStr = new String(content.split("\r"));
   var array = getArray(splitStr);
   insertTable(array);
   analyzeTable();
   createfile();
}

function getTheCotNum(){
   var content = ReadAll(fileName);
   var splitStr = new String(content.split("\r"));
   var array = getArray(splitStr);
   var arrayLength =getLength(array);
   splitStr = new String(array[arrayLength-1].split(" "));
   array = getArray(splitStr);
   return array[0]
}

function getLength(array){
 for(var i =0;i<array.length;i++){
   if(array[i] ==undefined)
       return i;
   }
}
function setIni(){
  timerTest();
  var cotNum = getTheCotNum();
  document.all("CotNum").value = parseInt(cotNum)+1;
}

function timerUpdate(){
   var updateInf = getUpdateInf();
   appendFile(updateInf);
  
}
function getUpdateInf(){
 var str =document.all("CotNum").value;
    for(var i =0;i< 5;i++){
    var inBe = document.getElementsByName("inbe")[i].value;
    var num = parseInt(inBe);
    if(isNaN(num)) { alert("数据非法");return;}
    else str +=" "+ num;
    }
 for(var i =0;i< 2;i++){
    var inBa = document.getElementsByName("inba")[i].value;
    var num = parseInt(inBa);
    if(isNaN(num)) { alert("数据非法");return;}
    else str +=" "+ num;
    }
 if(parseInt(document.getElementsByName("inba")[0].value)==parseInt(document.getElementsByName("inba")[1].value))
       { alert("数据相同");return;}
     for(var i =0;i< 5;i++){
       for(var j=i+1;j<5;j++){
    if(parseInt(document.getElementsByName("inbe")[i].value)==parseInt(document.getElementsByName("inbe")[j].value))
         { alert("数据相同");return;}
    }
  }
 return str;
}
function appendFile(str){

   var f = fso.OpenTextFile(fileName,8, true);
   f.WriteLine("");
   f.Write(str);
   f.Close();
   alert("写入文件成功")
  }
function getTimer(){


}

</script>

<body onload="return setIni()">
<form>
<table width="100%">
  <tr>
    <td align="center"><strong>Timer Test Sys</strong></td>
  </tr>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<table width="60%" id="FrontThink" border="1">
  <tr>
    <td width="113" align="center"><input type="button" value="Timer Test" onclick="return getTimer()" /></td>
    <td width="118">The Front Num: </td>
    <td width="20" align="center"></td>
    <td width="20" align="center"></td>
    <td width="20" align="center"></td>
    <td width="20" align="center"></td>
    <td width="20" align="center"></td>
    <td width="14"></td>
    <td width="135">The Back Num: </td>
    <td width="20" align="center"></td>
    <td width="20" align="center"></td>
    <td width="175"></td>
  </tr>
</table>
<p>&nbsp;</p>
<table width="60%" id="BackUpdate" border="1">
  <tr>
    <td width="45">The Front Num: </td>
 <td width="20">NumerCot</td>
 <td width="80"><input type="text"  maxlength="10" size="10" id="CotNum"/> </td>
    <td width="13" align="center"><input type="text" size="1" width="1" maxlength="2" name="inbe"/></td>
    <td width="13" align="center"><input type="text" size="1" width="1" maxlength="2" name="inbe"/></td>
    <td width="13" align="center"><input type="text" size="1" width="1" maxlength="2" name="inbe"/></td>
    <td width="13" align="center"><input type="text" size="1" width="1" maxlength="2" name="inbe"/></td>
    <td width="13" align="center"><input type="text" size="1" width="1" maxlength="2" name="inbe"/></td>
 <td width="8" ></td>
    <td width="96">The Back Num: </td>
    <td width="13" align="center"><input type="text" size="1" width="1" maxlength="2" name="inba"/></td>
    <td width="13" align="center"><input type="text" size="1" width="1" maxlength="2" name="inba"/></td>
    <td width="151" align="center"><input name="button" type="button"  value="Timer Update"  onclick="return timerUpdate()"/></td>
  </tr>
</table>

<p>&nbsp;</p>
<font color="#CC0000"><div id="errorText"></div></font>
<font  color="#00CC00"><div id="rightText"></div></font>
<font  color="#00CC00"><div id="numberText"></div></font>
<font  color="#00CC00"><div id="numberTest"></div></font>

<p>&nbsp;</p>

<font color ="green" ><div id ="tablehead"></div></font>
<table  id="recordstore" border="1">
</table>
<div id ="fileopen"> </div>
</form>
</body>
</html>

 

主要是js先读取文件 然后把数据先缓存到HTML上面,对这个HTML进行分析文