begin process at 2012 05 30 19:52:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

while (1) ?!?


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

while (1) ?!?

vendredi 9 avril 2004 à 19:55:27 | while (1) ?!?

grems

Salut !

J'ai une boucle while(1) à mettre dans mon prog pour qu'il tourne en permanence, je dois la metttre dans le WinMain autour de mon DialogBox ou dans le AppDlgProc autour de tout mon bordel ??



des chercheurs on en trouve mais des trouveurs, ça ......


Attention !! ne me mouillez po ! il parait ke je deviendrait méchant ...
vendredi 9 avril 2004 à 20:04:53 | Re : while (1) ?!?

JCDjcd


non pas dans le Winmain, car la fonction DlgBox n'aura pas fini d'etre executer, et si donc ta DlgProc, non plus car Win32 ne fonction pas comme cela, essaye peut etre les timers
vendredi 9 avril 2004 à 20:12:27 | Re : while (1) ?!?

grems

Pourtant quand j'utilisai un simple "main" avec des instructions en printf, avec une boucle qhile(1) ca s'exécutai très bien . tu es sûr kon ne peu pa insérerle while(1) dans le DlgProc?????



Attention !! ne me mouillez po ! il parait ke je deviendrait méchant ...
vendredi 9 avril 2004 à 20:16:53 | Re : while (1) ?!?

PunkDude424

On programme windows n'a pas du tout la meme structure q'un programme console, tu n'a pas besoin de faire une boucle, et tu ne doit pas, pour que celui-ci n'arrete pas, le winmain doit appler ta dialog principale qui elle appellera c'est enfants, quand la dialog principale se fermera, le programme va se fermer
vendredi 9 avril 2004 à 20:39:23 | Re : while (1) ?!?

grems

Il est bien là le pb : je n'ai qu'une fenêtre qui s'ouvre dans des conditions bien particulières et à n'importe quel moment !!! je sui donc obligé de mettre une boucle while quelque part !!!!
vendredi 9 avril 2004 à 20:43:22 | Re : while (1) ?!?

PunkDude424

quel sont les condition??? par exemple quand lusager bouge la souris une dialog doit safficher ??? Alors tu dois récupérer le message dans DefWindowProc, quand un evenement se preduit le defwindowproc le recoit, et ta juste a le traiter la dedans
vendredi 9 avril 2004 à 20:44:16 | Re : while (1) ?!?

DeAtHCrAsH

AVec un while(1) tu vas bouffer toute les ressources du PC...
Mets ton code ici ca sera plus facile pour nous de trouver une solution optimale a ton programme!

--=[DeAtH_-_CrAsH]=--
vendredi 9 avril 2004 à 20:55:37 | Re : while (1) ?!?

grems

Je m'en sui rendu compte ... :)
mon PC n'a pas aimé :))))))


ok le principe est simple:
scanner un dossier et s'il y a des nouveaux *.hd qui sont arrivés, m'alerter en ouvrant une boite de dialogue et jouer de la musique . ca vou parrai surement tout con mai ca a ses difficultés pour moi qui sui débutant :), et ca a ses utilités !

Merci à tous de vos conseils !!!


#include <fstream>
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <stdio.h>
#include <mmsystem.h>
#pragma comment (lib,"winmm.lib") //librairie => playsound
#include "resource.h"


using namespace std;
int new_nb=0,old_nb=0;


LRESULT CALLBACK MainProc(HWND Dlg,UINT mssg,WPARAM wParam,LPARAM lParam);

int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{

while(1){

DialogBox(hInstance,MAKEINTRESOURCE(IDD_DIALOG1),0,(DLGPROC)MainProc);

/* HWND hDlg;
hDlg=CreateDialog(hInstance,(LPCTSTR)IDD_DIALOG1,NULL,(DLGPROC)MainProc);
ShowWindow(hDlg,SW_SHOW);
MSG msg;
while(GetMessage(&msg,hDlg,0,0)==TRUE)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
*/ }

return 0;
}

LRESULT CALLBACK MainProc(HWND Dlg,UINT message,WPARAM wParam,LPARAM lParam)
{
int Select;
HANDLE hd;
WIN32_FIND_DATA w32hd;

int nb=0; //nombre de fichiers *.hd
char leshd[256] = "*.hd"; //tableau stockant les fichiers *.hd
//prendre le 1er fichier
hd = FindFirstFile ( leshd, &w32hd );
//si il y a un autre fichier recommencer l'operation
while (FindNextFile( hd, &w32hd)) nb++;
//si il y a des fichier avec l'extension .hd
if (hd!=INVALID_HANDLE_VALUE) new_nb = nb;



//affichage du message
switch(message)
{
case WM_INITDIALOG:
//si la nouvelle valeur de nb est différente de l'ancienne valeur (+ de .hd)
if (new_nb >> old_nb){
SetClassLong(Dlg, GCL_HICON, (long)LoadIcon(0, IDI_APPLICATION));
}
else EndDialog(Dlg,0);
return 1;
case WM_COMMAND:
Select=LOWORD(wParam);
switch(Select)
{
case IDOK:
EndDialog(Dlg,0);
PostQuitMessage(0);
return TRUE;
}
break;
default:
return FALSE;
}
Sleep(10000);
//mise à jour de nb
old_nb = new_nb;

}



vendredi 9 avril 2004 à 20:59:18 | Re : while (1) ?!?

grems

Précision: Je voudrai scanner le dossier toutes les minutes environ

et seulement de 22h à 0h ==> si ca peu aider à trouver une solution je vou en serai trè reconnaissant
vendredi 9 avril 2004 à 21:20:02 | Re : while (1) ?!?

LordBob

Membre Club
remplace ce code:

int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{

while(1){

DialogBox(hInstance,MAKEINTRESOURCE(IDD_DIALOG1),0,(DLGPROC)MainProc);

/* HWND hDlg;
hDlg=CreateDialog(hInstance,(LPCTSTR)IDD_DIALOG1,NULL,(DLGPROC)MainProc);
ShowWindow(hDlg,SW_SHOW);
MSG msg;
while(GetMessage(&msg,hDlg,0,0)==TRUE)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
*/
}


par celui-ci

int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
DialogBox(hInst, MAKEINTRESOURCE(IDD_DIALOG1), 0, (DLGPROC)MainProc);
return 0;
}


et la il ne bouffera pas tout, ensuite tu envles 'SetClassLong(Dlg, GCL_HICON, (long)LoadIcon(0, IDI_APPLICATION));' de ta boucle if...
et pour finir une instruction 'case' doit toujours se terminer par un break:

WM_INITDIALOG:
instructions...
break;

Bob...

"La chance accorde ses faveur aux esprits avertis..."

1 2

Cette discussion est classée dans : while, autour


Répondre à ce message

Sujets en rapport avec ce message

Problème avec une boucle while [ par arconius ] voilà j'ai fait un prog où l'on tire des dés mais j'ai un problème avec ma boucle while car au lieu de me donner un chiffre aléatoire à chaque fois il question sur le DO et WHILE fonction [ par Enishi ] Bonjour!J'ai commencer à utiliser Borland C++ Builder 6 et je n'arrive pas à faire fonctionner la fonction DO - WHILE.... D'après moi, j'utilise la ma La différence entre for et while ? [ par Krox68 ] J'aimerais savoir la différence entre les boucles for et while,leurs avantages, leurs inconvénients...MerciKrox68 Probleme iteration [ par alanbraxe31 ] http://membres.lycos.fr/alanbraxe31http://membres.lycos.fr/alanbraxe31bonjour tt le monde,j'ai écris le aidez moi svp [ par asnow ] Q'un aurait-il la gentillesse de me traduire ce code, en algorithme. merci d'avance.int i=0;int x=random(10);int y=random(10);int type_pos=random(2);i comment sortir d'un while(1) [ par Veseta ] Bonjour, je fais pour la prmière fois de l'événementiel, j'utilise donc un code du type:> > > > while(1)> > {> > if(kbhit())> > {> > choice = getch pti pb de thread [ par sena ] Bonjour,j'ai un prog dans lequel je créé un thread.Ce thread tourne en boucle. Dedans j'ai une boucle While(true)Je voudrais savoir comment je pourrai boucle de message interrompue [ par juliol ] bonjour, je fais un prog qui utilise un hookpour qu'il tourne en permanence, apres l'avoir cree, je lance une boucle infinie et je met ma boucle de me ptite kestion sur ExitThread [ par none77 ] bonjour,j'ai un thread qui boucle sans cesse avec une variable booléenne et un while.Donc quand je souhaite arreter mon thread je change d'état le boo HOW TO:PID & com prog & up et DL [ par youpiyoyo ] Ce post pourrait aussi bien etre dans la rubrique réseaux que system.mais bonvoici mes questions j'aurai tout d'abord besoin d'un truc:comment faire p


Nos sponsors


Sondage...

Comparez les prix

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 : 1,529 sec (3)

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