Cronómetro por .:Xx4NG3LxX:. [BATCH]

Iniciado por .:Xx4NG3LxX:., 22 Enero 2020, 20:13 PM

0 Miembros y 1 Visitante están viendo este tema.

.:Xx4NG3LxX:.

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 (dos) [Seleccionar]

@echo off
mode con:cols:30 lines=9
title Cronómetro 3.1

:ini
cls
set sec=
set m=
set hours=

echo.
set/p "sec=Numero de segundos [1/59] > "
if not defined sec (set sec= )
if %sec% equ 0 (
echo Respeta el rango
pause>nul
goto :ini
)

if %sec% geq 60 (
echo Respeta el rango
pause>nul
goto :ini
)

cls
echo.
set/p "m=Numero de minutos > "
if not defined m (set m= )
if %m% equ 0 (set m=00)

cls
echo.
set/p "hours=Numero de horas > "
if not defined hours (set hours= )
if %hours% equ 0 (set hours=00)
set "time=%hours%:%m%:%sec%"

cls
echo.
echo.         Pulse para
echo.
echo.         comenzar la
echo.
echo.          cuenta...
pause>nul

set seg=00
set min=00
set h=00

:begin
set "time2=%h%:%min%:%seg%"
if %time2%==%time% (goto :ready)
cls

set/a seg+=1
if %seg%==60 (set/a min+=1) && (set seg=00)
if %min%==60 (set/a h+=1) && (set min=00)

echo.
echo %h%:%min%:%seg%
echo.
echo Tiempo establecido: %hours%:%m%:%sec%
echo.
echo Pulse Ctrl + C para salir...
echo.
echo            Por .:Xx4NG3LxX:.
TIMEOUT /T 1 /NOBREAK >nul
goto :begin

:ready
cls
echo.
echo Cuenta finalizada...
TIMEOUT /T 5 >NUL
GoTo :ini


Digan que tal por favor...

PD: Tengo 13 años
"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"



Mudereded401

#1
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:
@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
Pero aunque los que sepan me digan que no, yo sé muy bien que existe el lado oscuro del sol. – El lado soleado de la calle

.:Xx4NG3LxX:.

Cita de: Mudereded401 en 22 Enero 2020, 23:50 PM
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
"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"



Mudereded401

#3
Cita de: .:Xx4NG3LxX:. en 23 Enero 2020, 01:00 AM
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.
Pero aunque los que sepan me digan que no, yo sé muy bien que existe el lado oscuro del sol. – El lado soleado de la calle

.:Xx4NG3LxX:.

Cita de: Mudereded401 en 23 Enero 2020, 16:16 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.
"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"