Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 ! smile

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