#1 Le 20/07/2009, à 10:25
- Tabouet
Gambas : transformation d'une serie de IF en FOR...NEXT
Bonjour,
Dans le developpement d'une application, j'ai le bout de code suivant : Il permet de masquer les boutons 12 à 20 lorsque l'utilisateurs clique.
IF Button12.Visible = TRUE THEN
Button12.Visible = FALSE
ELSE
Button12.Visible = TRUE
ENDIF
IF Button13.Visible = TRUE THEN
Button13.Visible = FALSE
ELSE
Button13.Visible = TRUE
ENDIF
IF Button14.Visible = TRUE THEN
Button14.Visible = FALSE
ELSE
Button14.Visible = TRUE
ENDIF
IF Button15.Visible = TRUE THEN
Button15.Visible = FALSE
ELSE
Button15.Visible = TRUE
ENDIF
IF Button16.Visible = TRUE THEN
Button16.Visible = FALSE
ELSE
Button16.Visible = TRUE
ENDIF
IF Button17.Visible = TRUE THEN
Button17.Visible = FALSE
ELSE
Button17.Visible = TRUE
ENDIF
IF Button18.Visible = TRUE THEN
Button18.Visible = FALSE
ELSE
Button18.Visible = TRUE
ENDIF
IF Button19.Visible = TRUE THEN
Button19.Visible = FALSE
ELSE
Button19.Visible = TRUE
ENDIF
IF Button20.Visible = TRUE THEN
Button20.Visible = FALSE
ELSE
Button20.Visible = TRUE
ENDIF
Comme vous pouvez le constater le code n'est pas genial. Il faudrait que je puisse l'améliorer avec une boucle FOR...NEXT en faisant varier le FOR de 12 à 20. Cependant je ne trouve pas comment integrer une variable dans le nom du bouton.
Est-ce que quelqu'un a eu idée ?
Merci et à bientôt !
Alexis
Histoires d'hier et d'aujourd'hui:
http://www.genealexis.fr/
Hors ligne
#2 Le 20/07/2009, à 11:56
- kevlar
Re : Gambas : transformation d'une serie de IF en FOR...NEXT
je ne connais pas les basics modernes, mais je référencerais tous tes boutons dans un tableau de booléens ou de GtkWidget, d'après ton code !
dim button(20) rem ne pas oublier de "typer" en booléen ou en GtkWidget cette déclaration à l'arrache
puis
for b=0 to 19 rem ou 1-20, je ne sais pas comment le basic utilisé indice
if (button(b).visible=FALSE)
then button(b).visible=TRUE
next b
je trouve ce code merd...que ; je pense qu'en Zibac, on doit pouvoir faire une "négation" qui évite le test if, de ce genre :
bouton(b).visible = NOT(bouton(b).visible)
Dernière modification par kevlar (Le 20/07/2009, à 11:58)
Hors ligne