sábado, 25 de julio de 2015

Ejecutar función de Javascript cada cierto tiempo por cierto tiempo

Esta vez necesitaba programar el  autoguardado  de una página  y me metí con los 3 eventos del tiempo de javascript. Investigando  y cometiendo muchos errores dí  finalmente con  esta página
https://www.pedroventura.com/javascript/funciones-javascript-setinterval-clearinterval-settimeout-2/
Donde nos  explican los 3 eventos

FUNCIONES JAVASCRIPT – SETINTERVAL() CLEARINTERVAL() SETTIMEOUT() – 2

Mi código  quedó así
Solamente para javascript,  este es un evento  invocado  desde servidor

 var repeticion;
    function ParpadeoGuardadoAutomatico() {
        repeticion = window.setInterval("Parpadeo()", 500);
        window.setTimeout("clearTimeout(repeticion);", 4100);
    }

    function Parpadeo() {
        if ((document.getElementById('imgAutoGuardado').style.display == 'block'))
            document.getElementById('imgAutoGuardado').style.display = 'none';
        else
            document.getElementById('imgAutoGuardado').style.display = 'block';
    }


Lo que hace es cada vez que mi Timer  se activa hace sus procesos en el servidor y llama al evento 
ParpadeoGuardadoAutomatico();
Este evento  crea la variable repetición que dice que se ejecute el  cambio  de visibilidad de la imagen cada medio  segundo, esto  sucedería infinitamente si no  destruyera la variable con clearTimeout(repeticion);, pero  además le tuve que indicar en que momento  se va a  detener el parpadeo  y le puse a los 4 segundos,  apenas aparece y desaparece 4 veces.


Para los que no saben que es el  Timer de asp,net
<div style='text-align:right; position:absolute; right:0px; top:0px;'>
    <img id="imgAutoGuardado" style="display:block;" src="../../Imagenes/Iconos/AutoGuardado.fw.png" />
        <asp:UpdatePanel ID="UpdatePanel16" runat="server">
        <ContentTemplate>
        <asp:Timer ID="TimerAutoGuardado" Interval="10000" runat="server" ontick="TimerAutoGuardado_Tick"></asp:Timer>
        <asp:HiddenField ID="HiddenContadorGuardado"  Value="0" Visible="true" runat="server" />
        </ContentTemplate>
        <Triggers>
        <asp:AsyncPostBackTrigger ControlID="TimerAutoGuardado" EventName="Tick" />
        </Triggers>
        </asp:UpdatePanel>
    </div>






lunes, 20 de julio de 2015

Visual Studio Lento al correr

En el web config..
<compilation debug="true"  optimizeCompilations="true" targetFramework="4.0">

En la barra de menu
  Build/Debug/Delete All Break points

martes, 7 de julio de 2015

Concatenar columnas basándose en sentencia case

Concatenar columnas  basándose en condiciones
-Distintos valores si es nullo o no
-Espacios al final
-Unir columnas generadas con sentencia case

Select RTRIM(paciente.Nombre)+' '+RTRIM(paciente.Ap_Paterno)+' '+ RTRIM(paciente.Ap_Materno) Paciente,
paciente.Sexo,CAST((DATEDIFF(DAY,paciente.Fecha_Nacimiento,GETDATE())/365)as CHAR(15))+' años'  Edad,
CASE WHEN (cie10Urgencias1.Diagnostico IS NULL) THEN '' ELSE cie10Urgencias1.Diagnostico+' ['+cie10Urgencias1.idDiagnostico+']'+CHAR(10) END +
CASE WHEN (cie10Urgencias2.Diagnostico IS NULL) THEN '' ELSE cie10Urgencias2.Diagnostico+' ['+cie10Urgencias2.idDiagnostico+']'+CHAR(10) END +
CASE WHEN (cie10Urgencias3.Diagnostico IS NULL) THEN '' ELSE cie10Urgencias3.Diagnostico+' ['+cie10Urgencias3.idDiagnostico+']'+CHAR(10) END +
CASE WHEN (cie10Urgencias4.Diagnostico IS NULL) THEN '' ELSE cie10Urgencias4.Diagnostico+' ['+cie10Urgencias4.idDiagnostico+']'+CHAR(10) END +
CASE WHEN (cie10Urgencias5.Diagnostico IS NULL) THEN '' ELSE cie10Urgencias5.Diagnostico+' ['+cie10Urgencias5.idDiagnostico+']'+CHAR(10) END AS Cie10Urgencias,
CASE WHEN (cie10Hospital1.Diagnostico IS NULL) THEN '' ELSE cie10Hospital1.Diagnostico+' ['+cie10Hospital1.idDiagnostico+']'+CHAR(10) END +
CASE WHEN (cie10Hospital2.Diagnostico IS NULL) THEN '' ELSE cie10Hospital2.Diagnostico+' ['+cie10Hospital2.idDiagnostico+']'+CHAR(10) END +
CASE WHEN (cie10Hospital3.Diagnostico IS NULL) THEN '' ELSE cie10Hospital3.Diagnostico+' ['+cie10Hospital3.idDiagnostico+']'+CHAR(10) END +
CASE WHEN (cie10Hospital4.Diagnostico IS NULL) THEN '' ELSE cie10Hospital4.Diagnostico+' ['+cie10Hospital4.idDiagnostico+']'+CHAR(10) END +
CASE WHEN (cie10Hospital5.Diagnostico IS NULL) THEN '' ELSE cie10Hospital5.Diagnostico+' ['+cie10Hospital5.idDiagnostico+']'+CHAR(10) END AS Cie10Hospital,
RTRIM(usuario.Nombre)+' '+RTRIM(usuario.Ap_Paterno)+' '+ RTRIM(usuario.Ap_Materno) Médico
from AdmIngresosPacientes as ingresos
LEFT JOIN ExpPacientes as paciente on paciente.idPaciente=ingresos.idPaciente
LEFT JOIN ExpNotaIngresoUrgencias as notaUrgencias on notaUrgencias.idPaciente=ingresos.idPaciente AND notaUrgencias.idIngreso=ingresos.idIngreso
LEFT JOIN ExpNotaIngresoHospital as notahospital on notahospital.idPaciente=ingresos.idPaciente AND notahospital.idIngreso=ingresos.idIngreso
LEFT JOIN ExpUsuarios as usuario on usuario.idUsuario=ingresos.Doctor
LEFT JOIN ExpCie10_Diagnosticos as cie10Urgencias1 on cie10Urgencias1.idDiagnostico=notaUrgencias.DiagnosticoCie10_1
LEFT JOIN ExpCie10_Diagnosticos as cie10Urgencias2 on cie10Urgencias2.idDiagnostico=notaUrgencias.DiagnosticoCie10_2
LEFT JOIN ExpCie10_Diagnosticos as cie10Urgencias3 on cie10Urgencias3.idDiagnostico=notaUrgencias.DiagnosticoCie10_3
LEFT JOIN ExpCie10_Diagnosticos as cie10Urgencias4 on cie10Urgencias4.idDiagnostico=notaUrgencias.DiagnosticoCie10_4
LEFT JOIN ExpCie10_Diagnosticos as cie10Urgencias5 on cie10Urgencias5.idDiagnostico=notaUrgencias.DiagnosticoCie10_5
LEFT JOIN ExpCie10_Diagnosticos as cie10Hospital1 on cie10Hospital1.idDiagnostico=notahospital.DiagnosticoCie10_1
LEFT JOIN ExpCie10_Diagnosticos as cie10Hospital2 on cie10Hospital2.idDiagnostico=notahospital.DiagnosticoCie10_2
LEFT JOIN ExpCie10_Diagnosticos as cie10Hospital3 on cie10Hospital3.idDiagnostico=notahospital.DiagnosticoCie10_3
LEFT JOIN ExpCie10_Diagnosticos as cie10Hospital4 on cie10Hospital4.idDiagnostico=notahospital.DiagnosticoCie10_4
LEFT JOIN ExpCie10_Diagnosticos as cie10Hospital5 on cie10Hospital5.idDiagnostico=notahospital.DiagnosticoCie10_5