begin process at 2012 05 30 17:39:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

sortir d'une boucle


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

sortir d'une boucle

lundi 1 août 2005 à 22:02:25 | sortir d'une boucle

adeteine

Salut,
J'ecris un petit logiciel de compte à rebours spécifique avec un bouton start et un bouton stop sur visual c++ 6.0. En cliquant sur start, mon compte à rebours commence sans problème. Mais comment le stopper correctement quand je clique sur stop ? . Voici un extrait
void CDecompteDlg::OnOK()
{
 // TODO: Add extra validation here
 while (stop==0)
 {
  if (m_boucle==FALSE)
  {
   CDecompteDlg::OnButton1(); //timer1
   CDecompteDlg::OnButton2(); //timer2
   return;
  }

  else
  {
   for(;;)
   {
    CDecompteDlg::OnButton1();
    CDecompteDlg::OnButton2();
   }
  }
 }
 Sleep(1000);
 stop=0;

}

void CDecompteDlg::OnStop()
{
 // TODO: Add your control notification handler code here
 stop=1;
 UpdateData(TRUE);

 }
merci pour votre aide

mardi 2 août 2005 à 09:40:40 | Re : sortir d'une boucle

mondrone

Membre Club
La si je ne m'abuse tu remet stop=0 a chaque passage apres le while(stop==0) donc l'action du stop=1 quand tu appui sur le bouton stop doit freiner ton décompteur pour un tour ensuite il repart normalement non ?


  Qui ne tente rien...
  Ne risque pas d'avoir grand chose !!!

mardi 2 août 2005 à 10:09:57 | Re : sortir d'une boucle

buno

Administrateur CodeS-SourceS
Ce que je ferais:

- j'ai une variable compteur initialisé à 10 par exemple
- dans la procédure OnOK(), je lance un timer qui réagira toutes les secondes (1000 millisecondes): timer=SetTimer(hWnd,NULL,1000,NULL);
- dans la procédure OnTimer(), je décrémente mon compteur (et je l'affiche éventuellement). Quand le compteur arrive à zéro, je le fais savoir et j'arrête le timer en faisant KillTimer(timer);
- dans la procédure OnStop(), je veux arrêter "brutalement" le compteur donc je fais juste un KillTimer(timer);


Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
mardi 2 août 2005 à 18:45:48 | Re : sortir d'une boucle

adeteine

Justement, MONDROME, le fait de mettre STOP=1 n'arrete pas mon decompte mais fait planter le programme. Je fais essayer la méthode de BRUNO, sinon je fais faire un test de la valeur de STOP dans mes différentes boucle car en fait si la condition du while est passée, la valeur de STOP ne réagit plus car elle n'est pas testée par la suite. Merci pour vos réponses et on reste en contact
mardi 2 août 2005 à 18:53:35 | Re : sortir d'une boucle

vecchio56

Administrateur CodeS-SourceS
Un affreux goto te simplifierait la vie, quoi qu'on puisse en dire
mardi 2 août 2005 à 19:20:20 | Re : sortir d'une boucle

mondrone

Membre Club
vecchio56, je tien juste a rappeler que le GOTO, si affreux soit-il yen a plein dans n'importe quel programme, car en assembleur c'est le seul moyen que tu as pour faire une boucle ou même un simple if then else. Le goto n'est pas AFFREUX, il empêche juste une bonne tracabilité du programme au moment du débeug.


  Qui ne tente rien...
  Ne risque pas d'avoir grand chose !!!

mardi 2 août 2005 à 20:12:00 | Re : sortir d'une boucle

vecchio56

Administrateur CodeS-SourceS
Si je le trouvais si affreux je ne lui conseillerais pas de l'utiliser, tu crois pas? J'ai dis affreux pour me préparer à des réponses, car en général les personnes on la réaction inverse de la tienne. Ca veut pas dire non plus que je suis d'accord avec toi, je l'utilise le moins possible. Je vois que tu es étudiant à l'ISEN. Est-ce qu'un seul de tes professeurs t'a déja conseillé d'utiliser le goto en C?
mardi 2 août 2005 à 20:35:59 | Re : sortir d'une boucle

mondrone

Membre Club
Non, je n'ai pas dit qu'il fallait l'utiliser et au contraire moi même je ne l'utilise plus jamais car comme dises justement mes profs, on peut toujours se débrouiller avec des boucles.
Je disais ca à propos de Goto paske avant l'ISEN, g fait un DUT en elec et info indus, donc g appris l'asm, et g pu voir avec un certain paradoxe que toutes les commandes qu'on nous dit d'utiliser à la place des gotos sont faites elles-mêmes avec des gotos.


  Qui ne tente rien...
  Ne risque pas d'avoir grand chose !!!

mardi 2 août 2005 à 20:59:09 | Re : sortir d'une boucle

adeteine

Ne vous batttez pas, effectivement, je suis de la génération GOTO également. Alors xomment voyez-vous les choses ? Où mettre le GOTO ? Je ne vois pas ce que ça va changer. N'oublions pas qu'il faut que j'appuie sur STOP pour arréter le décompte, donc arréter une boucle. J'attends vos réponses pour tester les différentes solutions. Merci encore


Cette discussion est classée dans : boucle, stop, compte, sortir, cdecomptedlg


Répondre à ce message

Sujets en rapport avec ce message

bouton stop [ par rlope ] BonjourJ'ai un petit problème avec un bouton STOP que je voudrais créer. (Visual C++ boite de dialogue)Explication :Avec un bouton de ma boite de dial detecter la pression d'une touche [ par ben01n ] salut toutle mondej'ai un prog qui effectue une boucle infinie avec des instructions à l'interieurmon problème est que je voudrais pouvoir appuyer sur Sortir d'une boucle dès qu'une touche est pressée [ par admax74 ] Bonjour,J'ai dans mon programme une boucle dont j'aimerais sortir dès que la touche espace par exemple est pressée.ainsi:code:do{// ma boucle sortir d'une boucle while infinie avec un bouton [ par bertrandbasch ] Bonjour,En fait je voudrai pouvoir lancer une boucle while à l'aide d'un bouton 1 qui pourrait être stoppé à l'aide d'un bouton stop.Il me faut cette Sortir proprement d'une boucle [ par superjabar ] Bonjour à tous, j'ai un problème avec un code de calcul de valeur optimale. C'est un algorithme de recherche stochastique du même type que le recuit malloc induit une boucle infinie [ par macburn ] Bonjour tout le monde ! Pour mon premier message, j'aimerai mettre en évidence un problème assez étrange dont je ne parviens pas a m'extirper... J'a projet en language C [ par bassekoa ] j'ai un projet en language C a effectué;je demande de l'aide;le voici: Projet Le but de cette série du projet est d’écrire un programme boucle sans arret [ par nassim1987 ] bonjour, j'ai un petit problème dans un code que j'écris en c, voila la partie où est situé le problème. for( i=0;i<Height+2;i++){ for( j=0 probléme sur une boucle [ par andoid ] bonjour! dans la correction de tp j'ai vu cette boucle que j'arrive pas comprendre while(*s != 0) { for(;isspace(*s);s++); i Decrement : en fonction d'une variable [ par marshallino16 ] Bonjour à tous, J'ai un souci très bête mais j'arrive pas à mettre le doigt sur une logique simple de boucle pour le résoudre. Je vous explique, j


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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 : 0,343 sec (3)

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