Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: .:Xx4NG3LxX:. en 22 Enero 2020, 20:13 pm



Título: Cronómetro por .:Xx4NG3LxX:. [BATCH]
Publicado por: .:Xx4NG3LxX:. en 22 Enero 2020, 20:13 pm
Hola amigos. Quería compartir un proyecto que he estado llevando a cabo a través de Batch.

Les dejo el Code, y me dicen que tal... Por los momentos no le he encontrado bugs.

Código
  1. @echo off
  2. mode con:cols:30 lines=9
  3. title Cronómetro 3.1
  4.  
  5. :ini
  6. cls
  7. set sec=
  8. set m=
  9. set hours=
  10.  
  11. set/p "sec=Numero de segundos [1/59] > "
  12. if not defined sec (set sec= )
  13. if %sec% equ 0 (
  14. echo Respeta el rango
  15. pause>nul
  16. goto :ini
  17. )
  18.  
  19. if %sec% geq 60 (
  20. echo Respeta el rango
  21. pause>nul
  22. goto :ini
  23. )
  24.  
  25. cls
  26. set/p "m=Numero de minutos > "
  27. if not defined m (set m= )
  28. if %m% equ 0 (set m=00)
  29.  
  30. cls
  31. set/p "hours=Numero de horas > "
  32. if not defined hours (set hours= )
  33. if %hours% equ 0 (set hours=00)
  34. set "time=%hours%:%m%:%sec%"
  35.  
  36. cls
  37. echo.         Pulse para
  38. echo.         comenzar la
  39. echo.          cuenta...
  40. pause>nul
  41.  
  42. set seg=00
  43. set min=00
  44. set h=00
  45.  
  46. :begin
  47. set "time2=%h%:%min%:%seg%"
  48. if %time2%==%time% (goto :ready)
  49. cls
  50.  
  51. set/a seg+=1
  52. if %seg%==60 (set/a min+=1) && (set seg=00)
  53. if %min%==60 (set/a h+=1) && (set min=00)
  54.  
  55. echo %h%:%min%:%seg%
  56. echo Tiempo establecido: %hours%:%m%:%sec%
  57. echo Pulse Ctrl + C para salir...
  58. echo            Por .:Xx4NG3LxX:.
  59. TIMEOUT /T 1 /NOBREAK >nul
  60. goto :begin
  61.  
  62. :ready
  63. cls
  64. echo Cuenta finalizada...
  65. TIMEOUT /T 5 >NUL
  66. GoTo :ini
  67.  

Digan que tal por favor...

PD: Tengo 13 años


Título: Re: Cronómetro por .:Xx4NG3LxX:. [BATCH]
Publicado por: Mudereded401 en 22 Enero 2020, 23:50 pm
Oye, Realmente parece que te has esforzado en este Batch, Contiene comandos que son un tanto avanzados. Pero Yo diría que se le puede simplificar y mejorar más de una forma mucho más simple y rapida. por ejemplo, Yo hice este cronómetro hace unos dias, Miralo y diferencia entre los 2.

 PD: El tuyo está realmente bién, Aunque cuando la cuenta es menor a 10, Sale el numero Solo, es decir 00:15:3, Cuando podría aparecer 00:15:03

Mi Codigo:
Código:
@echo off
title Cronometro by Mudereded401 - Free use

set s=0
set h=0
set m=0
set stop=00.00.00
:TDS
@mode con cols=50 lines=10
color 0b
cls
echo.
echo Ingresar El tiempo en el que El cronometro Se
echo detendra.
echo.
echo Usar formato [HH:MM:SS]
echo.
set/p stop=

set hs=%stop:~0,2%
set ms=%stop:~3,2%
set ss=%stop:~6,2%

set Stop=%hs%:%ms%:%ss%

:start
@mode con cols=40 lines=10
cls
echo.
echo Puedes Pausar el Cronometro
echo Pulsando (CTRL+C) en cualquier
echo Momento.
echo.
echo Pulsa cualquier tecla para Iniciar...
echo.
pause>nul


:bucle
@mode con cols=20 lines=6
title Se detiene en el tiempo  : %stop%



if %s% LSS 10 (set a=:0) else (set "a=:")
if %s%==60 (
set/a m+=1
set s=0)

if %m% LSS 10 (set b=:0) else (set "b=:")
if %m%==60 (
set/a h+=1
set m=0)

if %h% LSS 10 (set c=0) else (set "c= ")

set time=%c%%h%%b%%m%%a%%s%
if %time%==%stop% goto end

cls
echo.
echo . : Cronometro : .
echo.
echo      %c%%h%%b%%m%%a%%s%
echo.
timeout/t 1 /nobreak>nul



set/a s+=1

goto bucle

:end
color 0e
cls
echo.
echo Tiempo Finalizado.
echo.
timeout/t 5 >nul
goto TDS


EDIT: Esta es Solo una opinion de como lo podrías hacer más facil


Título: Re: Cronómetro por .:Xx4NG3LxX:. [BATCH]
Publicado por: .:Xx4NG3LxX:. en 23 Enero 2020, 01:00 am
Oye, Realmente parece que te has esforzado en este Batch
Pues, muchas gracias hace como 6 o 7 meses que ando con Batch, apenas estoy ahí con VBS también. Yo creo que con mi edad está muy bien lo que he hecho.

Sobre el bug que le encontraste, sinceramente yo no la había descubierto, gracias por comentar. Intentaré "mejorar" el code... Gracias de nuevo


Título: Re: Cronómetro por .:Xx4NG3LxX:. [BATCH]
Publicado por: Mudereded401 en 23 Enero 2020, 16:16 pm
Pues, muchas gracias hace como 6 o 7 meses que ando con Batch, apenas estoy ahí con VBS también. Yo creo que con mi edad está muy bien lo que he hecho.

Sobre el bug que le encontraste, sinceramente yo no la había descubierto, gracias por comentar. Intentaré "mejorar" el code... Gracias de nuevo


No hay problema, Para eso estamos en el Foro, Para preguntar y responder las dudas. Y te digo que sí, Vas muy bien avanzado, Yo apenas tengo 14 y no sé mucho más que tú. Sigue así  ;)

pd: ahora no uso tanto batch, mas que todo uso Python; Me parece un poco más util.


Título: Re: Cronómetro por .:Xx4NG3LxX:. [BATCH]
Publicado por: .:Xx4NG3LxX:. en 23 Enero 2020, 17:55 pm
pd: ahora no uso tanto batch, mas que todo uso Python; Me parece un poco más util.

Sí, eso es obvio, que Batch este limitado a ciertas cosas... Tal vez ahora me concentre más en VBScript ya que puede ser útil de vez en cuando.