Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
Happy new year
Auteur Message
Répondre en citant
Message Happy new year 
Salut à tous,

Alors je vous présente un code assez sympa puisqu'il n'est pas terminé !!!
Il s'agit d'un compte à rebours des secondes avant la nouvelle année, et la partie animation du moment fatidique est tout simplement vide ^
A vous de porposer une chouette animation et l'inclure dans le code Wink

Bonne participation à tous Razz



Code:

@echo off
cls
setlocal enabledelayedexpansion
mode con cols=70 lines=13
color 0A

:: ########## PROCESS ##########
:REFRESH
call :RDATE
call :BISSEXTILE
call :CALCUL_POSITION
call :CALCUL_JOUR
call :CALCUL_GLOBAL
call :MAXIMISATION
call :CENTRAGE
call :AFFICHAGE
goto :REFRESH
:: ########## FIN PROCESS ##########
:: #
:: ########## RECUPERATION DATE ##########
:RDATE
set X=%date:~9,1%
for /f "tokens=2,3,4 delims=(,-,)" %%a in ('"echo ^M|date"') do (
  set NB_1=%%a
  set NB_2=%%b
  set NB_3=%%c
  )
if %NB_1%==aa (
   if defined X  set ANNEE=%date:~0,4%
   if not defined X set ANNEE=%date:~0,2%
   )
if %NB_1%==mm set MOIS=%date:~0,2%
if %NB_1%==jj set JOUR=%date:~0,2%

if %NB_2%==aa (
   if defined X  set ANNEE=%date:~3,4%
   if not defined X set ANNEE=%date:~3,2%
   )
if %NB_2%==mm (
   if %NB_1%==aa (
      if defined X  set MOIS=%date:~5,2%
      if not defined X set MOIS=%date:~3,2%
      )
   if %NB_1% NEQ aa set MOIS=%date:~3,2%
   )
if %NB_2%==jj (
   if %NB_1%==aa (
      if defined X  set JOUR=%date:~5,2%
      if not defined X set JOUR=%date:~3,2%
      )
   if %NB_1% NEQ aa set JOUR=%date:~3,2%
   )
if %NB_3%==aa (
   if defined X set ANNEE=%date:~-4%
   if not defined X set ANNEE=%date:~-2%
   )
if %NB_3%==mm set MOIS=%date:~-2%
if %NB_3%==jj set JOUR=%date:~-2%
if %MOIS:~0,1% EQU 0 set MOIS=%MOIS:~1,1%
if %JOUR:~0,1% EQU 0 set JOUR=%JOUR:~1,1%
set /a NEWYEAR = ANNEE + 1
goto :EOF
:: ########## FIN RECUPERATION DATE ##########
:: #
:: ########## CALCUL DU COMPTEUR EN FONCTION DU MOIS ##########
:CALCUL_POSITION
for %%$ in ( 1 3 5 7 8 10 12 ) do (
   if %MOIS% EQU %%$ set LONG_MOIS=31
   )
if %MOIS% EQU 2 set /a LONG_MOIS = 28 + BISS
for %%$ in ( 4 6 9 11) do (
   if %MOIS% EQU %%$ set LONG_MOIS=30
   )
set /a POSITION = LONG_MOIS - JOUR
if %MOIS% EQU 1 set /a RESTANT_MOIS = POSITION + 334
if %MOIS% EQU 2 set /a RESTANT_MOIS = POSITION + 306
if %MOIS% EQU 3 set /a RESTANT_MOIS = POSITION + 275
if %MOIS% EQU 4 set /a RESTANT_MOIS = POSITION + 245
if %MOIS% EQU 5 set /a RESTANT_MOIS = POSITION + 214
if %MOIS% EQU 6 set /a RESTANT_MOIS = POSITION + 184
if %MOIS% EQU 7 set /a RESTANT_MOIS = POSITION + 153
if %MOIS% EQU 8 set /a RESTANT_MOIS = POSITION + 122
if %MOIS% EQU 9 set /a RESTANT_MOIS = POSITION + 92
if %MOIS% EQU 10 set /a RESTANT_MOIS = POSITION + 61
if %MOIS% EQU 11 set /a RESTANT_MOIS = POSITION + 31
if %MOIS% EQU 12 set /a RESTANT_MOIS = POSITION + 0
set /a CALC_POSITION = RESTANT_MOIS * 86400
goto :EOF
:: ########## FIN CALCUL DU COMPTEUR EN FONCTION DU MOIS ##########
:: #
:: ########## CALCUL DU COMPTEUR DU JOUR##########
:CALCUL_JOUR
set HEURE=%time:~0,2%
set MINUTE=%time:~3,2%
set SECONDE=%time:~6,2%

set VERIF_HEURE=%time:~0,1%
set VERIF_MINUTE=%time:~3,1%
set VERIF_SECONDE=%time:~6,1%

if not defined VERIF_HEURE set HEURE=%time:~1,1%
if not defined VERIF_MINUTE set MINUTE=%time:~4,1%
if not defined VERIF_SECONDE set SECONDE=%time:~7,1%

set /a TR_H = HEURE * 3600
set /a TR_M = MINUTE * 60
set /a RESTANT_JOUR = SECONDE + TR_M + TR_H
set /a CALC_JOUR = 86400 - RESTANT_JOUR
goto :EOF
:: ########## FIN CALCUL DU COMPTEUR DU JOUR##########
:: #
:: ########## CALCUL DES SECONDES RESTANTES ##########
:CALCUL_GLOBAL
set /a COMPTEUR = CALC_JOUR + CALC_POSITION
goto :EOF
:: ########## FIN CALCUL DES SECONDES RESTANTES ##########
:: #
:: ########## BISSEXTILE ##########
:BISSEXTILE
set BISS=0
for %%$ in (
2016
2020
2024
2028
2032
2036
2040
2044
2048
2052
2056
2060
2064
2068
2072
2076
2080
2084
2088
2092
2096
) do if %ANNEE% EQU %%$ (
    set BISS=1
   )
goto :EOF
:: ########## FIN BISSEXTILE ##########
:: #
:: ########## CENTRAGE DU COMPTEUR##########
:CENTRAGE
set TAG=
for /f "tokens=1,2 delims=:" %%X in ('mode con ^| find /i "colonnes"') do set MAX=%%Y
for /f "tokens=1,* delims=[,]" %%A in ('"%comspec% /u /c echo:%LINE_13%|more|find /n /v """') do (
    set /a SIZE=%%A-4
    )
set /a CORR=%MAX%-%SIZE%
set /a CORR=CORR/2
set "MOD= "
:UP_CENTRAGE
set /a TAG=TAG+1
if %TAG%==%CORR% goto :EOF
set "MOD= %MOD%"
goto :UP_CENTRAGE
:: ########## FIN CENTRAGE DU COMPTEUR ##########
:: #
:: ########## POLICE DES CHIFFRES ##########
:MOD_0
set "LINE_12=%LINE_12% @@@@@@ "
set "LINE_13=%LINE_13% @    @ "
set "LINE_14=%LINE_14% @    @ "
set "LINE_15=%LINE_15% @    @ "
set "LINE_16=%LINE_16% @    @ "
set "LINE_17=%LINE_17% @    @ "
set "LINE_18=%LINE_18% @@@@@@ "
goto :EOF

:MOD_1
set "LINE_12=%LINE_12%  @@@   "
set "LINE_13=%LINE_13% @ @@   "
set "LINE_14=%LINE_14%   @@   "
set "LINE_15=%LINE_15%   @@   "
set "LINE_16=%LINE_16%   @@   "
set "LINE_17=%LINE_17%   @@   "
set "LINE_18=%LINE_18% @@@@@@ "
goto :EOF

:MOD_2
set "LINE_12=%LINE_12% @@@@@@ "
set "LINE_13=%LINE_13%      @ "
set "LINE_14=%LINE_14%      @ "
set "LINE_15=%LINE_15% @@@@@@ "
set "LINE_16=%LINE_16% @      "
set "LINE_17=%LINE_17% @      "
set "LINE_18=%LINE_18% @@@@@@ "
goto :EOF

:MOD_3
set "LINE_12=%LINE_12% @@@@@@ "
set "LINE_13=%LINE_13%      @ "
set "LINE_14=%LINE_14%      @ "
set "LINE_15=%LINE_15% @@@@@@ "
set "LINE_16=%LINE_16%      @ "
set "LINE_17=%LINE_17%      @ "
set "LINE_18=%LINE_18% @@@@@@ "
goto :EOF

:MOD_4
set "LINE_12=%LINE_12%    @@  "
set "LINE_13=%LINE_13%   @ @  "
set "LINE_14=%LINE_14%  @  @  "
set "LINE_15=%LINE_15% @   @  "
set "LINE_16=%LINE_16% @@@@@@ "
set "LINE_17=%LINE_17%     @  "
set "LINE_18=%LINE_18%     @  "
goto :EOF

:MOD_5
set "LINE_12=%LINE_12% @@@@@@ "
set "LINE_13=%LINE_13% @      "
set "LINE_14=%LINE_14% @      "
set "LINE_15=%LINE_15% @@@@@@ "
set "LINE_16=%LINE_16%      @ "
set "LINE_17=%LINE_17%      @ "
set "LINE_18=%LINE_18% @@@@@@ "
goto :EOF

:MOD_6
set "LINE_12=%LINE_12% @@@@@@ "
set "LINE_13=%LINE_13% @      "
set "LINE_14=%LINE_14% @      "
set "LINE_15=%LINE_15% @@@@@@ "
set "LINE_16=%LINE_16% @    @ "
set "LINE_17=%LINE_17% @    @ "
set "LINE_18=%LINE_18% @@@@@@ "
goto :EOF

:MOD_7
set "LINE_12=%LINE_12% @@@@@@ "
set "LINE_13=%LINE_13%      @ "
set "LINE_14=%LINE_14%      @ "
set "LINE_15=%LINE_15%      @ "
set "LINE_16=%LINE_16%      @ "
set "LINE_17=%LINE_17%      @ "
set "LINE_18=%LINE_18%      @ "
goto :EOF

:MOD_8
set "LINE_12=%LINE_12% @@@@@@ "
set "LINE_13=%LINE_13% @    @ "
set "LINE_14=%LINE_14% @    @ "
set "LINE_15=%LINE_15% @@@@@@ "
set "LINE_16=%LINE_16% @    @ "
set "LINE_17=%LINE_17% @    @ "
set "LINE_18=%LINE_18% @@@@@@ "
goto :EOF

:MOD_9
set "LINE_12=%LINE_12% @@@@@@ "
set "LINE_13=%LINE_13% @    @ "
set "LINE_14=%LINE_14% @    @ "
set "LINE_15=%LINE_15% @@@@@@ "
set "LINE_16=%LINE_16%      @ "
set "LINE_17=%LINE_17%      @ "
set "LINE_18=%LINE_18% @@@@@@ "
goto :EOF
:: ########## FIN POLICE DES CHIFFRES ##########
:: #
:: ########## AFFICHAGE ##########
:AFFICHAGE
title Happy New Year %NEWYEAR%   ^| Batch ^|
cls
if %COMPTEUR% LEQ 1 goto :HAPPY_NEW_YEAR
echo. &echo.
for /l %%# in (12,1,18) do echo.%MOD%!LINE_%%#!
echo. &echo                           Secondes avant %NEWYEAR%
@ping localhost -n 1 >nul
goto :EOF
:: ########## FIN AFFICHAGE ##########
:: #
:: ########## HAPPY NEW YEAR ##########
:HAPPY_NEW_YEAR
cls
echo bonne annee %NEWYEAR%
:: à vous de jouer pour la suite
pause>nul
:: ########## FIN HAPPY NEW YEAR ##########
:: #
:: ########## TRANSFORMATION EN  GRANDE POLICE ##########
:MAXIMISATION
for /l %%$ in (12,1,18) do set LINE_%%$=
for /f "tokens=2,* delims=[]" %%@ in ('"%comspec% /u /c echo:%COMPTEUR%|more|find /n /v """') do (
    for %%§ in (0 1 2 3 4 5 6 7 8 9) do (
       if /i %%§==%%@ call :MOD_%%§
      )
    )
goto :EOF
:: ########## FIN TRANSFORMATION EN  GRANDE POLICE ##########





______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Happy new year 
Sympa ! Okay

Merci du partage Smile



Répondre en citant
Message Happy new year 
xD lol




______________________________________________________
Visiter le site web du posteur
Répondre en citant
Message Happy new year 
Je  kiffe 




______________________________________________________
Visiter le site web du posteur Skype
Répondre en citant
Message Happy new year 
xD je l'es adapté pour mon anniversaire , j'a trouvé le calcule 


Après on rajoute + 864000 


C'est le 21 decembre


Comme 86400 est les secondes par journé je fais 


31-21 = 10 X86400


Voila C'est simple , meme si y'a plus simple ++




______________________________________________________
Visiter le site web du posteur Skype
Répondre en citant
Message Happy new year 
Anto2112 a écrit:
je l'es adapté pour mon anniversaire


Voilà un truc sympa Razz Okay




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Message Happy new year 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch