Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2025 connectés 

  FORUM HardWare.fr
  Programmation

  Comment casser l'éxécution d'une boucle en C++ ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment casser l'éxécution d'une boucle en C++ ?

n°23027
LMF
///Miste & TDSiste
Posté le 06-04-2001 à 18:12:43  profilanswer
 

Comment casser l'éxécution d'une boucle en C++ (Borland C++ builder 5) ? SVP

mood
Publicité
Posté le 06-04-2001 à 18:12:43  profilanswer
 

n°23029
verdoux
And I'm still waiting
Posté le 06-04-2001 à 18:14:14  profilanswer
 

break ?

n°23030
wouatouwou​atou
Posté le 06-04-2001 à 18:15:05  profilanswer
 

koi ??!! ca marche plus le bon vieux break ?? ou c t ptetre exit... hmmm... c le week-end et mon neurone est déjà parti :D

n°23033
bjone
Insert booze to continue
Posté le 06-04-2001 à 18:24:16  profilanswer
 

break, ou un bool qui contrôle
bah le bon vieux goto...
for/while
{
if( tamer )
  break; ou goto tchao;
}
 
tchao: ; /// si goto  
 
peut être utile, mais les profs détestent ;) mdr
 
c toi qui voit

n°23035
LMF
///Miste & TDSiste
Posté le 06-04-2001 à 18:41:05  profilanswer
 

Je comprend que moyennement, que signifie "tameré ?

n°23036
JWhy
je peux plier (héhé)
Posté le 06-04-2001 à 18:45:13  profilanswer
 

:lol:
 
c'est rien, c'est juste ta condition pour savoir si tu dois sortir de ta boucle !


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°23042
LMF
///Miste & TDSiste
Posté le 06-04-2001 à 19:08:39  profilanswer
 

en effet, c'est tout bete :ouch:

n°23069
darkoli
Le Petit Dinosaure Bleu
Posté le 06-04-2001 à 22:41:59  profilanswer
 

y'a aussi return c'est un peu viloent comme interruption de boucle mais bon ... (attention, ca arrete aussi la fonction ou se trouve la boucle).
 
Sinon il y 'a :
  char* toto=(char*)NULL;
  *toto=0;

n°23074
End-i
Posté le 06-04-2001 à 22:51:52  profilanswer
 

tout simplement:
 
while (!fini)
{
  instructions
}
 
 ;)
 
où "fini" est un bool

 

[edit]--Message édité par End-i--[/edit]

n°23108
cybermds
Cybère aime déesse
Posté le 07-04-2001 à 18:09:10  profilanswer
 

l'instruction last; marche t'elle???
 
last if(condition);


---------------
Vous n'avez pas visiter infomatériel??? Dites-vous que vous payez trop cher! Plus de 300 items dans plus de 100 commerces!!! Un must, une première québecoise!
mood
Publicité
Posté le 07-04-2001 à 18:09:10  profilanswer
 

n°23134
BifaceMcLe​OD
The HighGlandeur
Posté le 08-04-2001 à 03:42:41  profilanswer
 

Cybermds> Non pas en C++. Mais on peut la simuler. En définissant la macro suivante:
    #define EXIT_WHEN(condition)  if (condition) break
on peut ensuite écrire dans sa boucle:
    EXIT_WHEN(ma-condition-de-sortie-est-vérifiée);

n°23141
verdy_p
Posté le 08-04-2001 à 10:44:03  profilanswer
 

Dans le même genre, les boucles Pascaliennes:
#define REPEAT         do {
#define UNTIL(cond)    } while(!(cond))

n°23224
LMF
///Miste & TDSiste
Posté le 09-04-2001 à 10:47:47  profilanswer
 

j'ai juste un petit probleme : Pour arreter et lancer  la boucle, j'ai fait une checkbox mais le probleme est qu'une fois la boucle lancéé, je peux plus décocher la chekbox et donc je peux plus l'arreter!

n°23225
slaanesh
Rebellz ken tu nous tiens....
Posté le 09-04-2001 à 10:53:45  profilanswer
 

bah pkoi tu peux plus décocher la checkbox ??? t'as plus accès à l'objet représentant ta checkbox ???


---------------
Ne remets pas à demain ce que tu peux faire après-demain ! :sol:
n°23229
Combi_A_Ve​ndre
Posté le 09-04-2001 à 10:57:09  profilanswer
 

Le goto est particulièrement crade car tu ne dépileras jamais l'adresse d'entrée dans la boucle.
 
vw


---------------
The best way to accelerate a computer running windows is at 9.8m.s-2
n°23240
LMF
///Miste & TDSiste
Posté le 09-04-2001 à 11:41:48  profilanswer
 

si durant l'éxécution , je la vois toujours mais je clique dessus, ca fait rien ! :fou:

n°23330
BENB
100% Lux.
Posté le 09-04-2001 à 14:56:58  profilanswer
 

LMF a écrit a écrit :

si durant l'éxécution , je la vois toujours mais je clique dessus, ca fait rien ! :fou:




Ce qui est normal non ?
 
Je ne comprend pas le Probleme.
Il n'y a qu'un thread, comment prend-t-il en compte la valeur du controle ?
 
C'est vrai que avec un bout de code ce serait peut-etre plus simple.
 
Il ne faut pas croire a la magie.  
A quoi sert ta boucle ?

n°23409
LMF
///Miste & TDSiste
Posté le 09-04-2001 à 16:53:20  profilanswer
 

voici super résumé mon code ;
 
int a;
a=0;
while (CheckBox1->Checked==true)
{a=a+1;
Canvas->TextOut(100,10,FloatToStr(a));
// histoire de remplir la boucle, en realité, mon code éffectue un tri mais peut importe, c'est pas de la que vient le probleme.
};
 
Bilan => une fois lancé on peut plus décocher et donc plus arreter la boucle.

n°23415
MiniCooler
Posté le 09-04-2001 à 17:10:02  profilanswer
 

c'est normal, tu prog (et donc le thread principal) reste bloqué dans l'éxécution de ta boucle et il ne peux plus réagir aux actions de l'utilisateur; tes clicks de souris ne pourront être pris en compte que lorsque tu sortira de cette boucle ...


---------------
SetiCommander, le setiseur à la chaîne ...
n°23421
WiseTechi
Posté le 09-04-2001 à 17:20:55  profilanswer
 

Salut,
 
tu peux essayer d'ajouter un Sleep(0) (ou équivalent) dans ta boucle, histoire de redonner un peu la main à ton autre thread qui gère les événements du genre clic de souris etc....
Ca produit à peu près le même effet qu'un yield() en java
 
A++

n°23428
MiniCooler
Posté le 09-04-2001 à 17:27:05  profilanswer
 

pour l'avoir essayé, le sleep(0); n'arrange rien; il te faut soit couper ton prog en 2 thread, soit ajouter un bout de code dans ta boucle permettant à ton appli de répondre aux messages (genre click de souris)
 
ce bout de code ressemble à ceci :
 
// Read all of the messages in this next loop,  
// removing each message as we read it.
while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))  
{  
    // Dispatch the message.
    DispatchMessage(&msg);
} // End of PeekMessage while loop.


---------------
SetiCommander, le setiseur à la chaîne ...
n°23483
faldornfam​ily
Posté le 09-04-2001 à 20:22:50  profilanswer
 

sous delphi tu résous ce problème en insérant dans ta boucle un application.processmessages, sous builder cela doit etre application->processmessages.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  Comment casser l'éxécution d'une boucle en C++ ?

 

Sujets relatifs
C++ et boucle for : conventionVB : Additions de tableaux sans boucle
Comment connaitre le temp d'éxécution d'une boucle en C++ ?Execution d'une macro dans powerpoint:
[ASP]Execution d'une page ASP sur un autre server[Moteur php] Comment stopper l'execution d'un script ??
[ASP] Utilisation de RECORDCOUNT & boucle avec creation de variableéxecution d'un vbs par sqlserver avec whs
API - Est il possible de définir un temps d'execution d'une fonction 
Plus de sujets relatifs à : Comment casser l'éxécution d'une boucle en C++ ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR