Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 3
Aller à la page: 1, 2, 3  >
[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ée 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 sa 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…

EDIT2: Il est également possible d'utiliser le serveur d'entrée console :
Code:
@Echo off
if defined __ goto :game
set __=.
darkbox -i | call %0 %* | darkbox
set __=
goto :eof

:game
REM Votre code ici



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


Voici la documentation officielle de darkbox en anglais :
Code:
[lang=txt]Darkbox fully portable fast I/O server, powerfull graphic command
Fully compatible with Dos9 Project.

Syntaxes:
    1) (process, code or "launcher" part) | darkbox
    2) darkbox -i | (process, code or "launcher" part)
    3) darkbox -w t
    4) darkbox -kbh (reduced: -k)

1) Start darkbox as output server.
2) Start darkbox as input server.
3) Wait t ms.
4) Return 1 if data is available in stdin,
   should be used for non-blocking input.

   NOTE: "bh" is not required but recommended for
         "a better code", so it's just cosmetic.

Output commands passing:
    Commands pass to stdin, so any command like type, more, echo,
    <nul set/p "=text" or whatever you can imagine send command to darkbox.

    So, you can store commands to files to reuses them easly, like sprites or
    something else.

    Also, darkbox accept both new syntax ('-') and batbox/tinybg syntax ('/') to
    begin command.

Output command format:
    Commands follow this format

    -(execution_count)<commands as letters>
    REMARK: '-' can be replaced by '/'

    So each <commands as letters> run (execution_count) times (or 1 time if undefined).

    NOTES:
        - You can escape chracters (" or spaces without double quotes) with '\'
        - With double quotes, new lines are considerated as characters like any others.
        - No commands will produce an error (Parsing error: No command specified).
        - Commands should be in litterals ONLY (Parsing error: Invalid litterals)
        - Commands are case-insensitive.

    TRICK:
        You can write your commands througth multiples echoes :
            echo -5dn "This is a"
            echo      "small text"
            echo      "throught"
            echo      "multiples"
            echo      "lines"

Launcher (and working variations):
    Official launchers:

        Original (first) :
            @Echo off
            call game.bat | darkbox

        Original with Input server
            @Echo off
            darkbox -i | call game.bat | darkbox

        Enhanced (only in one file) :
            @Echo off
            if defined __ goto :(code)
            set __=.
            call %0 %* | darkbox
            set __=
            pause>NUL
            goto :eof

            "call" is facultative

        Enhanced with Input server
            @Echo off
            if defined __ goto :(code)
            set __=.
            darkbox -i | call %0 %* | darkbox
            set __=
            pause>NUL
            goto :eof

            "call" is facultative.

    Unofficial launcher (variants):
        @echo off
        if not defined $ (
            set "$=1"
            (
              call "%~f0" %*
            ) | darkbox
            exit/b
        )

Output commands reference:

    ASCII:
        -a Integer

        Usage : Print the character corresponding to the integer

    Newline:
        -n

        Usage : Go to the next line

    Color:
        -c color
        color is in hexadecimal format.

        Usage : Change the current color
               0xF0 : Background
               0x0F : Foreground

    Goto:
        -g x y

        Usage : Move cursor to (x;y)

    Hide/Show cursor:
        -h 0/1

        Usage : Hide or show cursor

    Clear Screen:
        -s

        Usage : Clear console

    Origin:
        -o x y

        Usage : Change goto origin

    Reset:
        -r

        Usage : Reset foreground and background colors

    Quit:
        -q

        Usage : Properly stop darkbox

    Wait:
        -w t

        Usage : Wait t miliseconds

        NOTE: Wait is internal to darkbox, it
              do not interrupt batch execution.

        REMARK: Wait flush stdout even if t is null.

Input callback reference:

    Mouse:
        m x y b

        x: Mouse X position
        y: Mouse Y position
        b: Mouse button

    Keyboard press:
        k key

        key: Key code.

List of supported mouse buttons :
    1: NOTHING (mouse movement)
    2: LEFT_BUTTON
    3: RIGHT_BUTTON
    4: DOUBLE LEFT_BUTTON (portability issues known (*NIX))
    5: DOUBLE RIGHT_BUTTON (portability issues known (*NIX))
    6: MIDDLE_BUTTON
    7: SCROLL_UP (portability issues known (Win32))
    8: SCROLL_DOWN (portability issues known (Win32))
    9: RELEASE

See also:
    Official post : http://batch.xoo.it/t5526-Dev-Darkbox-TSnake41.htm
    Snake game : http://batch.xoo.it/t5614-Batch-Snake-IK-DC.htm
    Exquation : http://batch.xoo.it/t5654-Batch-Exquation-IK-DC.htm

    tests for examples of uses

    C library core/core_i in "lib" directory (part of darkbox project)

    Dos9 project : dos9.org
    darkbox_i and darkbox_t



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-2017 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 <core.h>
#include <core_i.h>

#include "darkbox.h"

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

int main(int argc, char const *argv[])
{
    if (argc > 1 && (argv[1][0] == '-' || argv[1][0] == '/'))

        switch (argv[1][1]) {
       
            /* Get help */
            case '?':
                goto showHelp;

            /* Start input server */
            case 'i':
                input_server();
                return 0;

            /* Returns 1 if data is available
               in stdin otherwise, returns 0
            */
            case 'k': ;
            #ifndef WIN32
                return core_kbhit();
            #else
            /* Hopefully, Windows's kbhit take input only from Console and
               not stdin, so, we must hack to makes this working with stdin
            */
            HANDLE hin = GetStdHandle(STD_INPUT_HANDLE);
            DWORD available = 0;
            PeekNamedPipe(hin, NULL, 0, NULL, &available, NULL);
            return available;
            #endif
            
            case 'w': ;
                if (argc < 2)
                    return 1;

                int t = strtol(argv[2], NULL, 10);
                #ifdef WIN32
                Sleep(t);
                #else
                usleep(t * 1000);
                #endif
                return 0;
        }

    /* Initialize Console IO */
    core_init();

    /* Initialize buffer */
    init_buffers();

    start();

   /* Never reached */
    return 0;

    showHelp:
        puts("darkbox - Fast Portable Console IO Server - Astie Teddy (TSnake41)\n"
             "Syntaxes : \n"
          "  1: (code) | darkbox\n"
          "  2: darkbox -i | (code)\n"
          "  3: darkbox -w t\n"
          "  4: darkbox -k\n\n"
          " 1: Start darkbox as output server\n"
          " 2: Start darkbox as input server\n"
          " 3: Wait t ms\n"
          " 4: Return a non-nul value if data is avaialble in stdin.\n\n"
          "NOTE: darkbox support both '-' and '/' as command prefixes.\n"
          "For more information, see README or http://batch.xoo.it/p41497.htm\n");
        return 0;
}

/* Staticaly allocate buffers, this
   avoid repetitive memory allocations
*/
void init_buffers(void)
{
    text_buffer = malloc(MAX_TEXT_LENGTH);
    if (text_buffer == NULL)
        goto alloc_fail;

    command_buffer = malloc(MAX_COMMAND_SIZE);
    if (command_buffer == NULL)
        goto alloc_fail;

    return;

    alloc_fail:
        fputs("ERROR: Allocation failed\n", stderr);
        exit(1);
}

void free_buffers(void)
{
    free(text_buffer);
    free(command_buffer);
}

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)
{
    int i;
    for (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
                    */

                    free_buffers();
                    exit(0);
                    break;

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

                    #ifdef WIN32
                    /* Windows always flush stdout (of
                       course, this made console slower)
                    */
                    Sleep(read_int());
                    #else
                    /* Flush stdout on *NIXes because they use
                       buffers. On DJGPP, this behavior works
                    */
                    fflush(stdout);

                    usleep(read_int() * 1000);
                    #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'

                        Deprecated: Replaced by -e in darkbox_t

                        type test.txt | darkbox_t -e
                */
            }

            str++;
        }
    }
}

/* Start input server */
void input_server(void)
{
    core_input_initialize(1);
    input_event_t e;

    while (!feof(stdin)) {
        core_input_get_event(&e);

        switch (e.type) {
            case KEY_PRESS:
                printf("k %d\n", e.key_press);
                break;

            case MOUSE:
                printf("m %d %d %d\n", e.mouse.x, e.mouse.y, e.mouse.b);
                break;
        }
       
        fflush(stdout);
    }

    core_input_terminate(1);
}
/* 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 Mer 10 Mai 2017 - 12:17; édité 20 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 =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<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




______________________________________________________

Message [Dev] - Darkbox - TSnake41 


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



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