Utilizamos cookies propias y de terceros. Al navegar entendemos que aceptas el uso de cookies. +Info.
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Usuario
· Wiki

Nick


Contraseña


Nuevo usuario


English
Proyecto AjpdSoft: Foros

AjpdSoft :: Ver tema - Aplicación consola MSDOS devuelva valor hora intervalo
Foros de discusión Buscar Perfil FAQ Iniciar sesión
Information Aplicación consola MSDOS devuelva valor hora intervalo

Publicar nuevo tema Responder al tema
Foros de discusión » Borland Delphi, Codegear Delphi .Net   
Ver tema anterior :: Ver tema siguiente
AutorMensaje
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Aplicación consola MSDOS devuelva valor hora intervalo Responder citando

Hola, necesito realizar un script o aplicación sencilla, un ejecutable en la consola de MS-DOS al que le pase como parámetro dos horas (hora de inicio y hora de fin) y me devuelva 0 si la hora actual del sistema está entre esas horas y si no está en el intervalo que devuelva 1.

Por ejemplo, si la hora actual son las 14:30 y el intervalo es:

Hora inicio: 14:20
Hora fin: 15:30

Debería devolver 0 porque la hora actual está dentro del intervalo.

Había pensado en un primer momento en hacer un script vba o un .bat, luego pensé en hacerlo en .Net (C Sharp C#) pero necesitaría instalar el .Net Framework en los equipos. Así pues había pensado realizarlo en Delphi por ejemplo que lo he usado alguna vez (poco y hace tiempo) y sé que se pueden hacer comandos de MS-DOS que no necesitan instalar nada.

¿Esto es posible?
MensajePublicado:
Mie Sep 02, 2015 8:59 am
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Aplicación consola MSDOS devuelva valor hora intervalo Responder citando



Anuncios



varios escribió:
Hola, necesito realizar un script o aplicación sencilla, un ejecutable en la consola de MS-DOS al que le pase como parámetro dos horas (hora de inicio y hora de fin) y me devuelva 0 si la hora actual del sistema está entre esas horas y si no está en el intervalo que devuelva 1.

Por ejemplo, si la hora actual son las 14:30 y el intervalo es:

Hora inicio: 14:20
Hora fin: 15:30

Debería devolver 0 porque la hora actual está dentro del intervalo.

Había pensado en un primer momento en hacer un script vba o un .bat, luego pensé en hacerlo en .Net (C Sharp C#) pero necesitaría instalar el .Net Framework en los equipos. Así pues había pensado realizarlo en Delphi por ejemplo que lo he usado alguna vez (poco y hace tiempo) y sé que se pueden hacer comandos de MS-DOS que no necesitan instalar nada.

¿Esto es posible?


Sí que es posible en Delphi, crea una aplicación (File - New - Other - Console Application) y añade este código (probado en Delphi 6):

Código:

program PandoraCondicion;

{$APPTYPE CONSOLE}

uses
  SysUtils, DateUtils;
var
   fechaActual : TDateTime;
   horaInicio : TDateTime;
   horaFin : TDateTime;
   anio, mes, dia : Word;
begin
  { TODO -oUser -cConsole Main : Insert code here }

   //comprobamos que se hayan pasado dos parámetros
   //(hora de inicio y hora de fin)
   if (ParamCount = 2) then
   begin
     //pasamos la hora de inicio a
     //día actual con la hora de inicio
     horaInicio := StrToDateTime(ParamStr(1));
     DecodeDate(now, anio, mes, dia);
     horaInicio := RecodeDate(horaInicio, anio, mes, dia);
     //pasamos la hora de fin a
     //día actual con la hora de fin
     horaFin := StrToDateTime(ParamStr(2));
     horaFin := RecodeDate(horaFin, anio, mes, dia);
     //hora actual para comprobar si
     //está en el intervalo de horas anterior
     fechaActual := Now;
     //comprobamos si la hora actual está en
     //el intervalo de hora de inicio y hora de fin
     //si está devolverá 0 y si no está devolverá 1
     if (fechaActual >= horaInicio) and
         (fechaActual <= horaFin) then
       Writeln('0')
     else
       Writeln('1');
   end
   else
     Writeln('Faltan parametros: ' +
         PandoraCondicion.exe HoraInicio HoraFin');   
end.



La aplicación anterior lee dos parámetros del fichero ejecutable (hora de inicio y hora de fin) y comprueba si la hora actual del sistema está en ese intervalo de horas, si está devuelve 0 y si no está devuelve 1.

Un ejemplo de uso:

PandoraCondicion.exe 10:30 11:21
MensajePublicado:
Mie Sep 02, 2015 9:05 am
Top of PageVer perfil de usuario
Mostrar mensajes de anteriores:   
Todas las horas son GMT - 1 Horas
Publicar nuevo tema Responder al tema
Foros de discusión » Borland Delphi, Codegear Delphi .Net  

Cambiar a:  
Key
  Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro
Este sitio web NO CONTIENE malware, todos los programas con código fuente aquí. Autor: Alonso Javier Pérez Díaz Google+ Síguenos en Google+