Barre de progression [Résolu]

cs_Pindus
Messages postés
38
Date d'inscription
vendredi 18 mars 2005
Dernière intervention
13 avril 2006
- 27 juin 2005 à 14:48 - Dernière réponse : ricky78
Messages postés
126
Date d'inscription
jeudi 5 juin 2003
Dernière intervention
11 juillet 2006
- 29 juin 2005 à 08:16
Voilà je lance une acquisition (via une laison série) de courbes et j'aimerais que le temps que les courbes se chargent, avoir une barre de progression à l'écran...
Le problème est que malgré la MSDN, je n'arrive pas à l'implémenter dans mon projet, si quelqu'un peut me renseigner...

D'avance merci
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
ricky78
Messages postés
126
Date d'inscription
jeudi 5 juin 2003
Dernière intervention
11 juillet 2006
- 29 juin 2005 à 08:16
3
Merci
il faut que tu passe des Entiers entre 0 et 100, la ton N est un flottant.
Regarde de ce cotè là.

Si tu as une boucle normé par ton nbc et que nbc est un entier tu peux utiliser


DlgIni.m_Progress.SetRange(0,nbc);

DlgIni.m_Progress.SetPos(i); // avec i compteur dans ta boucle

Cordialement

TOCHE

Merci ricky78 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de ricky78
vecchio56
Messages postés
6539
Date d'inscription
lundi 16 décembre 2002
Dernière intervention
22 août 2010
- 27 juin 2005 à 15:10
1
Merci
Ca n'a peut être rien a voir, mais pour utiliser une barre de progression tu doit utiliser InitCommonControls().
A quel niveau se situe exactement le problème?
Commenter la réponse de vecchio56
ricky78
Messages postés
126
Date d'inscription
jeudi 5 juin 2003
Dernière intervention
11 juillet 2006
- 27 juin 2005 à 15:02
0
Merci
Tu codes en quoi ?

TOCHE
Commenter la réponse de ricky78
cs_Pindus
Messages postés
38
Date d'inscription
vendredi 18 mars 2005
Dernière intervention
13 avril 2006
- 28 juin 2005 à 09:18
0
Merci
je code en visual C++ et j aimerais afficher une barre de loading (de progression) le temps d'une fonction
Commenter la réponse de cs_Pindus
ricky78
Messages postés
126
Date d'inscription
jeudi 5 juin 2003
Dernière intervention
11 juillet 2006
- 28 juin 2005 à 10:34
0
Merci
Bonjour

Tu vas dans les ressources et tu dessine ta barre dans ta fenetre nommé normalement de base (IDC_PROGRESS1).
Tu lance class wizzard onglet member variable et tu ajoute une variable de type control à ta progress bar (nommé m_prog par exemple)

Pour sa gestion, ceque je trouve le + simple et de lui affecter un range de 0 à 100 par la commande

m_prog.SetRange(0,100);

Pour lui donner un etat d'avancement tu utilise

m_prog.SetPos(50); // pour 50%

Il sufit dans ta boucle de creer un ENTIER N dependant d'un nombre d'iteration ou du temps, de la normé par rapport à 100% et d'utiliser
m_prog.SetPos(N); // pour N% dans ta fonction

Cordialement

TOCHE
Commenter la réponse de ricky78
cs_Pindus
Messages postés
38
Date d'inscription
vendredi 18 mars 2005
Dernière intervention
13 avril 2006
- 28 juin 2005 à 12:47
0
Merci
ok mais a quel moment je fais appel a la boite?
avant la fonction? pendant?
Commenter la réponse de cs_Pindus
cs_Pindus
Messages postés
38
Date d'inscription
vendredi 18 mars 2005
Dernière intervention
13 avril 2006
- 28 juin 2005 à 12:59
0
Merci
en fait ca plante et on a un 'debug assertion failed'

voila comment je fais:


DlgIni.m_Progress.SetRange(0,100);



//DlgIni.m_Progress.SetPos(0);



float N = nbc/100, i=1;



while( i <= 100 )


{


DlgIni.m_Progress.SetPos(i * N);


i++;


}
Commenter la réponse de cs_Pindus
cs_Pindus
Messages postés
38
Date d'inscription
vendredi 18 mars 2005
Dernière intervention
13 avril 2006
- 28 juin 2005 à 13:01
0
Merci
CConfiguration DlgIni; // boite dialogue contenant la progress barre
Commenter la réponse de cs_Pindus
ricky78
Messages postés
126
Date d'inscription
jeudi 5 juin 2003
Dernière intervention
11 juillet 2006
- 28 juin 2005 à 14:17
0
Merci
SetPos doit etre dans ta fonction ou tu veux l'avancement du progress. Tu dois utiliser une des boucles dans ta fonction ou implanter ta tache dans le while si elle n'est pas normé.

TOCHE
Commenter la réponse de ricky78
cs_Pindus
Messages postés
38
Date d'inscription
vendredi 18 mars 2005
Dernière intervention
13 avril 2006
- 28 juin 2005 à 16:16
0
Merci
ok c bien ce que j ai fait TOCHE

mais qd je lance mon acquisition,
j ai droit encore a un plantage ('debug assertion failed') à quoi ca peut etre du?

j ai mis des points d arrets sur SetRange etc car apparemment c est a cause d eux... (?)

peut etre que je les utilise mal?
Commenter la réponse de cs_Pindus

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.