Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/11/2003, 17:01
alvarogarrido
 
Fecha de Ingreso: julio-2003
Mensajes: 14
Antigüedad: 20 años, 9 meses
Puntos: 0
Problema con un Cronometro

Estoy realizando un Proyecto en VB .net, que tiene que ver con realizacion de Examenes y a estos se les va acontrolar el Tiempo de presentacion al usuario

Lo que hice fue un Contador en Javascript que recibiera los datos de una consulta ej. 2:30, el examen durara 2 horas y 30 minutos, este cronometro se visualiza en el cliente junto con las preguntas del examen.

El problema que tengo es que al responder alguna de las preguntas o al actualizar la pagina el Cronometro se detiene como hago para que no se detenga, caundo pase esto... ?


Gracias por la ayuda


EL Codigo es algo asi:



<HTML>
<HEAD>
<title>WebForm1</title>
<SCRIPT language="JavaScript">


////////////////////////////////////////////////////////////////////////////////////////////////
//
// Consulta para obtener la Hora del Sistema
// en ORACLE (Servidor)
// SELECT to_char(sysdate,'hh:mi:ss') FROM sys.dual
//
////////////////////////////////////////////////////////////////////////////////////////////////


// Cronómetro con Cuenta Regresiva


var intervalo;
var hor;
var min;
var seg;


// Organiza la foma de Mostar la Hora 00:00:00
function ciclo()
{
intervalo=1000;
hor = document.forms[0].h.value;
min = document.forms[0].m.value;
seg = document.forms[0].s.value;

// hor=0;
// min=0;
// seg=15;
cicloR();
}
function Mostrar(hora,min,sec)
{
var res;

if(hora<=9)
res="0";
else
res=" ";

res+=hora+":";

if(min<=9)
res+="0"+min;
else
res+=+min;

res+=""+":";


if(sec<=9)
res+="0"+sec;
else
res+=sec;

return(res);
}



// Decrementa la Hora asignada
function cicloR()
{
seg--;
if(seg==-1)
{
seg=59;
min--;
}

if(min==-1)
{
min=59;
hor--;
}

//Imprime Horas : Minutos : Segundos
document.forms[0].txtTiempo.value=Mostrar(hor,min,seg);
window.status = "Tiempo restante : "+Mostrar(hor,min,seg);

//Si el tiempo es igual a Cero(0) termina la Ejecución del Cronómetro
//en caso contrario sigue en el Ciclo

if((hor==0) && (min==0) && (seg==0))
{
alert("Se acabo el tiempo");
return;
//break;
}
else
setTimeout("cicloR()",intervalo);
}

</SCRIPT>
<meta content="Microsoft Visual Studio.NET 7.0" name="GENERATOR">
<meta content="Visual Basic 7.0" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<SCRIPT language="JavaScript" src="JavaScript/menu_sysmoc.js" type="text/javascript"></SCRIPT>
</HEAD>
<BODY ms_positioning="GridLayout">
<SCRIPT language="JavaScript" src="JavaScript/mmenu.js" type="text/javascript"></SCRIPT>
<FORM id="Form1" method="post" runat="server">
&nbsp;&nbsp;&nbsp;&nbsp;
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="100%" border="0">
<TR>
<TD><asp:label id="Label1" runat="server">Cronometro
</asp:label><INPUT readOnly type="text" size="15" name="txtTiempo"> <INPUT id=iniExa onclick="h.value=<%=fh()%>,m.value=<%=fm()%>,s.val ue=<%=fs()%>, ciclo();" type=button value="Iniciar Examen" >
<INPUT id="h" type="hidden"> <INPUT id="m" type="hidden"> <INPUT id="s" type="hidden">
</TD>
</TR>
<TR>
<TD></TD>
</TR>
<TR>
<TD><uc1:presentacionexamen id="PresentacionExamen1" runat="server"></uc1:presentacionexamen></TD>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>