Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[R] info sur Darkbox
Auteur Message
Répondre en citant
Message [R] info sur Darkbox 
J'ai souvent vue sur le forum que darkbox est mieux que batbox (niveau vitesse je vous le confirme)
mais la chose que ce passe c'est que j'aimerait faire un script qui risque d'être trop lourd avec batbox, donc j'aimerait me tourner sur darkbox..
le seul chose qui me gêne c'est que je n'ai pas trouver de tuto détailler sur la chose car disons que ce qui est fournie avec comme exemple
est un peut compliqué a prendre en main quand on a jamais toucher a cette commande externe..

Je me demandait si une âme charitable sur ce forum pouvait soit me redirigé sur un lien qui détail tous, soit me donner un léger court de rattrapage Embarassed



m'en veuillez pas si je suis pas très doué Mort de Rire



Dernière édition par Wolphwood le Dim 7 Mai 2017 - 22:22; édité 1 fois

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


Répondre en citant
Message [R] info sur Darkbox 
Bonjour Wolphwood.
Tout d'abord, merci de m'avoir rappeler de faire une documentation sur darkbox, désormais, on va plancher la création de pages de documentation de la même façon que pour batbox.
Pour être plus précis, la documentation de darkbox va certainement être sur le site du projet Dos9 (dos9.org) : http://dos9.org/doc/fr

Mais en attendant, il y a le README de darkbox, cependant, il est en anglais, ce qui n'est pas top.

Donc, je vais brièvement expliquer comment marche darkbox.

La commande darkbox est une commande qui fonctionne (d'une part) un peut comme "more", sauf que ça interprète des commandes et ne réécris pas bêtement l'entrée console.
En gros, ça peut l'utiliser comme ça :
Code:
(echo c'est
echo des
echo commande
echo sur plusieurs lignes
echo -q) | darkbox
Sauf que l'utiliser comme ça, c'est possible, mais pas pratique.
C'est pourquoi j'ai trouvé ceci :
Code:
@Echo off
if defined __ goto :game
set __=.
call %0 %* | darkbox
set __=
goto :eof

:game
REM Votre code ici
Pour résumer, ce morceau de code va se contenter de démarrer au label :game, mais avec l’interprétation des commande darkbox (exactement comme le code avec "c'est des commandes sur plusieurs lignes").
ça va donc interpréter les commandes par la commande "echo" ou autre (même <nul set /p "=ma commande")

Une autre question serait : c'est quoi une commande
Pour aller simple, c'est identique à batbox, sauf pour certaines commandes, il y a également une autre syntaxe mais elle n'est pas spécialement cruciale pour utiliser la commande.
Pour les commande (et pas d'autres) : 'a' (ascii), 'c' (color), 'd' (display), 'o' (origin), 'g' (goto), 'h' (hide cursor), la syntaxe est identique à batbox, tu peux trouver cette syntaxe ici : http://dos9.org/doc/fr/batbox.html
Pour les autres commandes : 'n' (new line), 's' (clear screen), 'r' (reset color), 'q' (quit), 'w' (wait), c'est différent
[list]New line :
Code:
echo -n (ou /n)
équivaut à
Code:
echo.
en dehors de darkbox.

Clear Screen :
Code:
echo -s (ou /s)
équivaut à
Code:
cls
en dehors de darkbox.

Reset Color :
Code:
echo -r (ou /r)
équivaut à
Code:
color (aucun argument)
en dehors de darkbox.

Wait : à la différence de batbox, le délai s’effectue à l'interne de darkbox et n'impacte pas l'éxécution du .bat, pour une interuption de l'exécution du .bat, il y a
Code:
darkbox -w delai
ça peut servir dans certains cas, mais pas dans d'autres, le cas auquel ce sera efficace, c'est pour par exemple montrer petit à petit et en même temps faire des calculs.

La différence au niveau de la syntaxe des commandes, c'est que darkbox autorise à la fois le '/' de batbox (qui provient de Microsoft), et le '-' qui est inspiré du POSIX (qu'on trouve sur ping, shutdown, ftp, telnet, ...).

Petit exemple simple :
Code:
@Echo off
if defined __ goto :game
set __=.
call %0 %* | darkbox
set __=
goto :eof

:game
setlocal enabledelayedexpansion
echo -c 0x1B -d "Ceci est un test" -n
echo -c 0x47 -d "Bienvenu dans darkbox !!"
echo -q
auquel :game peut aussi être écrit avec le style abrégé darkbox :
Code:
:game
setlocal enabledelayedexpansion
echo -2cdn 0x1B "Ceci est un test"
echo       0x47 "Bienvenu dans darkbox !!"
echo -q


PS: Darkbox n'autorise cependant pas ces commandes :
Code:
cls
echo. (ignoré dans la plupart des cas)
color (pas sûr pour cette commande par contre)
Et peut se retrouver perturbé par celles-ci :
Code:
type
more
help
...
Car le texte écrit sera considéré comme une commande, ce qui peut poser problème Laughing.




______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message [R] info sur Darkbox 
Tout d'abord désolé du temps de réponse Embarassed

Puit ->

He bien merci TSnake pour ta réponse déja bien détailler, Razz
Parce que c'est vrai que le fichier tests avec les exemple est pas très claire même si j'ai tout de même réussi a comprendre la factorisation des commande Mr. Green *fiers*

si je dis pas de bêtise sa doit être sa (ou presque)
Code:

echo -X'commande' 'syntax'

:: Ou X est un chiffre entier
:: 'commande' est un préfixe comme a c ou r etc..
:: et 'syntax' le contenus des préfixes
:: --------------
:: Ex:
:: echo -6ca 0xab 192 0x54 27 etc..
::
:: Ici on pourrat faire Six fois "changer de couleur puis écrire la caractére x"


Mais bon je te cache pas que -w -o -n et beaucoup d'autre préfixe était inconnus a mes connaissance Embarassed
En plus l'anglais pour moi c'est bon, quand c'est basqiue et non des pavé ou des docs comme celle de darkbox Mort de Rire

Ps:
Pour le doc en fr, tu va croire que je te prend pour un neuneu mais ce n'est point le cas,
Si je peut me permetre un conseill consacre un paragraphe/chapitre a chaque préfixe, et illustre les de pas mal d'exemple
Sinon a l'occasion je peut moi même plancher sur une légére doc pour aider Mr. Green




______________________________________________________
Message [R] info sur Darkbox 


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