jubourbon
Messages postés40Date d'inscriptionjeudi 6 mars 2008StatutMembreDernière intervention 3 juillet 2009
-
9 juil. 2008 à 15:12
jubourbon
Messages postés40Date d'inscriptionjeudi 6 mars 2008StatutMembreDernière intervention 3 juillet 2009
-
11 juil. 2008 à 08:22
Bonjour à tous,
Actuellement je developpe une application orientée objet. Chaque metier de l'application sont repartis dans divers objet. Pus clairement, Le formulaire (linterface) represente un objet avec les commande de l'utilisateur et qui à son chargement cré un objet programme, le programme centrale represente un autre objet regroupant tt l'intelligence du programme, puis d'autre objet satellite remplisse diverse tach à la demande de programme.
L'information est descendante.
J'ai à un moment donné la creation de taches plannifiés pour une 10aine d'evenements, et je souhaiterais que mon formulaire affiche une progressbar. J'ai trouvé comment mettre la progressebar, j'ai lu tt les forums et autres aides pour la parametrer.
J'ai parametrer son maxi, son mini, sa value.
Le pb est que je ne sais pas comment incrementer la progress bar au fur et à mesure que les tache se créé. Comment remonter l'info de mes objet metier?
Comment puis je appeler depuis mon objet, la progressbar?
J'ai tt essayé, mais je ne trouve pas.
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 200911 9 juil. 2008 à 18:13
"Le formulaire (linterface) represente un objet avec les commande de
l'utilisateur et qui à son chargement cré un objet programme, le
programme centrale represente un autre objet regroupant tt
l'intelligence du programme"
Depuis ton "programme centrale" tu accède à ton formulaire non? Il faut lui passer une référence de ton formulaire pour que cela soit possible. Mais en Visual Basic, une référence global est automatiquement créé pour le formulaire de démarrage, donc depuis n'importe ou tu peux accéder à ton formulaire en tapant son nom.
Mais l'utilisation de cette référence globale n'est pas toujours très élégante, car si on commence à accéder au formulaire principal depuis n'importe quel classe "de bas niveau", ça empêche la portabilité du code et ça risque de créer des croisements entre les différentes classes.
Le mieux dans ton cas serait peut être "d'écouter" ton programme principal depuis ton formulaire, sans qu'aucune référence du formulaire ne soit utilisé dans ton programme principal. Pour celui il suffit de lui rajouter des évènement: Par exemple, pour la ProgressBar, il pourrait y avoir un évènement ProgressChanged dans ta classe Programme, évènement lue par le forumaire principal pour mettre à jour sa ProgressBar.
jubourbon
Messages postés40Date d'inscriptionjeudi 6 mars 2008StatutMembreDernière intervention 3 juillet 2009 9 juil. 2008 à 15:42
Merci Gillardg, mais je crois que je ne me suis aps bien fait comprendre, alors je vais reprciser.
J'ai bien compris comment incrementer ma barre comme tu me le montre, ce que je n'arrive pas c'est associer cette incrmentation à la realisation de mes taches. Comment mon objet de creation de tache AT, peut il envoyer à Form1 (ou se trouve la progressbar) l'etat d'avancement de ses travaux?
gillardg
Messages postés3275Date d'inscriptionjeudi 3 avril 2008StatutMembreDernière intervention14 septembre 20142 9 juil. 2008 à 16:05
si cela tourne dans une boucle,
if form1.progressbar.value < form1.progressbar.max then
form1.progressbar.value= form1.progressbar.value +( form1.progressbar.max /100)
je vois pas bien le problème ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
jubourbon
Messages postés40Date d'inscriptionjeudi 6 mars 2008StatutMembreDernière intervention 3 juillet 2009 11 juil. 2008 à 08:22
Merci Kevin,
Entre temps j'ai suivi la methode de guillardg, mais comme tu le dis ce n'est pas la plus elegante, et ca devient vite le bazar.
Tu as bien saisi mon pb, je vais suivre tes conseils.