Donnez votre avis..
INTERFACE GAMBAS
LOGICIELS GAMBAS 3
TUTORIELS
=Bibliothèque
|
Creer son logiciel - Deux facons de programmer
DEUX FACONS DE PROGRAMMER
Bonjour, aujourd'hui je vous propose de comparer deux facons de programmer. Nous allons réaliser une petite application à but pédagogique avec trois images cliquables dans une Form. Deux facon s'offrent à vous : 1) Création à partir de l'IDE Gambas - Créer 3 picturebox - pour chaque picturebox, par la propriété PICTURE choisir votre image. -créer l'évènement PictureBoxz_click (z étant le numero de la picturebox) pour chaque picturebox (ce qui nous fait trois fonctions identiques) Cette facon de procéder n'est pas très astucieuse pour plusieurs raisons : - Allourdissement du code. - 3 Fonctions identiques recopiées. - impossibilité d'augmenter facilement le nombre de picturebox. Une autre mérhode bien plus intéressante ci dessous. 2) Création directement dans le code Cette facon est à mon avis la meilleure facon de faire des programmes simples à comprendre. Procédons par étape : -déclarons d'abord nos PICTUREBOX en dehors de toutes fonction par la commande : PUBLIC mypict as picturebox - Maintenant dans notre fonction button_click par exemple, nous allons créer une picturebox par le code : mypict = NEW picturebox(me) AS "boite1" Commentons cette ligne très importante : mypict = 'nous affectons notre nouvelle picturebox à mypict NEW je crée une nouvelle picturebox picturebox(Me) je crée une picturebox dans la fenetre Me(soit le form en cours) AS "boite1" J'assigne un nom de ma nouvelle picturebox pour tous les évènements associés. C'est à dire que ma nouvelle picturebox réagira à un clic, un double click, enfin, tous les évènements d'une picturebox par cette commande par exemple : PUBLIC SUB boite_click() END Ainsi, lors de la création, il vous est facile de gérer les propriétés de votre picturebox comme ceci : pour changer la couleur de fond par exemple : mypict.background = &HFFFFFF& ou je la déplace par exemple : mypict.X = 234 en résumé voici la fonction complète : PUBLIC mypict as picturebox PUBLIC SUB Button_Click() mypict = NEW picturebox(me) AS "boite1" mypict.background = &HFFFFFF& mypict.X = 234 mypict.picture = picture["/home/toto/bobi.jpg"] END PUBLIC SUB boite_click() print "j'ai cliqué sur la picturebox!" END Avez vous compris ? oui? alors on continu. Mais dite moi, si je clique 10 fois sur mon bouton, je crée 10 picturebox. et si je clique sur la boite 8, comment sais-je que c'est la 8 que j'ai cliqué puisque je n'ai qu'une seule fonction (boite_click) C'est là qu'intervient la propriété TAG. Elle est très très importante dans Gambas. Il vous suffit de créer une variable compteur genre : PUBLIC maclef as integer = 1 et de l'assigner au TAG de ma nouvelle picturebox comme ceci : PUBLIC SUB Button_Click() mypict = NEW picturebox(me) AS "boite1" mypict.background = &HFFFFFF& mypict.X = 234 mypict.picture = picture["/home/toto/bobi.jpg"] mypict.Tag = maclef INC maclef 'incrémenter le compteur pour la prochaine picturebox. END Ainsi il vous sera facile d'identifier quelle picturebox vous avez cliqué en la récupérant par cette commande : LAST.Tag vous pourrez donc écrire cette ligne : PUBLIC SUB boite_click() print "j'ai cliqué sur la picturebox " & Last.Tag END Voilà. On constate tout de suite la flexibilité de ce code. -Création de picturebox à loisir -Simplification du code par une seule fonction J'espère que vous m'aurez compris et que je n'ai pas été trop fouilli ! Date de création : 11/06/2010 @ 21:41 Réactions à cet article
| ACCES RAPIDE
RECHERCHE
LES INSTRUCTIONS
LES COMPOSANTS
Divers
INSTRUCTIONS
Où ça, qui ça?
VISITES
visiteurs visiteurs en ligne ARCHIVES GAMBAS 1/2
|