begin process at 2012 05 30 08:12:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Systeme

 > 

UpdateWindow et SendMessage (HEEEEEEELP!!!!!)


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

UpdateWindow et SendMessage (HEEEEEEELP!!!!!)

samedi 11 décembre 2004 à 11:49:20 | UpdateWindow et SendMessage (HEEEEEEELP!!!!!)

scelw

Bonjour,

Mon prog fonctionne grâce à une boucle principale, chargée d'effectuer de longs calculs. Je souhaite afficher, au fur et à mesure de l'avancement de ces calculs, des résultats intermédiaires. Mais le problème est que ma fenêtre ms-dos n'affiche rien tant que la boucle n'a pas complétement fini de tourner. Je voudrais donc trouver un moyen d'actualiser ma fenêtre ms-dos PENDANT que ma boucle tourne.
Ma question :
Comment utilise-t-on UpdateWindow() et SendMessage() pour mettre à jour, "de force", une fenêtre ms-dos?

-

PS : Je suis sous Visual Studio 6. Et j'ai déjà essayé d'utiliser, à l'intérieur de ma boucle, des fonctions similaires au DoEvents en VB (avec PeekMessage) ou de mettre des Sleep(100) mais rien n'y fait... HEEEELP !
samedi 11 décembre 2004 à 12:41:40 | Re : UpdateWindow et SendMessage (HEEEEEEELP!!!!!)

vecchio56

Administrateur CodeS-SourceS
Si tu n'as mis aucun printf avant la fin de la boucle ca ne va rien afficher. Il faudrait voir un peu de code pour comprendre, parce que normalement ca s'affiche aussitot, même pendant une boucle
samedi 11 décembre 2004 à 12:47:13 | Re : UpdateWindow et SendMessage (HEEEEEEELP!!!!!)

scelw

tout d'abord, merci vecchio56 d'avoir bien voulu répondre à ma demande d'aide...

je n'utilise pas de printf mais des : cout << "texte_à_afficher";

Pour le bout de code, je vais essayer d'en copier/coller un cet après-midi...

-
samedi 11 décembre 2004 à 12:52:11 | Re : UpdateWindow et SendMessage (HEEEEEEELP!!!!!)

vecchio56

Administrateur CodeS-SourceS
Les messages s'affichent au fur et a mesure:


#include <windows.h>
#include <iostream>

using namespace std;

int main()
{
int i = 20;
while(i)
{
cout << "texte_à_afficher";
i--;
Sleep(100);
}
}
samedi 11 décembre 2004 à 15:23:20 | Re : UpdateWindow et SendMessage (HEEEEEEELP!!!!!)

scelw

bout de code qui ne marche pas (enfin... le txt ne s'affiche pas avant la fin de la boucle, quoi...)

------------------------

#include <NTL/ZZ.h>
#include <fstream.h>
#include <iostream.h>
#include <stdio.h>
#include <time.h>
#include <windows.h>

int main()
{
int i, tour, x;
tour = 20;

cout << "Bienvenue : \n";
Sleep(1000);
do {
i = 0;
x = 162;
do {
x = x * (1037 + x) + 11;
i++;
} while (i <= 5);

cout << tour;
cout << " : ";
cout << " \n";

Sleep(1000);
tour = tour + 1;
} while (tour <= 30);
Sleep(1000);
cout << "c'est bon, programme terminé!";
Sleep(9000);
return 0;
}


------------------------
help...
-
samedi 11 décembre 2004 à 15:41:25 | Re : UpdateWindow et SendMessage (HEEEEEEELP!!!!!)

vecchio56

Administrateur CodeS-SourceS
Moi il affiche bien, je comprends pas pourquoi chez toi ca marche pas
samedi 11 décembre 2004 à 19:57:09 | Re : UpdateWindow et SendMessage (HEEEEEEELP!!!!!)

scelw

ah ouais?????? chez toi, ça marche bien correctement (affichage du numero de tour, de 20 à 30, avant la fin des calculs) ???!!!!!
ça fout la mort si c'est mon système qui bug!!!!

d'où ça peut venir?? c'est dingue! re-HELPPP!!!!
-
samedi 11 décembre 2004 à 21:20:47 | Re : UpdateWindow et SendMessage (HEEEEEEELP!!!!!)

racpp

Administrateur CodeS-SourceS
Salut,
Chez moi, le même problème: pas d'affichage avant la fin de la boucle. C'est bizarre, je vais essayer de comprendre pourquoi.
samedi 11 décembre 2004 à 21:27:06 | Re : UpdateWindow et SendMessage (HEEEEEEELP!!!!!)

vecchio56

Administrateur CodeS-SourceS
Ca alors.. Vous avez quel compilateur?
samedi 11 décembre 2004 à 21:58:37 | Re : UpdateWindow et SendMessage (HEEEEEEELP!!!!!)

racpp

Administrateur CodeS-SourceS
J'ai Visual C++ 6. Après des tests, j'ai remarqué que l'affichage ne se fait qu'après le dernier "cout" même sans boucle. Exemple:
int main()
{
cout << "Bienvenue : \n";
Sleep(5000);//pareil avec system("PAUSE")
cout << "Fin de programme : \n";
return 0;
}

Dans cet exemple, l'affichage des deux messages se fait à la fois après écoulement des 5 secondes. Je ne comprends pas pourquoi car je ne connais pas les détails de fonctionnement de "cout".

Par contre, avec "printf", ça marche nickel:
int main()
{
int i, tour, x;
tour = 20;
printf("Bienvenue : \n");
Sleep(1000);
do {
i = 0;
x = 162;
do {
x = x * (1037 + x) + 11;
i++;
} while (i <= 5);
printf("%d :\n",tour);
Sleep(1000);
tour = tour + 1;
} while (tour <= 30);
Sleep(1000);
printf("c'est bon, programme terminé!\n");
Sleep(9000);
return 0;
}



1 2 3

Cette discussion est classée dans : boucle, ms, sendmessage, fenêtre, updatewindow


Répondre à ce message

Sujets en rapport avec ce message

Fenêtre MS-DOS en langage C [ par BaptX ] Bonjour tout le monde,Je suis en train de faire avec un pote un projet pour le bahut. Il s'agit d'un traitement de texte sous MS-DOS (du moins la comm SendMessage vers une fenêtre minimisée [ par Keenes ] Bonjour,Le sujet du message n'étant pas très explicite, voici de quoi il s'agit :Je cherche à réaliser une logiciel de capture d'écran, comme il en ex Intercepter un sendmessage sur une application quelconque. [ par captainstf ] Salut à tous !J'ai un problème qui commence à me filer des cheveux blanc :Je cherche à intercepter les messages envoyés à une fenêtre donnée. Le truc boucle [ par erwan35 ] bonjour à tous,Je demande votre indulgence face à un nouveau langage nouveau pour moi!Voici ma question: je voudrais que quand on rentre un mot de pas SendMessage a deux editbox [ par leprov ] salut a tous.j'essaie d'nevoyer a l'affilée de message WM_SETTEXT a deux EditBox distincts, et apparement le premier EditBox recoit bien son message m Comment créer un Bouton [ par new0staff ] Bonjour!Le programme ci-dessous crée et affiche une fenêtre simple. Ce que je souhaite faire, c'est rajouter un Bouton à cette fenêtre.Ce qui ne joue socket sans fenêtre [ par CyberP ] Comment faire (avec exemple concret si possible) pour recevoir des messages de sockets (fd_recv, fd_connect, fd_accept) sans avoir de fenêtre (et sans affichage sur une nouvelle fenêtre [ par toniii ] salut à tous,je suis nouveau sur le site et surtout trés trés nouveau en programmation(mise à par en Matlab). hors je viens d'entammer une thèse (en v Fonction API permettant de copier le contenu d'une fenêtre dans une var HBITMAP [ par elflink ] Bonjour à tous et à toutes,Je suis à la recherche d'une fonction API qui permettrait de copier le contenu d'une fenêtre window dans une variable de ty Socket sous DOS [ par forum2nazes ] J'ai fait de la programmation de sockets sous Borland C++ Builder 5 et actuellement je cherche à programmer des sockets clients et serveurs sous MS-DO


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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,076 sec (4)

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