WIDGETS GAMBAS
LOGICIELS GAMBAS 3
TUTORIELS
VISITES

   visiteurs

   visiteurs en ligne

Où ça, qui ça?
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 !

wink


Date de création : 11/06/2010 @ 21:41
Dernière modification : 11/06/2010 @ 21:42
Catégorie : Creer son logiciel
Page lue 3377 fois


Imprimer l'article Imprimer l'article


react.gifRéactions à cet article

Personne n'a encore laissé de commentaire.
Soyez donc le premier !


ACCES RAPIDE
RECHERCHE




LOGICIELS GAMBAS 2
LES INSTRUCTIONS
LES COMPOSANTS
Divers

^ Haut ^