miércoles, 12 de agosto de 2015

PHP: Ejecución de comandos PHP como tareas programadas en Windows

 1  Requisitos

Descargar los paquetes instaladores de PHP según la versión desde http://php.net/downloads.php
Descargar las librerías para Windows de los Redistributables for Visual Studio XXXX, según la versión de Windows. Ver http://windows.php.net/download#php-5.6  (para esta versión específica, verificar según la versión).

 2  Instalación y librerías

En mi caso necesitaba hacer uso de CURL, lo cual modifiqué el archivo php.ini en la línea
extension=php_curl.dll, quitando la coma.

 3  Preparación del script

En una carpeta instalar el código que se desea ejecutar. Ejemplo carpeta c:\cliente.
Crear un archivo con extensión .bat y colocar la siguiente línea de comando:
c:\php\carpeta\archivo.php

En este ejemplo seria:
c:\php\cliente\archivo.php

Permitir que los programas puedan ejecutarse, esto se debe marcar en la ventana que aparecerá la primera vez que se ejecute el script.

En el caso de Windows 7, abrir “Programador de Tareas”, y asignarle un horario y frecuencia.

Android: Manejo fechas

La idea es hacer un código que permita verificar si la fecha actual se encuentra dentro del rango de las 10:00 horas y las 14:00 horas. En tal caso se activaría una bandera para hacer algo.
Es solamente un fragmento de código, el cual se puede copiar y pegar dentro de cualquier función.
Para prueba, podría crearse una actividad e insertarlo en el método onCreate.
Los mensajes se podrán seguir en la consola de logs.

    //--------------------Manejo de horas----------------------------------------

    DateFormat dateFormat = new SimpleDateFormat ("HH:MM");
    String horaInicio = "10:00";
    String horaFinal = "14:00";

    Calendar c1 = Calendar.getInstance();

    int horaActual, minutosActual;
    horaActual =c1.get(Calendar.HOUR_OF_DAY);
    minutosActual = c1.get(Calendar.MINUTE);
    String horaActual2 = horaActual+":"+minutosActual;

    Date compararInicio=null, compararFinal=null, compararActual=null;

    try {
        compararInicio = dateFormat.parse(horaInicio); //HoraInicial
        compararFinal = dateFormat.parse(horaFinal); //Horafinal

        compararActual = dateFormat.parse(horaActual2); //Hora actual
 //       compararActual = dateFormat.parse("12:00"); //Para pruebas se puede asiganr un valor especifico

    } catch (Exception ex) {
        ex.printStackTrace();
    }
    Log.i("PRUEBA---<","Resultado "+compararInicio.compareTo(compararActual)+" "+compararFinal.compareTo(compararActual));
      if ((compararInicio.compareTo(compararActual) < 0) && (compararFinal.compareTo(compararActual) > 0)){
          Log.i("PRUEBA---<","Dentro del rango");
          Log.i("PRUEBA---<","Actual "+compararActual.toString()+"- > -"+compararInicio.toString()+" "+compararFinal.compareTo(compararActual));
          banderaHorarioCentral=1;
    }else{
          Log.i("PRUEBA---<","No cumple");
          Log.i("PRUEBA---<","Actual "+compararActual.toString()+"- > -"+compararInicio.toString()+" "+compararFinal.compareTo(compararActual));
          banderaHorarioCentral=0;
    }//

    //------------------------------------------------------------