Se connecter avec
S'enregistrer | Connectez-vous

créer un faux chargement dans un batch (ms-dos)

Dernière réponse : dans Programmation
Lassé par la pub ? Créez un compte

Ben deja quel est le language que tu utilise ?
Et sinon c'est ça la programmationfaut en chier ^^, si on te donnait le code sur un plateau ça serait trop simple . J'ai jamais essayer de faire de fausse barre de chargement mais tu peux surement gerer ça avec des timers si tu compte faire ça en C/C++.

Du C++ ? Perdu c'était du C, puis il était pas tout à fait correct, celui là marche

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. int main(void)
  6. {
  7. int i;
  8. for (i = 0; i < 100; i++)
  9. {
  10. system("CLS");
  11. printf("%d%c",i,37);
  12. sleep(1000);
  13. }
  14. return 0;
  15. }


Tu veux du batch ? Ben t'auras pas du batch parce que moi pas faire du batch. Donc ce que tu peux faire c'est sois compilé mon code source, sois prendre ton courage à deux mains et le retranscrire en batch
Expert Programmation

Pour attendre une seconde:
  1. ping 127.0.0.1 -n 2 > NUL


Pour attendre 10 secondes:
  1. ping 127.0.0.1 -n 11 > NUL


et plus généralement:
  1. ping 127.0.0.1 -n NOMBRE > NUL

où NOMBRE est le nombre de secondes d'attente + 1

EDIT: en fait c'est pas un time-out, c'est l'attente entre 2 envois de ping qui est exploité ;-)

Rohlala qu'est ce que c'est dûr de compiler un code source en C. Tu télécharges un IDE comme CodeBlocks par exemple, tu crées un nouveau projet console, tu crées un fichier main.c, tu fous ce code source dans ce fichier, puis tu fais Compiler & Executer (Build & Run)
Magique
Expert Programmation

Citation :

rototo10 a écrit :
merci mais je veut un compte a rebour


merci kan meme @++

Je t'ai donné ce qu'il faut pour attendre une seconde !
Après tu peux faire ton compte à rebours, puisque le principal problème du batch était de faire l'attente...

Citation :

rototo10 a écrit :
merci mais je vois pas comment le telecharger

(suis vraiment chient) @+


Tu te fous de notre gueule et en plus tu l'avoues toi même. C'est bizarre car il m'a fallu taper CodeBlocks sur google et comme par hasard (vraiment du pur hasard) je suis tombe sur le site de codeBlocks dés le premier (trop fort)

Code Blocks IDE

Et pas d'excuse du genre c'est en anglais j'y comprends rien etc etc. Si tu veux un autre IDE que tu peux mettre en français tu télécharges Dev-C++
Expert Programmation

-n 1 indique que tu n'envoie qu'un paquet. donc il n'y a pas d'attente car celle-ci est faite entre les lancements de paquets.
Donc ça ira très vite.
Par contre tu peux changer le nombre de boucles dans le for. Par exemple (0, 33, 99) qui fera les boucles 0, 33, 66, 99 (4 secondes).
Expert Programmation

Si tu veux que ma barre de progression corresponde bien à l'installation, ce n'est pas possible.
Si tu sais que ça prend 10s par exemple, tu lance ton prog avec un "start" et tu fait la progress bar de 20s (faut prévoir une bonne marge au cas où).
Expert Programmation

D'ailleurs, on peut remarquer que beaucoup de barres de progression sont fausses.
Perso, il m'arrive souvent d'avoir des barres de progression qui reste 10 fois plus de temps sur 100% que sur n'importe quel autre pourcentage ! :) 
Donc, si ça met 10 secondes, tu peux mettre même un peu moins, et tu laisses affiché 100%...
Expert Programmation

Oui, beaucoup de programmeurs font cette erreur de mettre une barre de progression quand on ne peut pas identifier les étapes. Il suffit de mettre une animation pour montrer que ça n'a pas crashé :) 

ça fait effectivement partie des fakes les plus courants :D 

Voici une barre de progression en batch de ma création !
Mais, comme dis ci-dessus, c'est juste de l'animation ...

  1. @echo off
  2. title Progress_bar ^| By STRYK ^|
  3. mode con cols=65 lines=9 &color 0A
  4. :: stryk@live.fr
  5. set NB_BAR=0
  6. :UP_BAR
  7. cls
  8. set /a FULL = FULL + 1
  9. set BAR=%BAR%Û
  10. set /a NB_BAR = NB_BAR + 2
  11. echo.
  12. echo.
  13. echo Chargement .... %NB_BAR%%%
  14. echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
  15. echo %BAR%
  16. echo %BAR%
  17. echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
  18. echo.
  19. if %FULL%==50 goto :END_BAR
  20. @ping localhost -n 1 >nul
  21. goto :UP_BAR
  22. :END_BAR
  23. pause>nul
Lassé par la pub ? Créez un compte
Tom's guide dans le monde