begin process at 2012 02 10 02:15:37
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > WAIT UN UTILITAIRE POUR FAIRE DES PAUSES DANS LES BATCH (C)

WAIT UN UTILITAIRE POUR FAIRE DES PAUSES DANS LES BATCH (C)


 Information sur la source

Note :
5 / 10 - par 1 personne
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Niveau :Débutant Date de création :23/07/2003 Date de mise à jour :23/07/2003 12:56:25 Vu :6 865

Auteur : egd

Ecrire un message privé
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

Les boucles dans les batch bouffent le processeur. ce petit programme evite cet inconvenient et affiche en plus un truc qui tourne.

Source

  • /*
  • Name: Wait.exe
  • Author: egd
  • Description: utilitaire command line pour faire des
  • pauses dans les batch
  • Copyright: domaine public
  • Exemple d'utilisation:
  • Directory watcher en dos!
  • @echo off
  • REM Exemple de directory-watcher avec Wait
  • :START
  • if exist test\*.txt goto PROCESS
  • wait 3
  • REM Wait evite de bouffer tout le processeur dans la boucle
  • goto START
  • :PROCESS
  • move test\*.txt .
  • REM on peut faire ici ce qu'on veut du fichier
  • goto START
  • REM il faut utiliser CTRL C pour sortir
  • REM lancer le batch et balancer un fichier txt dans test
  • */
  • // les includes
  • #include <stdio.h>
  • #include <time.h>
  • // la fonction Wait affiche un truc qui tourne pendant l'attente
  • int Wait(int NbSec)
  • {
  • time_t Time_Start, Time_End, Time;
  • int i;
  • char *Buffer[]= {"-", "\\", "|", "/"};
  • time(&Time_Start);
  • for(Time_End = Time_Start + NbSec; Time < Time_End; time(&Time))
  • for(i=0; i<4; i++)
  • {
  • sleep(200);
  • printf("%s\r", Buffer[i%4]);
  • }
  • return 0;
  • }
  • int main(int argc, char *argv[])
  • {
  • int NbSec=0; // Nombre de secondes à passer en argument
  • if(argc > 1)
  • NbSec = atoi(argv[1]);
  • if (NbSec <= 0)
  • {
  • NbSec = 1; // default = 1 seconde
  • printf("Usage: %s [Number_of_second]\n\n", argv[0]);
  • // on peut aussi virer le printf
  • }
  • Wait(NbSec);
  • return 0;
  • }
/* 
   Name:          Wait.exe
   Author:        egd
   Description:   utilitaire command line pour faire des
                  pauses dans les batch
   Copyright:     domaine public

   Exemple d'utilisation:
   Directory watcher en dos!

@echo off
REM Exemple de directory-watcher avec Wait

:START
if exist test\*.txt goto PROCESS
wait 3
REM Wait evite de bouffer tout le processeur dans la boucle
goto START

:PROCESS
move test\*.txt .
REM on peut faire ici ce qu'on veut du fichier
goto START

REM il faut utiliser CTRL C pour sortir
REM lancer le batch et balancer un fichier txt dans test

*/

// les includes
#include <stdio.h>
#include <time.h>

// la fonction Wait affiche un truc qui tourne pendant l'attente
int Wait(int NbSec)
{
  time_t Time_Start, Time_End, Time;
  int i;
  char *Buffer[]= {"-", "\\", "|", "/"};

  time(&Time_Start);
  for(Time_End = Time_Start + NbSec; Time < Time_End; time(&Time))
     for(i=0; i<4; i++)
     {
       sleep(200);
       printf("%s\r", Buffer[i%4]);
     }
  return 0;
}

int main(int argc, char *argv[])
{
  int NbSec=0;  // Nombre de secondes à passer en argument

  if(argc > 1)
     NbSec = atoi(argv[1]);

  if (NbSec <= 0)
  {
     NbSec = 1; // default = 1 seconde
     printf("Usage: %s [Number_of_second]\n\n", argv[0]);
     // on peut aussi virer le printf
  }

  Wait(NbSec);
  return 0;
}


 Conclusion

Compilé avec Dev-C++


 Sources de la même categorie

Source avec Zip SCHEDULER RR FIFO par yvesB87
Source avec Zip ALGORITHMES RÉCURSIFS VS ALGORITHMES ITÉRATIFS par yvesB87
Source avec Zip Source avec une capture C++ FORMAT D'IMAGE AVEC QT par pop70
Source avec une capture EXEMPLE DE POINTEURS DE FONCTION par pop70
Source avec Zip Source avec une capture [C++] CLASS REGISTER par Miwik

Commentaires et avis

Commentaire de WaFFel le 23/07/2003 13:52:00

Je vois pas vraiment a koi sert ton programe parce que dans un fichier batch tu peux i dire la commentde sleep ou pause il les comprend le dos donc pkoi fair un prog comme sa si i a dejas les commende :S:S:S:S

Commentaire de egd le 23/07/2003 14:03:34

La commande sleep n'existe pas et pause attend qu'on tape sur une touche.
L'idée est de pouvoir faire des boucles en dos sans bouffer le processeur. Si tu lance mon batch d'exemple sans le wait, le proc est bouffé presque à 100%
@+
egd

Commentaire de WaFFel le 23/07/2003 18:50:52

okkkkkk je comprend mais dsl pour le sleep c'est un Qbasic ou en c++ :S

Commentaire de egd le 23/07/2003 19:21:36

C'est aussi un mystere pour moi. J'ai seulement trouvé la déclaration suivante dans stdlib.h de Dev-C++ :
void _sleep (unsigned long ulTime);
Il y a aussi un Sleep dans winbase.h
En tout cas ça marche!
Si quelqu'un peut m'expliquer comment une fonction qu'on ne trouve déclarée nullepart peut marcher et ou se documenter pour de telle fonctions, welcome!
egd

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,059 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales