Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[C] Xenobox - IK DC
Auteur Message
Répondre en citant
Message [C] Xenobox - IK DC 
Bonjour à tous/toutes ! Wink

Je vous présente ma première commande externe en C : Xenobox

Il s'agit d'un batbox like avec quelques fonctionnalités en plus/moins, j'ai voulu ajouter quelques fonctions dur à faire en batch mais fortes utiles Okay
J'ai tenté de faire une commande optimisé et peu volumineuse (actuellement elle fait 3ko).

Xenobox est d'ailleurs 60% plus rapide que batbox en utilisant le même système de réception de commandes (en arguments).


Code:

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

void Help();

int main(int argc, char *argv[])
{
    if (argc <= 1) {
        Help();
        return 1;
}
        unsigned char* Command;
    for (int a=1; argv[a]; a++)
    {
        if (argv[a][0]=='/'||argv[a][0]=='-') {
            Command=argv[a]+1;
        } else {Help();return 1;}

        if (strcmp("t",Command)==0) {
            a++;
            SetConsoleTitle(argv[a]);
            continue;
        }
        if (strcmp("?",Command)==0) {
            Help();
            continue;
        }
        if (strcmp("n",Command)==0) {
            printf("\n");
            continue;
        }
        if (strcmp("d",Command)==0) {
            a++;
            printf("%s",argv[a]);
            continue;
        }
        if (strcmp("g",Command)==0) {
            COORD Position;a++;
            Position.X=atoi(argv[a]);a++;
            Position.Y=atoi(argv[a]);
            SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),Position);
            continue;
        }
        if (strcmp("w",Command)==0) {
            a++;
            Sleep(atoi(argv[a]));
            continue;
        }
        if (strcmp("gl",Command)==0) {
            a++;
            printf("%d\n",strlen(argv[a]));
            continue;
        }
        if (strcmp("a",Command)==0) {
            a++;
            printf("%c",atoi(argv[a]));
            continue;
        }
        if (strcmp("sbl",Command)==0) {
            a++;
            for (int word=0;strlen(argv[a]) >= word; word++) printf("%c\n",argv[a][word]);
            continue;
        }
        printf("\n%s is not a valid argument !\n",argv[a]);
    }
    return 0;
}

void Help()
{
    printf("\nXenoBox - By IK DC-Xenoxis

Commands :

Prefix all commands with '/' or '-'

? : Show this help
g X Y : Set cursor position
n : Newline
d text : Echo some text without newline
t title : Set console title
gl text : Get length of text
sbl text : Echo every characters on every new lines
w ms : Wait a time in milliseconds

Thanks to TSnake and Darkbatch for their big help
Enjoy :)\n");
    return;
}



Voici le lien de téléchargement (version 1.1): cliquez-ici




Version 1.0 : Arguments (?,g,n,d,t,gl,sbl) disponibles
Version 1.1 : Argument (w) disponible




Je n'hésiterais pas à la mettre à jour Okay
Bien évidemment, il n'y a pas de concurrence avec darkbox Rolling Eyes , cette commande est un tout premier lieu un test de ma part. Mr. Green

Encore un grand merci à Darkbatcher ainsi qu'à TSnake pour leurs aides ! Laughing



Dernière édition par Xenoxis le Dim 5 Mar 2017 - 19:40; édité 1 fois

______________________________________________________
Coucou, tu veux voir mon Site Web ?? Mort de Rire
Visiter le site web du posteur Skype
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [C] Xenobox - IK DC 
Mise à jour en version 1.1 : ajout de 'w' pour attendre un temps en millisecondes Okay

Edit : Code source non mis à jour Laughing corrigé ! Okay




______________________________________________________
Coucou, tu veux voir mon Site Web ?? Mort de Rire
Visiter le site web du posteur Skype
Message [C] Xenobox - IK DC 


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