<!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 += '创建时间: ' + 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 =" ";
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 =" ";
}
var frontcell = row.insertCell();
frontcell.innerHTML =" ";
for(var i =0; i< 12; i++){
var frontcell = row.insertCell();
frontcell.innerHTML =" ";
}
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> </p>
<p> </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> </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> </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> </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进行分析文