Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
Détecter un clic en affichant l'heure
Auteur Message
Répondre en citant
Message Détecter un clic en affichant l'heure 
Bonjour bonjour Smile
J'utilise depuis quelques temps BatBox.
J'ai un code comme celui-ci :
Code:
@ECHO OFF
MODE CON cols=22 lines=11

:start
cls
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³      Fichier      ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³      Edition      ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³    Assistants     ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo       %time:~0,8%
FOR /F "tokens=1,2 delims=:" %%A in ('BatBox /m') DO (
SET Y=%%B
SET X=%%A
)
IF %Y% LSS 3 GOTO :FICHIER
IF %Y% LSS 6 GOTO :EDITION
IF %Y% LSS 9 GOTO :ASSISTANT
goto :start

Vous l'aurez peut-être reconnu, il s'agit du code d'exemple fourni par Darkbatcher pour la commande BatBox.
Cependant il y a une ligne supplémentaire : une ligne qui affiche l'heure (à la seconde d'ailleurs). Ainsi qu'une ligne cls.
Mon problème est le suivant : je souhaiterais afficher dynamiquement l'heure, tout en attendant un clic.
Je n'ai aucune idée de comment le faire... Peut-être y'a-t-il un moyen pour intégrer un batbox /w au for, peut-être que BatBox ne le permet pas, peut-être que c'est possible avec un code supercompliqué... Ou alors avec quelque chose de supersimple que j'ai zappé.

Merci à ceux qui m'aideront et merci à ceux qui essaieront Smile




______________________________________________________
Skype
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Détecter un clic en affichant l'heure 
Hey Mr. Green

Bien sur que c'est faisable. Et plutôt facilement.

Tu a juste à "triché" en instaurant un délais d'attente avec batbox /w qui dépassé renvoi à l'étiquette de départ.
Ensuite pour éviter les clignotements à la con, utilise /g et /d pour la partie à actualiser.

Et le tour est joué Okay




______________________________________________________
│Øδ@π.
Visiter le site web du posteur Skype
Répondre en citant
Message Détecter un clic en affichant l'heure 
Merci de ta réponse Smile

Je ne vois pas vraiment comment faire, il faudrait intégrer le /w à la boucle for non ?
J'ai l'impression que dès qu'on utilise une commande /m, batbox met la console en pause en attendant qu'un clic soit effectué. Et là, je ne vois pas où intégrer le /w... Mad
Donc je ne suis pas plus avancé, j'ai peut-être mal suivi encore une fois . Embarassed

Cordialement,
ytrezAn




______________________________________________________
Skype
Répondre en citant
Message Détecter un clic en affichant l'heure 
Bah si tu ne vois pas comment faire avec le for, tu peux le faire facilement avec 
une petite condition qui fais que toute les demi seconde la boucle se relance..




______________________________________________________
│Øδ@π.
Visiter le site web du posteur Skype
Répondre en citant
Message Détecter un clic en affichant l'heure 
Je ne vois vraiment pas comment Sad
Pour moi ça équivaudrait à une ligne externe à la boucle for qui interviendrait en parallèle, je crois avoir encore mal compris.




______________________________________________________
Skype
Répondre en citant
Message Détecter un clic en affichant l'heure 
Bon en gros tu utilise batbox /w pour attendre 1/2 sc (ça doit être la valeur 500) et quand cette 
durée se termine sa tu fait en sorte qu'elle renvoie à l'étiquette de départ (goto).


Ensuite tu utilise batbox /g x y /d "$$$" pour ta partie à généré dynamiquement à la place de ton 
echo pour éviter les clignotements.


En gros tu triche, tu implémente dans ta boucle un "compte à rebour" (vraiment pour faire gros) qui
à sa fin va retourner vers l'étiquette de la boucle.




Ps: A toi de mettre la valeur que tu veux suivant si tu veux la précision de l'heure en secondes ou minutes.




______________________________________________________
│Øδ@π.
Visiter le site web du posteur Skype
Répondre en citant
Message Détecter un clic en affichant l'heure 
Oui jusque là je savais faire une heure qui s'actualise toutes les x millisecondes avec batbox. Neutral
Le problème est malheureusement tout autre, vu que je cherche à afficher ce compte en même temps qu'une détection de clics, c'est à dire que même si l'utilisateur ne clique pas le compteur doit continuer de s'actualiser.

Admettons que j'ai ce code :
Code:
:start
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³      Fichier      ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³      Edition      ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³    Assistants     ³
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
batbox /g 7 9 /d "%time:~0,8%"

::Emplacement_1
FOR /F "tokens=1,2 delims=:" %%A in ('BatBox /m') DO (
SET Y=%%B
SET X=%%A
::Emplacement_3
)
::Emplacement_2

IF %Y% LSS 3 GOTO :fichier
IF %Y% LSS 6 GOTO :edition
IF %Y% LSS 9 GOTO :assistant
goto :start


Pour y inclure le batbox /w :
- Le placer avant le FOR (Emplacement_1) ne rime à rien, car le goto bloquerait l'accès au détecteur de clics.
- Le placer après le FOR (Emplacement_2) ne sert à rien, étant donné que le FOR reste "figé" tant qu'il n'y a pas de clics.
- Le placer pendant (Emplacement_3)... Dans le DO, ça ne rime à rien (équivalent de le placer après), et dans le FOR en lui-même je ne sais pas comment faire (ni même si c'est faisable).




______________________________________________________
Skype
Message Détecter un clic en affichant l'heure 


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