alguien me podria explicar paso a paso este script que funciona con flash para ejecutar cmd en flash exe builder (programa para personalizar proyectos exe de flash)
este código lo descargue de un ejemplo de la pagina del programa:
Código HTML:
var FEBRetVal = -3; //return value from FEB stating that the operation is completed (-3:no command -2:command on execution)
//other return value
var retval=-2;
var retdata="";
var commandArr:Array = new Array() //save the next command if current command is not finished
var cid;
var cresp=-1; //response id for error response on FEB return value;
var tfolder="";
var tfile="photo.txt"
commandCall("GetAppDirectory", "retdata", "get application directory ...",0); //get application folder name
cid=setInterval(commandCheck,1000/18); //for command check, waiting for FEB return value
msg_mc._visible=false;
msg_mc._alpha=100;
stop();
function commandCall(pcom,ppar,pmsg,presp){ //run the fscommand or queue if another command still run
if (FEBRetVal==-3){
FEBRetVal=-2;
if(presp==undefined) presp=-1;
cresp=presp;
fscommand(pcom,ppar);
messageSet(pmsg);
}else{
var i=commandArr.length;
commandArr[i]=new Object();
commandArr[i].com=pcom;
commandArr[i].par=ppar;
commandArr[i].msg=pmsg;
commandArr[i].resp=presp;
}
}
function commandCheck(){ //interval function to check when fscommand run
if (FEBRetVal>-2){
commandResp();
if(commandArr.length>0){
var pcom=commandArr.shift();
commandCall(pcom.com,pcom.par,pcom.msg,pcom.resp);
}else{
messageClear();
}
}
}
function commandResp(){ // response to run when a command executed
var warn="";
if (FEBRetVal==0){
switch(cresp){
case 1:
var j=commandArr.length;
for(var i=0; i<j; i++) commandArr.shift();
warn="Failed to open";
break;
case 2:
warn="Failed to save";
break;
case 3:
warn="Failed to read";
break;
case 4:
var j=commandArr.length;
for(var i=0; i<j; i++) commandArr.shift();
warn="File not found";
break;
}
if(warn!="") commandCall("MessageBox", "0,Warning,"+warn+",3,retVal","",-1);
}else if (FEBRetVal==1){
switch(cresp){
case 0 :
tfolder=retdata;
break;
case 3 :
loadBoard();
break;
}
}
FEBRetVal=-3;
cresp=-1;
}
function messageSet(t){
if(t!=""){
msg_mc._visible=true;
msg_mc.msg=t;
}
}
function messageClear(){
msg_mc._visible=false;
msg_mc.msg="";
}
function saveFile(){
var file=tfolder+"\\"+tfile ;
commandCall("OpenFile",file+",w,0","Opening file...",1);
var tval="0,"+drawdata+"EOF";
if(tval.length>10000) {
commandCall("MessageBox", "0,Warning,Data Exceeded... cannot save all data,3,retVal","",-1);
tval=tval.slice(0,tval.lastIndexOf("|",9995))+"|EOF"
}
commandCall("WriteFile",tval,"Writing file...",2);
commandCall("CloseFile","0","Closing file...",-1);
}
function loadFile(){
var file=tfolder+"\\"+tfile;
commandCall("IsFileExist",file+",retval","Checking file...",4);
commandCall("OpenFile",file+",r,0","Opening file...",1);
commandCall("ReadFile","0,9998,retdata","Reading file...",3);
commandCall("CloseFile","0","Closing file...",-1);
}
Código HTML:
var color=0xffffff;
var chalk=0;
var thick=3;
var drawdata="";
pickChalk(chalk);
onMouseDown = function (){
if(board_mc._xmouse>0){
board_mc.moveTo(board_mc._xmouse, board_mc._ymouse);
drawdata=drawdata+("s"+board_mc._xmouse+"_"+board_mc._ymouse+"|");
onMouseMove = function (){
drawdata+=(board_mc._xmouse+"_"+board_mc._ymouse+"|");
board_mc.lineTo(board_mc._xmouse, board_mc._ymouse);
}
}
}
onMouseUp=function(){
onMouseMove=null;
}
function pickChalk(i){
thick=3+i*1.75;
board_mc.lineStyle(thick,color);
drawdata+=("t"+thick+"|");
chalk=i;
pick_mc._x=28.5+i*29;
}
function loadBoard(){
if (retdata!=""){
var tn=retdata.indexOf("EOF");
if(tn>-1) drawdata=retdata.slice(0,tn)
else drawdata=retdata;
var temp=drawdata.split("|");
var tc="";
board_mc.clear();
for(var i=0;i<temp.length-1;i++){
tc=temp[i].charAt(0);
if(tc=="t"){
board_mc.lineStyle(Number(temp[i].slice(1)),color);
}else if(tc=="s"){
var temp2=temp[i].slice(1).split("_");
trace(Number(temp2[0])+"<"+Number(temp2[1]));
board_mc.moveTo(Number(temp2[0]),Number(temp2[1]));
}else if(tc!=""){
var temp2=temp[i].split("_");
trace(">>"+Number(temp2[0])+"-"+Number(temp2[1]));
board_mc.lineTo(Number(temp2[0]),Number(temp2[1]));
}
}
pickChalk(chalk);
}
}
function clearBoard(){
board_mc.clear();
drawdata="";
pickChalk(chalk);
}