Ce sujet est résolu.
1 | |||||
Auteur | Messages | ||||
---|---|---|---|---|---|
spheris | #1 Posté le 12/2/2012 à 11:32:09 | ||||
bonjour, A chaque click sur un bouton je souhaite changer l'image de ce bouton (une image symbolisant un ON et l'autre un OFF) à la manière d'un interrupteur. Afin de coder cela, je voudrais savoir quelle solution parait la plus "propre" de ces 2 solutions :
ou
Que feriez-vous ? | |||||
Prokopy | #2 Posté le 12/2/2012 à 12:49:41 | ||||
Kinder Pingui | Moi j'utiliserais un ToggleButton plutôt qu'un Button, et je ferais :
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi. Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi. | ||||
jeanyvon | #3 Posté le 13/2/2012 à 07:41:52 | ||||
Gambas? Ma! Et gusto | toujours vers l'objet étonnant Merci JY Vieillir? On peut retarder mais pas y échapper! | ||||
manu | #4 Posté le 13/2/2012 à 19:43:13 | ||||
Avec Gambas ca roule ! | Toujours avec un ToggleButton mais plus classique et plus compréhensible pour moi (mais moins objet).
Jeanne d'arc, elle a frit, elle a tout compris ! Config : Manjaro linux (excellent !) XFCE 4.1 (simple et efficace) Gambas 3 dans les dépots (confort total) | ||||
linuxos | #5 Posté le 13/2/2012 à 21:22:01 | ||||
Un peu de sel, de poivre et la crevette sera... | Bonsoir, Il y a quelque chose d'intéressant dans le code de Procopy car il déclare des variables pour chacune des pictures donc il peut s'en reservir plus tard dans le code et comme une Picture est un objet, il est meme possible de faire des comparaison entre Picture. C'est tres utilile pour tester dans un Gridview/TreeView/ColumnView/etc si on se trouve sur telle ou telle ligne, il suffit de tester la Picture de la ligne et la comparer avec une variable Picture... Infaillible Olivier Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous. | ||||
Prokopy | #6 Posté le 13/2/2012 à 22:08:57 | ||||
Kinder Pingui | En fait si je déclare des variables pour chacune des picture c'est pour éviter de les recharger à chaque fois qu'on clique sur le bouton. Pour l'histoire des comparaisons, utiliser les picture pour se situer dans le TreeView (ou autre) je trouve ça un peu tordu. Surtout que ça ne marche pas si deux items ont la même picture. Il vaut mieux utiliser la propriété Key qui est faite pour ça. La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi. Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi. | ||||
linuxos | #7 Posté le 13/2/2012 à 22:29:03 | ||||
Un peu de sel, de poivre et la crevette sera... | Non non Monsieur, je te confirme que je n'ai jamais eu de problème. En fait c'est le pointeur de la picture qui est comparé et ça marche du feu de dieu. Olivier Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous. | ||||
spheris | #8 Posté le 14/2/2012 à 07:48:40 | ||||
Bonjour, En fait, moi ce qui me parait de bon sens dans le code de Prokopy, c'est d'utiliser la commande LAST qui est, pour la plupart d'entre nous peu ou mal connu. Quant à créer un objet puis le réutiliser à volonté, c'est très ingénieux. Je file de ce pas modifier gbdomotic. Pour reformuler ma question autrement, est-il plus propre de comparer 2 string, 2 pictures ou ou 2 booleen, integer ,ou n'y a-t-il aucune différence? | |||||
Prokopy | #9 Posté le 14/2/2012 à 12:09:48 | ||||
Kinder Pingui | Tout dépend du contexte. Dans le cas du Togglebutton, il y a la propriété Value qui est déjà là, donc mieux vaut s'en servir directement. Après, que ce soit un booléen, un entier ou une chaîne, il n'y a pas de grande différence. Pour les Pictures, même si cela fonctionne (comme l'a dit linuxos, c'est une comparaison de références), je trouve cela un peu tordu dans le sens où ce n'est pas vraiment fait pour. Et des erreurs peuvent être vite arrivées lors de la comparaison d'objets. La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi. Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi. | ||||
Prokopy | #10 Posté le 14/2/2012 à 12:10:28 | ||||
Kinder Pingui | La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi. Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi. | ||||
spheris | #11 Posté le 14/2/2012 à 14:49:24 | ||||
Et pour une question de rapidité, quel est le plus rapide à l'exécution : "If then" ou "select case" ? Dans quel cas utiliser l'un ou l'autre ? | |||||
Prokopy | #12 Posté le 14/2/2012 à 15:41:53 | ||||
Kinder Pingui | Dans le cas d'une comparaison de booléens, les deux se valent. C'est plus une question de confort. La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi. Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi. | ||||
1 |