Page 1 sur 1

Contrôle des entrées dans une fenètre

Publié : dim. 02/mars/2008 19:01
par langa68
Salut à tout le monde.

J’aimerais écrire un code permettant de jouer au Loto avec un système.

J’ai déjà pas mal avancé mais la, je butte sur un hic.

En appuyant sur les cases de la fenêtre (Voir Code), on doit choisir le nombre de numéros demandés. (Le moyen de rentrer les numéros sont peut-être à améliorer).

Problème :

Je n’arrive pas à trouver un moyen pour qu’il soit impossible de rentrer plus de numéros que ceux qui sont demandés.
J’aimerais aussi, avant que le déroulement du code se poursuive, contrôler les numéros choisis pour voir s’il n’y à pas de doublure.

Je serais très content si quelqu’un pourrait m’aider, et je vous en remercie d’avance.

Code : Tout sélectionner

;Langa68


Global nombre_de_numeros = 10
Global x1=170
Global je = 30

Declare Fenetre_01()
Declare Determine_chiffres_personnels()
Declare Choix_des_jeux_personnels()

Fenetre_01()

;****************************************************************************

Procedure Fenetre_01()
  
  
  c=0
  If OpenWindow(Fenetre_choix_des_jeux_personnels_2 ,0,0,540,420,"PB-LotoSystem-Numéros personnels",#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    If CreateGadgetList(WindowID(Fenetre_choix_des_jeux_personnels_2))
      TextGadget(73,10,10,510,20,"Vous devez choisir "+ Str(nombre_de_numeros) + " numéros",#PB_Text_Center|#PB_Text_Border)
      
      ;CheckBoxGadget de 1 à 10
      x=30:y=40
      For i = 1 To 10
        CheckBoxGadget(20+i,x,y,40,20,Right("0"+Str(i),2))
        x=x+50
      Next
      
      ;CheckBoxGadget de 11 à 20
      x=30:y=90
      For i = 11 To 20
        CheckBoxGadget(20+i,x,y,40,20,Right("0"+Str(i),2))
        x=x+50
      Next
      
      ;CheckBoxGadget de 21 à 30
      x=30:y=140
      For i = 21 To 30
        CheckBoxGadget(20+i,x,y,40,20,Right("0"+Str(i),2))
        x=x+50
      Next
      
      ;CheckBoxGadget de 31 à 40
      x=30:y=190
      For i = 31 To 40
        CheckBoxGadget(20+i,x,y,40,20,Right("0"+Str(i),2))
        x=x+50
      Next
      
      ;CheckBoxGadget de 41 à 49
      x=30:y=240
      For i = 41 To 49
        CheckBoxGadget(20+i,x,y,40,20,Right("0"+Str(i),2))
        x=x+50
      Next
      
      ;ListViewGadget
      x1:y=290:i=1
      For i = 1 To nombre_de_numeros
        TextGadget(200+i,x1,y,20,20,Str(i),#PB_Text_Center);Numérotation du choix des chiffres personnels
        ListViewGadget(80+i,x1,y+20,20,20);Affiche les chiffres personnels choisis
        x1=x1+20
      Next
      
      ListViewGadget(300,145,y+60,250,20);Message quand le nombre de numéros demandée est atteint
      
      ButtonGadget(350,145,y+100,100,20,"Continuer ?")
      ButtonGadget(351,295,y+100,100,20,"Recommencer ?")
      
      
    EndIf
    Repeat
      EventID = WaitWindowEvent()
      If EventID = #PB_Event_CloseWindow
        quit = 1
      EndIf
      If EventID = #PB_Event_Gadget
        If EventGadget()=21
          a$ = "01"
          b$ = b$ + a$
          c = c + 1
          
          AddGadgetItem(80+c,-1,a$);Affiche chaque numéro choisi
          If c = nombre_de_numeros
            Debug "3985 "+Str(c)
            AddGadgetItem(300,-1,message6$);Vous avez choisi le nombre de numéros demandés !
          EndIf
        EndIf
        If EventGadget()=22
          a$ = "02"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=23
          a$ = "03"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=24
          a$ = "04"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=25
          a$ = "05"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=26
          a$ = "06"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=27
          a$ = "07"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=28
          a$ = "08"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=29
          a$ = "09"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=30
          a$ = "10"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=31
          a$ = "11"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=32
          a$ = "12"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=33
          a$ = "13"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=34
          a$ = "14"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=35
          a$ = "15"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=36
          a$ = "16"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=37
          a$ = "17"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=38
          a$ = "18"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=39
          a$ = "19"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=40
          a$ = "20"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=41
          a$ = "21"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=42
          a$ = "22"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=43
          a$ = "23"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=44
          a$ = "24"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=45
          a$ = "25"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=46
          a$ = "26"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=47
          a$ = "27"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=48
          a$ = "28"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=49
          a$ = "29"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=50
          a$ = "30"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=51
          a$ = "31"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=52
          a$ = "32"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=53
          a$ = "33"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=54
          a$ = "34"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=55
          a$ = "35"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=56
          a$ = "36"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=57
          a$ = "37"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=58
          a$ = "38"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=59
          a$ = "39"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=60
          a$ = "40"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=61
          a$ = "41"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=62
          a$ = "42"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=63
          a$ = "43"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=64
          a$ = "44"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=65
          a$ = "45"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=66
          a$ = "46"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=67
          a$ = "47"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=68
          a$ = "48"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=69
          a$ = "49"
          b$ = b$ + a$
          c = c + 1
          AddGadgetItem(80+c,-1,a$)
          If c = nombre_de_numeros
            AddGadgetItem(300,-1,message6$)
          EndIf
        EndIf
        If EventGadget()=350
          Determine_chiffres_personnels();Continuer
        EndIf
        If EventGadget()=351
          b$ = ""
          Choix_des_jeux_personnels();Recommencer
        EndIf
      EndIf
    Until quit = 1
  EndIf
EndProcedure

Procedure Determine_chiffres_personnels()
  MessageRequester("MESSAGE","Détermine les chiffres personnels!",#PB_MessageRequester_Ok)
EndProcedure


Procedure Choix_des_jeux_personnels()
  MessageRequester("MESSAGE","Choix des jeux personnels!",#PB_MessageRequester_Ok)
EndProcedure

Publié : dim. 02/mars/2008 20:07
par Chris
Un moyen simple d'éviter de cocher deux fois le même numéro, c'est de désactiver la case quand elle a été cliquée.

Ca évite de taper du code pour vérifier la liste à chaque clic, et c'est tout aussi efficace.

Pour le nombre de numéros à cocher, tu fais une variable que tu appelle comme tu veux (FlagNum, par exemple) qui est à 0 au démarrage, et tu l'augmente de 1 à chaque clic.

Il suffit de la tester pour savoir si le nombre de numéros est atteint

Publié : dim. 02/mars/2008 20:39
par nico
GetgadgetState(..) renvoi 1 si coche