Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 2
Aller à la page: 1, 2  >
[Dev] - Darkbox - TSnake41
Auteur Message
Répondre en citant
Message [Dev] - Darkbox - TSnake41 
Salut tout le monde.

Si vous n'êtes pas au courant, presque 70% des jeux utilisent Batbox, cependant, cette commande est loin d'être parfaite :
- Elle ne marche que sous Windows (ne comptez pas Linux et encore moins DOS, c'est KO)
- Malgré qu'elle soit rapide lorsque qu'on l'utilise qu'une seule fois pour une grande ligne, elle est extrêmement lente (comparé à Superbox et Darkbox) quand on l'utilise a plusieurs reprises (ça se compte en déci-secondes voire en secondes !).
- Elle n'est plus supportées par son créateur = pas de mises à jour pour corriger les éventuelles bugs

Donc vous vous en doutez, il faut bien renouveler cette commande qui certes (pas) pratique, pleins de défauts.

C'est pour ça que Darkbatcher a lancé Superbox, une commande peu utilisé, je suppose que la taille de son exécutable et son manque d'exemples concrets lui font défaut.

Pendant ce temps, le projet Dos9 n'avait pas de réelle intérêt : quasiment aucun programme n'était utilisable : faute de commandes externes souvent.
La commande TinyLB par moi n'était pas encore assez stable et ne suscitait pas un grand intérêt aux créateurs de jeux.

Et bien plus tard, moi même lança Darkbox, une commande qui reprend légèrement le principe de "serveur" de Superbox mais qui changea diverses choses.
À l'inverse de Superbox, darkbox n'utilise pas de pipe nommé, mais l'entrée console.
L'avantage de Darkbox est principalement ça vitesse, il est plus rapide que Superbox et que batbox dans les jeux.

Bon, ça marche comment ?


C'est très simple, téléchargez le pack distant (totalement complet, compilateur inclus pour Windows) : http://sachadee.org/Ts/darkbox/darkbox-dist.7z ou (pour ceux qui utilisent un *NIX) : http://sachadee.org/Ts/darkbox/darkbox-dist.tar.xz

Ensuite, il vous faut un "lanceur"
par exemple :
Code:
@Echo off
call game.bat | darkbox
Bien sûr, game.bat peu être remplacé par un autre fichier.

Ce lanceur est requis car il permet de bien gérer la redirection par le '|', si le call redirige vers un label, un simple goto planterais tout le programme.

EDIT: On a trouvé une alternative de lanceur qui accepte d'avoir le tout dans un même fichier :
Code:
@Echo off
if defined __ goto :game
set __=.
call %0 %* | darkbox
set __=
goto :eof

:game
REM Votre code ici
http://batch.xoo.it/t5529-Redirection-retard-e-d-un-pipe-avec-un-call-label…

D'ailleurs, dans ce lanceur, vous pouvez inclure ce que vous voulez, une pré-exécution ou une post-exécution par exemple, vous pouvez également rediriger les erreurs de darkbox dans un fichier, c'est vous qui voyez.

Ensuite, dans notre game.bat, on va inclure tout notre programme, je vous conseille très fortement de faire commencer votre programme par "@Echo off", sinon, vous allez avoir de belles surprises.

Ensuite, la syntaxe.
Pour faire passer des commandes, on doit passer par la sortie console de game.bat, c'est à dire 'echo'.
En plus de supporter le traditionnel '/' de batbox, il supporte '-', plus propre dans le code.
Pour par exemple écrire du texte :
Code:
:: On écrit "Hello world !!" ou "Hello world !"
echo -d "Hello world !!"


Une des fonctionnalités innovantes de de Darkbox est la factorisation des commandes, au lieu d'écrire
Code:
-c 0x1B -d "Ceci " -c 0x14 -d "est " -c 0x78 -d "un " -c 0x47 -d "test."
On peut écrire :
Code:
-4cd 0x1B "Ceci " 0x14 "est" 0x78 "un" 0x47 "test."
qui est bien plus court.

Pour une petite explication de cette syntaxe :
Code:
-6abc [args de a] [args de b] [args de c] [args de a] [args de b] [args de c] [...]

NOTE: Ces arguments peuvent s'étendre sur plusieurs lignes.

On peut ensuite faire :
Code:
:: Déplace le curseur vers 'x;y', change la couleur en 'c', affiche 'texte'
-gcd x y c texte
ou encore
Code:
:: Déplace le curseur vers 'x;y', change la couleur en 'c', affiche 'texte', réinitialise la couleur de la console
-gcdr x y c texte


Pour éviter les mauvaises surprises, darkbox doit être stoppé proprement, sauf dans le cas où l'on ferme avec la croix ou par le gestionnaire des tâches.
Pour stopper proprement darkbox :
Code:
echo -q
ou
Code:
echo -rq



Voici la syntaxe :
Code:
-[nombre d'executions du groupe]<groupe de lettres/commandes> [arguments]


Quelques exemples de commandes possibles (vous pouvez faire les vôtres) :

Ecrire du texte coloré :
Code:
echo -cd 0x01 "Texte coloré"

Ecrire plusieurs lignes (4 lignes dans ce cas) :
Code:
echo -4dn "Ligne 1" "Ligne 2" "Ligne 3" "Ligne 4"

Ecrire des mots à plusieurs endroits :
Code:
echo -3gd 2 6 "Mot 1" 9 4 "Mot 2" 18 14 "Mot 3"

Ecrire un caractère ascii :
Code:
echo -a 147


Voila la (petite) documentation des "lettres" que vous pouvez utiliser
Code:
-a : ascii, argument : ascii
-d : display, argument : texte
-c : couleur, argument : couleur
-n : newline
-g : goto : arguments : x y
-s : clear screen (cls)
-o : origin : arguments : x y
-r : reset colors
-b : Echo back (permet de temporairement désactiver l'interprétation des commandes -> utilisation sécurisée de echo et des autres commandes externes, s'annule avec "echo -d")
-w : wait : arguments : ms (NOTE: Le délais est interne à darkbox et pas à l'interpréteur)


Voila les précieux exemples (que vous avez aussi dans l'archive) qui vont vous servir plus rapidement que prévus :
Code:
@Echo off
if defined __ goto :nuancier
set __=.
call %0 %* | darkbox
set __=
pause>NUL
goto :eof

:nuancier
setlocal enabledelayedexpansion
for %%A in (0 1 2 3 4 5 6 7 8 9 A B C D E F) do (
    echo -16cd
    for %%B in (0 1 2 3 4 5 6 7 8 9 A B C D E F) do (
        echo 0x%%A%%B Darkbox
    )
    echo -n
)
echo -rq
goto :eof
Code:
@Echo off
if defined __ goto :nuancier2
set __=.
call %0 %* | darkbox
set __=
pause>NUL
goto :eof

:nuancier2
setlocal enabledelayedexpansion

echo -256cd
for /l %%A in (0,1,255) do echo %%A X

echo -rq
goto :eof
Code:
@Echo off
if defined __ goto :lorem
set __=.
call %0 %* | darkbox
set __=
pause>NUL
goto :eof

:lorem
setlocal enabledelayedexpansion
set text=Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
for /l %%p in (0,1,5) do (for %%A in (%text%) do (
    call :r
    echo -cd !c! "%%A "
))

echo -rq
goto :eof

:r
set /a c=%random% %% 7 + 1
goto :eof
Code:
@Echo off
if defined __ goto :damier
set __=.
call %0 %* | darkbox
set __=
pause>NUL
goto :eof

:damier
setlocal enabledelayedexpansion
set l=10
set h=10

set c0=0x10
set c1=0x20

for /l %%A in (1,1,%h%) do (
    echo -%l%cd
    set /a s=%%A %% 2
    for /l %%B in (1,1,%l%) do call :sq
    echo -n
)

echo -rq
goto :eof

:sq
echo !c%s%! X
set /a s=(%s% + 1) %% 2
goto :eof
Code:
@Echo off
if defined __ goto :ascii
set __=.
call %0 %* | darkbox
set __=
pause>NUL
goto :eof

:ascii
echo -256a
for /l %%A in (0,1,255) do echo %%A
echo -rq
goto :eof
Code:
@Echo off
if defined __ goto :mouse
set __=.
call %0 %* | darkbox
set __=
pause>NUL
goto :eof

:mouse
:: Dos9 Warning (provisional)
echo -scd 0xE "This example is known to have issues on Dos9 on Linux, be aware of this."
echo -ndr     "Expected issue : for /f with a command is buggy on Dos9, more informations at : http://batch.xoo.it/t5539-Dos9-Liste-des-bugs-connus-de-Dos9.htm"
echo -nd      "Press a key to continue"
pause>NUL

echo -s

:loop
for /f "tokens=1,2,3" %%A in ('darkbox_i -m') do (
    set X=%%A
    set Y=%%B
    set C=%%C
)
echo -gcdr %X% %Y% %C% X
goto :loop



Et le code source du point d'entré de la commande (le reste est dans l'archive) :
Code:
[lang=c]/*

 Darkbox - A Fast and Portable Console IO Server
 Copyright (c) 2016 Teddy ASTIE (TSnake41)

 All rights reserved.
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.
 * Neither the name of the name of Teddy Astie (TSnake41) nor the
   names of its contributors may be used to endorse or promote products
   derived from this software without specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY TEDDY ASTIE AND CONTRIBUTORS ``AS IS'' AND ANY
 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 DISCLAIMED. IN NO EVENT SHALL TEDDY ASTIE AND CONTRIBUTORS BE LIABLE FOR ANY
 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES
 LOSS OF USE, DATA, OR PROFITS OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

*/
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>

#ifndef WIN32
#include <unistd.h>
#else
#include <windows.h>
#endif

#include "darkbox.h"
#include "core.h"

static char *text_buffer, *command_buffer;
static int origin_x, origin_y;

int main(int argc, char const *argv[])
{
    if (argc > 1 && !strcmp(argv[1], "/?")) {
        showHelp();
        return 0;
    }

    /* Initialize Console IO */
    core_init();

    /* Initialize buffer */
    init_buffers();

    start();
    return 0;
}

/* Staticaly allocate buffers, this
   avoid repetitive memory allocations
*/
void init_buffers()
{
    text_buffer = malloc(MAX_TEXT_LENGTH);
    command_buffer = malloc(MAX_COMMAND_SIZE);
}

void showHelp(void)
{
    puts("darkbox - Fast Portable Console IO Server - Astie Teddy (TSnake41)\nUsage : call game_file.bat | darkbox\nMore information at : http://batch.xoo.it/p41497.htm");
}

void start(void)
{
    while (true) execute_line();
}

/* Parse a line from stdin and execute it, if this is
   not a command, print the current line in stdout
*/
void execute_line(void)
{
    command_t cmd;

    if (parse_cmd(&cmd))
        execute_cmd(cmd);
}

/* Parse the command from stdin if this is not
   a command, print the current line to stdout
*/
bool parse_cmd(command_t *command)
{
    char *str = command_buffer;

    read_string(&str, MAX_COMMAND_SIZE);

    if (*str != COMMAND_START_CHR &&
        *str != COMMAND_START_CHR2)
        goto no_command;

    str++;

    /* use the count if specified in command */
    command->count = isdigit(*str)
        ? strtol(str, &str, 10) : 1;

    if (isalpha(*str)) {
        /* define literals */
        command->cmd = str;

        /* check literals */
        while (*str) {
            if (!isalpha(*str)) {
                fputs("Parsing error: Invalid litterals", stderr);
                return false;
            }
            str++;
        }
    } else {
        fputs("Parsing error: No command specified", stderr);
        return false;
    }

    return true;

    no_command:
        fputs(str, stdout);
        putchar(' ');

        if (strchr(str, '\n') != 0)
            /* do not break next line */
            return false;

        char c = 0;
        while (c != '\n') putchar(c = getchar());

        return false;
}

/* Execute a command, get args from stdin */
void execute_cmd(command_t cmd)
{
    for (size_t i = 0; i < cmd.count; i++) {
        char *str = cmd.cmd;

        while (*str) {

            switch (tolower(*str)) {

                case 'a':
                    /* Syntax : -a Integer
                       Usage : Print the character
                       corresponding to the integer
                    */

                    putchar(read_int());
                    break;

                case 'd':
                    /* Syntax : -d Text
                       Usage : Display Text
                    */

                    read_string(&text_buffer, MAX_TEXT_LENGTH);
                    fputs(text_buffer, stdout);
                    break;

                case 'n':
                    /* Syntax : -n
                       Usage : Go to the next line
                    */

                    putchar('\n');
                    break;

                case 'c':
                    /* Syntax : -c color
                       color is in hexadecimal format.

                       Usage : Change the current color
                               0xF0 : Background
                               0x0F : Foreground
                    */
                    core_change_color(read_int());
                    break;

                case 'g':
                    /* Syntax : -g x y
                       Usage : Move cursor to (x;y)
                    */

                    core_gotoxy(origin_x + read_int(), origin_y + read_int());
                    break;

                case 'h':
                    /* Syntax : -h 0/1
                       Usage : Hide or show cursor
                    */

                    core_change_cursor_state(read_int());
                    break;

                case 's':
                    /* Syntax : -s
                       Usage : Clear console
                    */

                    core_clear_console();
                    break;

                case 'o':
                    /* Syntax : -o x y
                       Usage : Change goto origin
                    */

                    origin_x = read_int();
                    origin_y = read_int();
                    break;

                case 'r':
                    /* Syntax : -r
                       Usage : Reset foreground and background colors
                    */

                    core_reset_color();
                    break;

                case 'q':
                    /* Syntax : -q
                       Usage : Properly stop darkbox
                    */

                    exit(0);
                    break;

                case 'w':
                    /* Syntax : -w t
                       Usage : Wait t miliseconds

                       Well, this is apparently buggy, but it sometimes works.
                    */

                    #ifdef WIN32
                    Sleep(read_int());
                    #else
                    usleep(read_int());
                    #endif

                    /*
                        nanosleep alternative :
                            int t = read_int();
                            struct timespec ts = { t / 1000, (t % 1000) * 1000000 };
                            nanosleep(&ts, NULL);
                    */
                    break;

                case 'b': ;
                    /* Syntax : -b
                       Usage : Back mode; return stdin
                               until a line start with '-d' or '/d'
                    */

                    int c, c2;

                    while (true) {

                        do { /* print current redirected line */
                            c = getchar();
                            putchar(c);
                        } while(c != '\n');

                        /* check if the line start with '-d' or '/d' */
                        if ( ( (c  = getchar()) == COMMAND_START_CHR ||
                                c               == COMMAND_START_CHR2 ) &&
                               (c2 = getchar()) == 'b' )
                                break; /* exit "Back mode" */

                        putchar(c);
                        if (c2) putchar(c2);

                    }

                    break;
            }

            str++;
        }
    }
}

/* Read the next integer from stdin */
int read_int(void)
{
    char c;
    int pos = 0;

    /* skip beginning spaces */
    do
        c = getchar();
    while (isspace(c));

    while (!isspace(c) && pos < MAX_TEXT_LENGTH) {
        text_buffer[pos] = c;
        pos++;
        c = getchar();
    }
    text_buffer[pos++] = '\0';

    return strtol(text_buffer, NULL, 0);
}

/* Read the next argument from stdin */
void read_string(char **buffer, const size_t max_length)
{
    char c;
    int pos = 0;

    /* skip beginning spaces */
    do
        c = getchar();
    while (isspace(c));

    /* quote mode */
    bool quote = c == '"';

    if (quote)
        /* skip quote chracter */
        c = getchar();

    char *end_chars = quote ? "\"" : " \n\r\t";

    while (!strchr(end_chars, c) && (pos < max_length) ) {

        if (c == '\\')
            /* skip escape chracter, the next chracter is not interpreted */
            c = getchar();

        (*buffer)[pos] = c;
        pos++;

        c = getchar();
    }

    (*buffer)[pos++] = '\0';
}


Voilà, j'espère que vous avez apprécié cette nouvelle commande !
La commande est encore en développement, mais si vous avez des questions, des suggestions, faites moi en part.
@+



Dernière édition par TSnake41 le Lun 14 Nov 2016 - 18:41; édité 11 fois

______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [Dev] - Darkbox - TSnake41 
Superbe !

Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message [Dev] - Darkbox - TSnake41 
Mise à jour ajoutant un nouveau -b (l'ancien est '-s'), son usage n'est pas le même.

-b permet de désactiver l'interprétation des commandes et donc de rendre plus sûre l'utilisation de commande comme batbox ou encore l'utilisation de "echo".


Exemple :
Code:
:: Désactivation de l'interprétation des commandes
echo -b
echo Ceci est un texte
echo qui s'affiche sans soucis
:: Réactivation de l'interprétation des commande
echo -b
echo -rq


IMPORTANT: On ne peut pas quitter ce mode comme ça :
Code:
echo -bq
La commande suivante sera considéré comme du texte et non une autre commande, cependant, ceci marche
Code:
echo -b-q



Egalement, je commence le développement d'une commande multiplate-forme pour lire les entrées console.




______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message [Dev] - Darkbox - TSnake41 
Voici un petit moteur graphique pour sprites avec darkbox :

Code:

@echo off
setlocal ENABLEDELAYEDEXPANSION
if defined __ goto AFF
set /a MX=60,MY=60
set O=10 3
for /l %%A in (0,1,%MX%) do for /l %%B in (0,1,%MY%) do (
   set P%%A.%%B=0xb0 0
)
set /a NBRARG=(%MX%+1)*(%MY%+1)
set __=.
call %0 %* | darkbox
pause>NUL


:AFF
echo;-o %O% -%NBRARG%gca
for /l %%A in (0,1,%MX%) do for /l %%B in (0,1,%MY%) do (
   for /f "tokens=1,2 delims= " %%C in ("!P%%A.%%B!") do (
      echo;%%A %%B %%C %%D
      )
   )
echo;-q
goto :EOF


Utilisation :
Code:

%MX% %MX% : taille du sprite
%O% : position du sprite sur la console (origine du sprite)
%PXY% : variable du pixel, contenant sa couleur et son "texte"

Label AFF : permet de mettre à jour le sprite


Amusez-vous à l'adapter pour vos batch Okay

@ ++ Okay Wink




______________________________________________________
Coucou, tu veux voir mon Site Web ?? Mort de Rire
Visiter le site web du posteur Skype
Répondre en citant
Message [Dev] - Darkbox - TSnake41 
Je vais devoir m'y mettre sinon je serais le seul a utiliser batbox Mort de Rire Mr. Green

+1



Répondre en citant
Message [Dev] - Darkbox - TSnake41 
lb999 a écrit:
Je vais devoir m'y mettre sinon je serais le seul a utiliser batbox Mort de Rire Mr. Green

+1
des mises à jour vont arriver bientôt (juste quelques bugs à corriger) Okay




______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message [Dev] - Darkbox - TSnake41 
Mise à jour :

- Quelques bugs corrigées
- Amélioration de l'archive distribuée
- Ajout du "module" (commande externe annexe) darkbox_i, son fonctionnement est proche de batbox, l'entrée clavier est entièrement supportée sur toutes les plateformes, l'entrée souris est supportée sur Windows et Linux, il y a quelques exceptions sur par exemple les doubles clics sur Linux, et le "Release" sur Windows.
Code:
darkbox_i - Input module for darkbox - TSnake41
Usage : darkbox_i [-k[_]] [-m] [-y]
Note : '-' can be replaced by '/'
- Réorganisation globale du code

L'exemple mouse.bat ne marche pas sur Dos9, pour être plus précis, for /f avec une commande possède un problème de processus zombie en plus de d'autres concernant le lien entre ces deux procéssus.*
Plus d'informations ici : http://batch.xoo.it/t5539-Dos9-Liste-des-bugs-connus-de-Dos9.htm

Téléchargements :
- *NIX (tarball) : http://sachadee.org/Ts/darkbox/darkbox-dist.tar.xz
- Windows (7zip) : http://sachadee.org/Ts/darkbox/darkbox-dist.7z




______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message [Dev] - Darkbox - TSnake41 
regardez moi cette vitesse ! :O

Créé par moi, Aujourd'hui : Wink


Code:

@echo off
setlocal enabledelayedexpansion
   
   if not exist "darkbox.exe" goto:darkbox
   
   if defined __ goto:main
   set __=.
   call "%~0" %* | darkbox
   goto:eof
   
   :darkbox
      
      If Exist "%Tmp%\cbf.4473f0b49021d9c73f1c9261ade69c28" goto:cbf.4473f0b49021d9c73f1c9261ade69c28
      (Set/p =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)<Nul>"%tmp%\cbf.4473f0b49021d9c73f1c9261ade69c28"
      :cbf.4473f0b49021d9c73f1c9261ade69c28
      >Nul Certutil -f -decode "%tmp%\cbf.4473f0b49021d9c73f1c9261ade69c28" "darkbox.exe"
      
   goto:eof
   
   :main
      
      set "hex=0123456789ABCDEF"
      set "color="
      set "dat=0"
      set "dat2=0"
      
      if not defined tabl (
         set "tabl= "
         for /l %%$ in (1,1,6) do set "tabl=!tabl!!tabl!"
      )
      
      for /l %%$ in (1,1,256) do (
         
         if "!dat!"=="16" (
            set/a "dat=0, dat2+=1"
         )
         if "!dat2!"=="16" set "dat2=0"
         
         for %%a in (!dat!) do set "color=!hex:~%%a,1!"
         for %%a in (!dat2!) do set "color=!hex:~%%a,1!!color!"
         
         set "color=!color!!tabl!"
         
         echo;-cdn 0x!color:~0,2! "!color:~0,20!"
         
         set/a "dat+=1"
      )
      echo -cdn 0x07 "Press a Key"
      >nul pause
      echo;-q
      
   goto:eof
   
endlocal



256 lignes coloré différemment en un temps recordMort de Rire Okay

Bravo ! TS !

Darkbox n'est pas une commande externe ordinaire, elle est extraordinaire, darkbox est capable de modifier le langage Batch !



Dernière édition par lb999 le Jeu 1 Déc 2016 - 15:54; édité 1 fois
Répondre en citant
Message [Dev] - Darkbox - TSnake41 
TSnake41 a écrit:
Mise à jour :

- Quelques bugs corrigées
- Amélioration de l'archive distribuée
- Ajout du "module" (commande externe annexe) darkbox_i, son fonctionnement est proche de batbox, l'entrée clavier est entièrement supportée sur toutes les plateformes, l'entrée souris est supportée sur Windows et Linux, il y a quelques exceptions sur par exemple les doubles clics sur Linux, et le "Release" sur Windows.
Code:
darkbox_i - Input module for darkbox - TSnake41
Usage : darkbox_i [-k[_]] [-m] [-y]
Note : '-' can be replaced by '/'
- Réorganisation globale du code

L'exemple mouse.bat ne marche pas sur Dos9, pour être plus précis, for /f avec une commande possède un problème de processus zombie en plus de d'autres concernant le lien entre ces deux procéssus.*
Plus d'informations ici : http://batch.xoo.it/t5539-Dos9-Liste-des-bugs-connus-de-Dos9.htm

Téléchargements :
- *NIX (tarball) : http://sachadee.org/Ts/darkbox/darkbox-dist.tar.xz
- Windows (7zip) : http://sachadee.org/Ts/darkbox/darkbox-dist.7z


Darkbox_i s'utilise dans une boucle FOR également (comme batbox) ?? Wink




______________________________________________________
Coucou, tu veux voir mon Site Web ?? Mort de Rire
Visiter le site web du posteur Skype
Répondre en citant
Message [Dev] - Darkbox - TSnake41 
Xenoxis a écrit:
TSnake41 a écrit:
Mise à jour :

- Quelques bugs corrigées
- Amélioration de l'archive distribuée
- Ajout du "module" (commande externe annexe) darkbox_i, son fonctionnement est proche de batbox, l'entrée clavier est entièrement supportée sur toutes les plateformes, l'entrée souris est supportée sur Windows et Linux, il y a quelques exceptions sur par exemple les doubles clics sur Linux, et le "Release" sur Windows.
Code:
darkbox_i - Input module for darkbox - TSnake41
Usage : darkbox_i [-k[_]] [-m] [-y]
Note : '-' can be replaced by '/'
- Réorganisation globale du code

L'exemple mouse.bat ne marche pas sur Dos9, pour être plus précis, for /f avec une commande possède un problème de processus zombie en plus de d'autres concernant le lien entre ces deux procéssus.*
Plus d'informations ici : http://batch.xoo.it/t5539-Dos9-Liste-des-bugs-connus-de-Dos9.htm

Téléchargements :
- *NIX (tarball) : http://sachadee.org/Ts/darkbox/darkbox-dist.tar.xz
- Windows (7zip) : http://sachadee.org/Ts/darkbox/darkbox-dist.7z


Darkbox_i s'utilise dans une boucle FOR également (comme batbox) ?? Wink
oui




______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message [Dev] - Darkbox - TSnake41 
lb999 a écrit:
regardez moi cette vitesse ! :O

Créé par moi, Aujourd'hui : Wink

{{{DarkboxPerformances (spoiler cuz : CODE LARGE)}}}

256 lignes coloré différemment en un temps recordMort de Rire Okay

Bravo ! TS !

Darkbox n'est pas une commande externe ordinaire, elle est extraordinaire, darkbox est capable de modifier le langage Batch !


Pourquoi tant de code pour si peu ?? ^^


Code:

@echo off
setlocal enabledelayedexpansion
   mode con cols=60 lines=160
   if not exist "darkbox.exe" goto:darkbox
   
   if defined __ goto main
   set __=.
   call "%~0" %* | darkbox
   goto:eof
   
   :darkbox
     
      If Exist "%Tmp%\cbf.4473f0b49021d9c73f1c9261ade69c28" goto:cbf.4473f0b49021d9c73f1c9261ade69c28
      (Set/p =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)<Nul>"%tmp%\cbf.4473f0b49021d9c73f1c9261ade69c28"
      :cbf.4473f0b49021d9c73f1c9261ade69c28
      >Nul Certutil -f -decode "%tmp%\cbf.4473f0b49021d9c73f1c9261ade69c28" "darkbox.exe"
     
   goto:eof
   
   :main
echo;-256ncdr
   for %%A in (0 1 2 3 4 5 6 7 8 9 A B C D E F) do for %%B in (0 1 2 3 4 5 6 7 8 9 A B C D E F) do (
      echo;0x%%A%%B "%%A%%B                ")
pause>NUL
echo;-q
exit






______________________________________________________
Coucou, tu veux voir mon Site Web ?? Mort de Rire
Visiter le site web du posteur Skype
Répondre en citant
Message [Dev] - Darkbox - TSnake41 
Xenoxis a écrit:
lb999 a écrit:
regardez moi cette vitesse ! :O

Créé par moi, Aujourd'hui : Wink

{{{DarkboxPerformances (spoiler cuz : CODE LARGE)}}}

256 lignes coloré différemment en un temps recordMort de Rire Okay

Bravo ! TS !

Darkbox n'est pas une commande externe ordinaire, elle est extraordinaire, darkbox est capable de modifier le langage Batch !


Pourquoi tant de code pour si peu ?? ^^

{{{Code DarkboxPerformance}}}


Code:

@echo off
setlocal enabledelayedexpansion
   if defined $ (echo;-256cdrn
      for %%a in (!$!) do for %%z in (!$!) do echo;0x%%a%%z "  %%a%%z   ") else (
      set "$=0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F"&(call "%~0" %*
      echo;-rq)|(darkbox)&pause)




Répondre en citant
Message [Dev] - Darkbox - TSnake41 
lb999 a écrit:
Xenoxis a écrit:
lb999 a écrit:
regardez moi cette vitesse ! :O

Créé par moi, Aujourd'hui : Wink

{{{DarkboxPerformances (spoiler cuz : CODE LARGE)}}}

256 lignes coloré différemment en un temps recordMort de Rire Okay

Bravo ! TS !

Darkbox n'est pas une commande externe ordinaire, elle est extraordinaire, darkbox est capable de modifier le langage Batch !


Pourquoi tant de code pour si peu ?? ^^

{{{Code DarkboxPerformance}}}


Code:

@echo off
setlocal enabledelayedexpansion
   if defined $ (echo;-256cdrn
      for %%a in (!$!) do for %%z in (!$!) do echo;0x%%a%%z "  %%a%%z   ") else (
      set "$=0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F"&(call "%~0" %*
      echo;-rq)|(darkbox)&pause)


T'as tout enlever, ça sert à rien ... Mr. Green




______________________________________________________
Coucou, tu veux voir mon Site Web ?? Mort de Rire
Visiter le site web du posteur Skype
Répondre en citant
Message [Dev] - Darkbox - TSnake41 
Xenoxis a écrit:
lb999 a écrit:
Xenoxis a écrit:
lb999 a écrit:
regardez moi cette vitesse ! :O

Créé par moi, Aujourd'hui : Wink

{{{DarkboxPerformances (spoiler cuz : CODE LARGE)}}}

256 lignes coloré différemment en un temps recordMort de Rire Okay

Bravo ! TS !

Darkbox n'est pas une commande externe ordinaire, elle est extraordinaire, darkbox est capable de modifier le langage Batch !


Pourquoi tant de code pour si peu ?? ^^

{{{Code DarkboxPerformance}}}


Code:

@echo off
setlocal enabledelayedexpansion
   if defined $ (echo;-256cdrn
      for %%a in (!$!) do for %%z in (!$!) do echo;0x%%a%%z "  %%a%%z   ") else (
      set "$=0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F"&(call "%~0" %*
      echo;-rq)|(darkbox)&pause)


T'as tout enlever, ça sert à rien ... Mr. Green



Code:

@(if not exist "darkbox.exe" Set/p =TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAABQRQAATAEDAAAAAAAAAAAAAAAAAOAADwMLAQYAABAAAAAQAAAAMAAAgEcAAABAAAAAUAAAAABAAAAQAAAAAgAABAAAAAAAAAAEAAAAAAAAAABgAAAAEAAAAAAAAAMAAAAAABAAABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAABQAADYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFVQWDAAAAAAADAAAAAQAAAAAAAAAAIAAAAAAAAAAAAAAAAAAIAAAOBVUFgxAAAAAAAQAAAAQAAAAAoAAAACAAAAAAAAAAAAAAAAAABAAADgVVBYMgAAAAAAEAAAAFAAAAACAAAADAAAAAAAAAAAAAAAAAAAQAAAwDMuOTEAVVBYIQ0JAgi7/dLJVSYwC/wiAABfBwAAABIAACYAAAPN/d/8VYnlgewAkFOLRQiD+AEPjjQNC2++/f8Mg8AEuQAgQABRiwhR6B8K5IPEAA+EBb531zXpA0cVAJS4PA5b9sj3bQcdE14YsFvJw2GXb9kCEgRQTOwEiWYm7O0F9CNeuIAAE/g1mBlzQwOFIfQbRw77W2nF6/kUCI1FM2Puv/guAQ4PvsAxtCMflrH/PonguQZRjU34UVX8DE04zOzgAtRIDBH32WaPjYlF/KRX/AYiKGa70FqLC10P+S1aFO5OwmEOLx4CVROJwUDbbrPgPUwIi00iEVIP+GGbw3ZDCwSYG7gKXu+d+bkzkwsMRAGmuAFO5Dt7ewk/+IkBZ1FBFJesGztmfwhfiZYWNtnKTkounxndHYRv5UghmUBQuKBhCxw7STfB2tHB0eunMbZABuRLwa7L3mFvCSsg0ylhM/O9IOmPJPcfC9gbxixgFVIJZtla+4hF98gDHgoZcbLffS80FMHgGMH4GFDr2ju8yYR1FBKGArjk2L9NDDnID4N1AuADBeI8ZMFgQZo/+EsC3c4c8vg8MwTBDAXjjF2ybXESBVfXuM54LFvGIP/nFvZmSywx40QTcrDHV4Hg/xgI4It7DvbdDfxEAcGJTfQPACRRognJzm/0WgdOLhcUsAF7B7VHCCKHvWCvalEKTBoJJeSQs4miAESycJiNEkwPhTXwaw8u2fDLC6WFyADvNL1ZHxAmEQvZBntJIwSRIewyYhgXdlgVt0/sFLFLcKeRC+qCgvsz32IEIG4Pj1IIjaD+ebKMLFsRZClkXL7L2DZhREAIYkL/EWPnNphZhkNnFpH+RrZLlmi3ckggcmVkG1nebyi6cbaR7ZLWcxaZdwjS8TGyYVz4+GoLGIyF9cv6p5j4yNOOwcz/4f9Qq1RDSJk7heKmFT0jbI/dBexhgfh7mSQe+JL9Ihsm9DSIAYE+I9nDYeuyEpUByLmz2UmRXsJQBRoKOSxZh7QQkvTYFgwiLA+UwL4DG7Dnvfs899Ic5s/1Bpa451gJm7jlPMEW0vVKI/Awjb2T3gcD9NU4a3dctwgMrIRlHCUQAc+uZITKFgKbIonKMhis3UGJKAgBdAGIzdKYG/XZhlwxBLjY2DO4CAQuCxdkMDO2JXEEUZOM+ra/Q74MuIx7BLIPvyJmg1nTuX8HDP45ogO25KQE/GZsYcBWBu8ddCDCc7sJ4wQIBfiKjxgMmXufwHE0fPnssBdbKJgI/us+t7etswUTBg0Kr8G4BtnZVfTDrK1swh4CSIRaGLIPgEYPtwUQNowQhsDAxBPCC3MtvA+2B4GagUmYsLCUJKpChAQO3wkmBFRCngSSHBjjDEJhKwtZdjsxKxtgr8sx3t8gI3ylAPYs6EEK8M5OmKV3JZwNIScxsgcDAaOk2+mWhaHU1FQgCtjuMtZ0A9zkJqwUixPN4Hiai4vf8G41/5cMtuAO4AqGAIcsJFWNbNdv2OAkBFEsgR4aRYUBLQAhpQvtXz0EfewpwQ+6icxLs/b3wP9gwsOoYIsAAQmyN2NjuGSctMOLZegRzm277ryp/wByGqSHA19j963QC8RObQiNRCSNADHA3tw2uwRkodHZpCMHDLiY7nv7RhAdFNMIZKMgXawM8hl+TyUsqgcwNDLIIIM4PEDIIIMMRExQIIMMMlRYXIMMMshghGSIDDLIIIyQlDLIIIOYnKDIIIMMpGhsIIMMMnB0eKsIwMx8AH+D//8vPwBkYXJrYm94IC0gRmFzdMtvcnRhYmx17e/+ZSBDb25zbwdJTyBTZXJ2AiFB/f//tiBpEVRlZGR5IChUU25ha2U0MSkKVXNhZ7e3/78WOiBjYWxsIGdhbWVfZmk5LmJhTnwgbW/tYF8KTVgjaW5mBm3u39y2F2lcIB0yaHR0cDovLyrB9u3/Y2gueG9vLml0L3BTNDk3LhptrW23raQ8czNnIH1yNy1ba+3tSW52YmlkIAM2Egpz23Z7ZCBOb4RvbWBuI3MQ+Lf2cGVjaYerACIAIAoNCRwR1ioCMaYyA1BgmivBv/0BU2xlZXAGR2V0U3RkSD8Pt8+CWA0FU2NyH25Ck7kS/HVmZmVyScMwG0P2TPDbdXIGclBvc2nWNRl+tsAWLxVGaWxsCf72wRZPdXRwAkNoYXJhY9y2/QFsQRxBdHRyaWIHZU6abdkHVGV4GNFtLG5Bd3tzEmNt0m2Ub2N9913XBz9zDWVtbW92QGlzZGlneXttrLEndEYQKHBoYdPNlm1fxWJmL5Jju2C7M05oB2dlEDRvd9dur7llCH9GPnNwuFjWvv92X19zIl9hcHBfdHlwD2OnO3Zzr7UsUBs+kGluQMw5991nXF9YY3B05e4MRx3h1twGRRVfaINyMyfk5VmRUEVMAQLgADTdCfkPAwsBBrAZDRAgYZNu9kALNgQHz0VPthcwnD0rK5e9ZJMQBwYA8F4FAnRPPA8sIc5wINkfgC503QchOCrY0AuQnwbI1/xv6mAuZGF0YSToIPstFzYOJ0DAGywidwAAAGaogAQAAP8AAAAAAAAAAAAAAABgvhVAQACNvuvP//9Xg83/6xCQkJCQkJCKBkaIB0cB23UHix6D7vwR23LtuAEAAAAB23UHix6D7vwR2xHAAdtz73UJix6D7vwR23PkMcmD6ANyDcHgCIoGRoPw/3R0icUB23UHix6D7vwR2xHJAdt1B4seg+78EdsRyXUgQQHbdQeLHoPu/BHbEckB23PvdQmLHoPu/BHbc+SDwQKB/QDz//+D0QGNFC+D/fx2D4oCQogHR0l19+lj////kIsCg8IEiQeDxwSD6QR38QHP6Uz///9eife5igAAAIoHRyzoPAF394A/AHXyiweKXwRmwegIwcAQhsQp+IDr6AHwiQeDxwWI2OLZjb4AIAAAiwcJwHQ8i18EjYQwAEAAAAHzUIPHCP+WPEAAAJWKB0cIwHTciflXSPKuVf+WQEAAAAnAdAeJA4PDBOvh/5ZQQAAAi65EQAAAjb4A8P//uwAQAABQVGoEU1f/1Y2HnwEAAIAgf4BgKH9YUFRQU1f/1VhhjUQkgGoAOcR1+oPsgOmg0P//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYFAAADxQAAAAAAAAAAAAAAAAAABtUAAAWFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeFAAAIZQAACWUAAAplAAALRQAADCUAAAAAAAANBQAAAAAAAAS0VSTkVMMzIuRExMAG1zdmNydC5kbGwAAABMb2FkTGlicmFyeUEAAEdldFByb2NBZGRyZXNzAABWaXJ0dWFsUHJvdGVjdAAAVmlydHVhbEFsbG9jAABWaXJ0dWFsRnJlZQAAAEV4aXRQcm9jZXNzAAAAcHV0cwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=<Nul>"%tmp%\+"&>Nul Certutil -decode "%tmp%\+" "darkbox.exe"
if defined $ (for %%o in ("%$%") do @for %%a in (%%~o) do @for %%z in (%%~o) do @echo;0x%%a%%z "  %%a%%z   ") else (
      set "$=0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F"&(echo;-256cdrn&call "%~0"&echo;-rq)|(darkbox)&pause))




Dernière édition par lb999 le Ven 2 Déc 2016 - 21:04; édité 1 fois
Répondre en citant
Message [Dev] - Darkbox - TSnake41 
Pour l'instant la commande externe est superbe, bien supportée et tout mais c'est compliqué de faire des choses intéressantes sans détection d'entrée clavier ou des clics de la souris Smile Même si je pense que tu y as déjà pensé mais ça rendrait la commande externe encore plus intéressante
Bonne continuation quand même Wink




______________________________________________________
C'est en forgeant que l'on devient un forgeron Razz
Visiter le site web du posteur
Message [Dev] - Darkbox - TSnake41 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 2
Aller à la page: 1, 2  >
  



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