begin process at 2012 02 16 19:43:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

Do events ? kesako sa ?


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

Do events ? kesako sa ?

vendredi 6 février 2004 à 14:24:35 | Do events ? kesako sa ?

KC62

Salut a tous !

Dans un but d'appronfondir clairement ma culture VB. je cherche qq'1 qui pourrait m'expliquer ce que le do Events fair exactement ? dans quels cas l'utiliser ? en bref a quoi sert-il ?

Merci a tous ceux qui prendront le temps de répondre a ma question.

PS : un cour a la renfield sa serait le top pour ce qui connaisse ;-)


KC62


On a pas toutes les solutions de tous les probleme mais chaque probleme à ses solutions ...
vendredi 6 février 2004 à 14:53:51 | Re : Do events ? kesako sa ?

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

Le DoEvents permet au système de reprendre la main, en gros, lorsque tu tape DoEvents dans ton code, ton prog se met "en pause" le temps que le système fasse ce qu'il a à faire pendant un cycle d'horloge tel que raffraîchir les fenêtres par exemple, et ensuite il rend la main au prog.

Donc, ce qui est conseillé, c'est de l'utiliser dans les boucles longues, du style : traitement d'une image pixel par pixel, interception des touches clavier en temps réels dans une boucle, etc.

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
vendredi 6 février 2004 à 14:54:46 | Re : Do events ? kesako sa ?

crenaud76

DoEvents (en 1 seul mot !!) est une instruction VB qui est utiliser principalement dans les boucles. En effet, si dans ton prog tu as une boucle (For i = 1 to 10000 ... Next), cette boucle va prendre toute les ressources octroyer par Windows à ton appli et si ton utilisateur clique quelque part ou tape une lettre au clavier pendant ta boucle, le ou les evenements correspondant ne seront effectivement "lancés" qu'après la boucle. Si tu met un DoEvents à l'intérieur de ta boucle, A chaque tour de boucle, VB ira voir si windows lui propose un evenement de souris ou de clavier et le traitera avant de continuer la boucle. Un exemple valant mieux qu'un long discours, ...
Sur une feuille Form1, ajoute un Bouton command1 et une case à cocher Check1
Dans l'EVT click du command1, ajoute ceci :

MsgBox "Début de boucle"
While Check1.Value <> vbChecked
Wend
MsgBox "Fin de boucle"

Clairement ce code tourne en rond ds une boucle While ... Wend tant que tu ne coche pas la case à cocher Check1
Lance ce programme (par F5), clique sur le Command1 pour lancer la boucle, et essaye de cliquer sur la case à cocher ... Rien ne devrait se passer, car VB passe son temps dans la boucle et ne "voit" pas que tu as cliquer sur la checkbox (la coche n'apparait même pas), donc Check1.Value ne vaut pas vbChecked... Appuis sur CTRL+Pause pour interrompre l'execution et ajoute un DoEvents entre le "While ..." et le "Wend"
Relance l'execution, reclique sur command1 puis coche la case. Tu sort alors de la boucle car a chaque tour dans le While Wend, VB demande à Windows s'il y a eu un clic de souris et effectue ceux-ci. Donc Check1.value<> vbchchecked devient False et tu sort du While ... Wend.

Ce n'était pas un cours de Renfield, mais j'espère que j'aurais été aussi clair !!!
Peut-être parlera-t-on bientôt de cours à la crenaud76


Christophe R.
vendredi 6 février 2004 à 14:57:01 | Re : Do events ? kesako sa ?

labout


labout
Le doEvents se met dans une boucle de traitement long
Do while
Do Events
' traitement
Loop

ou

For i=1 to 32000
DoEvents

Next

et tout autre boucle de traitement

Cela permet entre autre d'arrêtr la tâche mais aussi de faire que si l'on bascule sur une autre appli lors du retour de ne pas avoir un écran blanc.

Ce que dit MicroSoft

Bien que les événements Timer constituent le meilleur outil de traitement en arrière-plan, particulièrement s'il s'agit de tâches très longues, la fonction DoEvents offre un moyen pratique d'autoriser l'annulation d'une tâche. Par exemple, le code suivant permet de remplacer un bouton Traiter par un bouton Annuler lorsqu'on clique dessus. Un second clic interrompt la tâche en cours d'exécution.

Bye

Il est fortement conseillé de l'utiliser
lundi 9 février 2004 à 08:05:31 | Re : Do events ? kesako sa ?

KC62

Salut !
merci a tous pour ce petit cour improvisé avec tous sa C obligé que j'ai compris ;-)


crenaud76 : " renfield CT pour donner l'exemple mais tes mini-cours sont tous aussi bien je te rassure ;-) donc merci beaucoup "

et merci aussi tout autant a labout et a DARKSIDIOUS.

sa fait plaisir de savoir que l'on peut compter sur un forum pour nous dépanner....

KC62

On a pas toutes les solutions de tous les probleme mais chaque probleme à ses solutions ...
vendredi 8 octobre 2004 à 17:27:13 | Re : Do events ? kesako sa ?

visual_user

ba alors la merci les gars, ca c ce k'on appeller un communauté .. en tout cas merci pour cet eclaircissement fort interessant..

JeeP la Loutre.
dimanche 14 août 2005 à 23:48:07 | Re : Do events ? kesako sa ?

trexor

Bonjour,
je n'arrive pas a utiliser doevents en vb.net....comment faire? y a til une autre solution?
cordialement,
mardi 16 août 2005 à 19:20:01 | Re : Do events ? kesako sa ?

labout

Microsoft

DoEvents passe la main au système d'exploitation jusqu'à ce que ce dernier ait terminé de traiter les événements de sa file d'attente et que tous les codes de la file d'attente SendKeys aient été transmis.


Dans une boucle d'un traitement long, l'écran est figé et si l'on passe à une autre tache, au retour l'écran n'est plus affiché.
DoEvents dans une boucle permet entre autre l'affichage de l'écran. Cela permet aussi de fermer l'écran ce qui peut être un inconvénient.

En VB.NET c'est

Application.DoEvents()



Voila


labout
mercredi 17 août 2005 à 09:55:51 | Re : Do events ? kesako sa ?

trexor

Merci, ca marche nickel!


Cette discussion est classée dans : probleme, do, solutions, events, kesako


Répondre à ce message

Sujets en rapport avec ce message

DO - LOOP = probleme ! [ par boutnell ] Lu'! g fait un prog du stye:*********do call fonctionloop*********Mon probleme est que l'on passe au LOOP sans que l'appel de la fonction sois termin Probleme de boucle [ par Pof ] bon je savais pas ou mettre ca mais bon ;-)j'ai une boucle de jeu genre :Do While bRun [Recupere les touches] [calculs de coordonnées] [Affic Probleme de boucle [ par Pof ] bon je savais pas ou mettre ca mais bon ;-)j'ai une boucle de jeu genre :Do While bRun [Recupere les touches] [calculs de coordonnées] [Affic SOS media 9 + durée d'un media [ par KC62 ] bonjour a tous voila mon souci est media 9. je sais 'est de la folie de gérer sa mais bon, petit challenge perso...je voudrais savoir comment récupére probleme avec une combobox [ par airfox ] bonjour, Je viens de commencer en VB et j'ai un probleme avec une combobox. explication : dans ma combobox j'ai un choix à faire entre plusieu Gros souci avec une Common dialog + license ou OLE, dépend des jours... [ par KC62 ] On a pas toutes Bonjour, J'ai des petits souci, je travaille dans un boite qui me demande du code VB sans VB. pas evident me dirais-vous, bref VBA je Probleme de calcul de somme [ par medeuy ] Bonjour, j'aimerai savoir comment se fait il que ma formule ne marche pas et qu'il me marque erreur 2029j'ai l'impression d'avoir tout declaré et fait Comment attendre un resultat sans boucle do loop ? [ par alainnews ] salut,j'ai un probleme avec mon appli, je converse sans probleme avec un automate pour faire deplacer un axe.Jusqu'a present tout baigne mais j'attend Probleme de boucle [ par lebalrog ] Salut a tous!G un GROS probleme ke j arrive pas a resoudre. G une boucle for qui est assez importante en taille, et kand je lance le prog, il me dit " Equivalent de "Sendkeys" et de "Do Events" en vb.net ? [ par doppel2000 ] Quelqu'un pourrait t'il m'indiquer l'équivalent de :"Sendkeys" et de "Do Events" en VB .netMerci :o)


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 0,593 sec (4)

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