Accueil > Forum > > > > Global, grave ou pas ?
Global, grave ou pas ?
mardi 19 septembre 2006 à 02:34:17 |
Global, grave ou pas ?

Ziman
|
Bonjour, aujourd'hui, une de mes prof m'a dit que les programmeurs fuyaient les variables globales, mais une question m'est venue à l'esprit. Imaginons que quand j'appuye sur un bouton, ça initialise un pointeur vers un tableau. Donc on clique sur le bouton et paf on a un tableau. Ensuite, si on clique sur un autre bouton, qui lui, doit effectuer des opérations sur le tableau. Comment je dois faire si je peux pas le déclarer en global ? WndProc (ma procédure de traitement des message) se terminera après le premier click et lors du deuxième clique ben le tableau n'aura plus sa valeur, je me trompe ? Je suis un peu paumé sur ce coup là, merci de m'indiquer le chemin :p Apprendre le VB6
|
|
mardi 19 septembre 2006 à 09:35:54 |
Re : Global, grave ou pas ?

BruNews
|
A tes profs toujours répondre "bien sur vous avez toujours raison, etc...".
Ensuite la critique doit réagir (en silence): Aucun tabou ne doit prévaloir, l'informatique n'est ni une religion ni qlq autre obscurantisme. On fait selon le type de prog demandé et exigences du chef si c'est le cas (prof dans ton cas).
ciao... BruNews, MVP VC++
|
|
mardi 19 septembre 2006 à 13:08:58 |
Re : Global, grave ou pas ?

Ziman
|
Oui, je suis d'accord, mais ca ne répond pas à ma question. Les exigences du programmes sont apparemment de ne pas déclarer de variable globale en masse, mais le programme traitant un tableau de mot selon les actions de l'utilisateur, il faut bien que je le déclare global non ? En console je comprendrai que non mais en graphique, ai-je d'autre choix ? Apprendre le VB6
|
|
mardi 19 septembre 2006 à 15:49:26 |
Re : Global, grave ou pas ?

buno
|
Bien sûr. Tu peux le déclarer dans une classe et passer son pointeur à toutes les classes susceptibles de le modifier Buno ---------------------------------------- L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai... Le site de mon mariage
|
|
mardi 19 septembre 2006 à 15:58:32 |
Re : Global, grave ou pas ?
|
mardi 19 septembre 2006 à 16:02:09 |
Re : Global, grave ou pas ?

buno
|
Réponse acceptée !
Pardon, pas pigé que tu étais en C. Là, effectivement, les variables globales s'imposent Buno ---------------------------------------- L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai... Le site de mon mariage
|
|
mardi 19 septembre 2006 à 18:01:58 |
Re : Global, grave ou pas ?

BruNews
|
Elles ne s'imposent pas plus qu'en C++ si tu avais instancié une classe depuis le debut, tu pourrais tout autant faire une alloc sur un pointeur static à la wndproc de la fenetre mère et passer le pointeur à chaque fonction, serait tout simplement aussi inutile qu'une classe mais tout autant faisable. C'est clair qu'une declaration static équivaut à placer la variable au segment .data comme si était mis en variable globale, sera contre productif mais ça fait beau pour certains.
ciao... BruNews, MVP VC++
|
|
mercredi 20 septembre 2006 à 00:45:17 |
Re : Global, grave ou pas ?

Ziman
|
BruNews, toi, tu ferais comment ? Une classe static ou tu met des variables globales ? (Juste pour avoir l'avis le plus large possible, comme dirait mon prof de philo ... La vérité n'est que le point commun de l'accumulation du maximum de points de vue différents possibles) Apprendre le VB6
|
|
mercredi 20 septembre 2006 à 00:56:41 |
Re : Global, grave ou pas ?

BruNews
|
Si tu es en C il n'y a pas de classe (et tant mieux, he he), ça règle le problème à la base. Donc si C et pas en global:
LRESULT CALLBACK AppWndProc(HWND hwnd, UINT mssg, WPARAM wParam, LPARAM lParam) { static int stNbr; switch(mssg) { case WM_DESTROY: PostQuitMessage(0); return 0; } return DefWindowProc(hwnd, mssg, wParam, lParam); }
Tu initialises si besoin stNbr dans WM_CREATE et modifies ensuite où tu veux, faudra par contre passer en param aux funcs devant accéder. Prof sera content, c'est déclaré local malgré que le compilo génèrera code strictement identique à global mais avec lenteur du passage de param en plus.
ciao... BruNews, MVP VC++
|
|
mercredi 20 septembre 2006 à 21:43:49 |
Re : Global, grave ou pas ?

Ziman
|
ah ben ué, c'est juste, une variable static. Ué mais c'est se gratter pour se faire rire. Je lui ai expliqué l'affaire et elle a dit qu'elle était d'accord pour les variables globales donc ca va. Merci pour ces explications Apprendre le VB6
|
|
Cette discussion est classée dans : bouton, tableau, clique, global, grave
Répondre à ce message
Sujets en rapport avec ce message
Timer !! comprend rien [ par malfroc ]
Bonjour,je regarde les Timer sous visual C++. Je bosse en MFC, et voudrais appliqué un timer dès que l'on clique sur un bouton , et l'arreter lorqu'i
Clique de souris apres xx milisecondes... [ par 33man ]
Hmm j'aimerai faire un prog tout simple pas d interface graphique mais qui simule un clique de souris bouton gauche en bas et apres xx miliseconde le
Simuler clique bouton [ par goutbouyo ]
Salut,Avec spy++ j'ai récupérai le handle d'un bouton (d'un programme qui n'est pas de moi).Je voudrais simuler un clique sur ce bouton(pas forcément
Intercepter Clique sur bouton [ par piep14 ]
Je souhaite Intercepter Clique sur bouton. Mon but : l'utilisateur clique sur le bouton, sa valeur (son nom) change. Si on reclique desus. Ca reviens
Dessiner dans un bouton [ par hadrien1 ]
Bonsoir, Alors voila mon petit soucis : j'ai reussi à afficher une image dans un bouton, jusque la pas de problemes, j'ai afficher une ile dadans et
Tableau tridimensionnel global [ par nisaloncaje ]
bonjour dans mon programme j'aurais besoin d'utiliser un tableau à 3 dimensions (double tab[2][2][1433]) comme variable globale. Ainsi, dans les fichi
surcharge pile, variable global [ par blinix123 ]
Bonjour, J'ai un projet basique, des fonctions, des procedure, des talbeaux, des .c et des .h ! Je déclare un tableau int carte[][LARGEURPIXEL] dans l
Comment faire pour qu'un bouton apparaisse enfoncé [ par flexx ]
BonjourJe développe une petite appli avec VC++ 6 (je sais, c'est dépassé :), et je souhaite que lorsque je clique sur un bouton, celui-ci reste enfonc
[Qt] Nouvelle fenêtre après clique sur bouton [ par ribery91720 ]
Bonjour à tous,Tout d'abord je vous montre une capture de mon IHM :Je vous explique mon problème :Je voudrais que lorsque je clique sur le bouton s
Dessiner dans un Tableau [ par thedebutant11 ]
Bonjour,J'utilise actuellement Borland, et je voudrais savoir si quelqu'un à déja réussi à colorier dans un tableau (DrawGrid) dans la routine (càd qu
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|