Pedro
Nombre de messages : 1595 Date d'inscription : 19/01/2014
| Sujet: Validation automatique d'une option. Jeu 18 Jan 2024 - 18:00 | |
| Bonjour à tous.
Une petite question sur la validation des boutons option, ou autre. Comment procéderiez-vous pour que celle-ci soit automatique ? J'ai testé en utilisant un chronomètre, mais je ne suis pas satisfait, la validation se faisant après un certain délai.
Pour info: La fenêtre contient une liste de boutons option, ainsi qu'un bouton 'ok'.
Merci de votre aide. | |
|
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Validation automatique d'une option. Jeu 18 Jan 2024 - 21:46 | |
| Bonsoir Pedro ! - Citation :
- Une petite question sur la validation des boutons option, ou autre.
Comment procéderiez-vous pour que celle-ci soit automatique ? La validation d’un objet OPTION s’effectue avec la commande MARK_ON. - Code:
-
dim n%
for n% = 1 to 10 option n% left n%,10 top n%,10*2*n% caption n%,"Option " + str$(n%) next n%
pause 500 : mark_on 7
pause 500 : mark_on 3
pause 500 : mark_on 5
for n% = 1 to 10 mark_on n% : pause 500 next n%
mark_off 10
end - Citation :
- J'ai testé en utilisant un chronomètre, mais je ne suis pas satisfait, la validation se faisant après un certain délai.
Il y a effectivement une toute petite latence qui sera augmentée du temps que met l’opérateur à relâcher le bouton de la souris. Le mécanisme interne de l’objet OPTION n’entrant en marche qu’à ce moment-là. Peut-être peux-tu utiliser l’évènement ON_MOUSE_DOWN pour réduire considérablement cette latence. Tout dépend de la construction de ton programme… Dans l’exemple ci-dessous, le temps de relâchement du bouton de la souris n’a plus d’importance. La latence est réduite au maximum. L’action est instantanée dès que tu cliques. - Code:
-
dim n% label action
for n% = 1 to 10 option n% left n%,10 top n%,10*2*n% caption n%,"Option " + str$(n%) on_mouse_down n%,action next n%
end
action: print_locate 150,100 print "Option choisie !" pause 100 print_locate 150,100 print string$(50,chr$(32)) return | |
|
Pedro
Nombre de messages : 1595 Date d'inscription : 19/01/2014
| Sujet: Validation automatique d'une option. Ven 19 Jan 2024 - 17:13 | |
| Bonjour.
Merci Marc pour ton aide, mais ce n'est pas exactement ce que j'aurais souhaité.
Je voudrais que l'utilisateur n'ait pas à cliquer sur l'option pour la choisir, mais uniquement lorsqu'il approuve le choix proposé. Au final, il n'aurait pas non plus à cliquer sur le bouton 'OK' pour valider. | |
|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Validation automatique d'une option. Sam 20 Jan 2024 - 0:19 | |
| Salut Pedro J'avoue que je n'ai pas bien compris ce que tu cherches à faire exactement. Tu disposes d'une série d'option dont l'une contient un choix par défaut et tu veux que le programme utilise cette valeur sans l'intervention de l'utilisateur, sauf si ce dernier opte pour un autre choix, est-ce bien ça ? Je te propose un long bout de code à étudier; peut-être trouveras-tu ton bonheur. Le programme affiche une série de choix (choisir une planète) et propose la planète Terre (cochée par défaut) qu'il utilisera dans la suite du programme ( en affectant la valeur "Terre" à la variable planete$ et la valeur 9.8 à la variable gravity) si l'utilisateur ne la modifie pas. Si l'utilisateur (qui peut être un Martien) modifie son choix pour la planète Mars (en cochant l'option correspondante), le programme modifiera (et utilisera) de lui-même les valeurs. La variable planete$ contiendra "Mars" et la variable gravity contiendra 3.71. Le MEMO d'en bas visualise les valeurs par defaut et/ou modifiées par l'utilisateur. - Code:
-
rem ============================================================================ dim planete$,gravity dim i label choix ' ------------------------------------------------------------------------------ memo 100 : top 100,350 : left 100,50 : height 100,50 : font_bold 100 container_option 10 : height 10,250 : width 10 ,150 : font_bold 10 top 10,50 : left 10,50 : caption 10,"Choisir une Planète" for i = 11 to 20 option i : parent i,10 : top i, (i-10)*20 : left i,10 : on_click i,choix next i caption 11,"Mercure" caption 12,"Venus" caption 13,"Terre" : mark_on 13 : ' Choix par défaut (mark_on joue le rôle de on_click) caption 14,"Lune" caption 15,"Mars" caption 16,"Jupiter" caption 17,"Saturne" caption 18,"Uranus" caption 19,"Neptune" caption 20,"Pluton" ' ------------------------------------------------------------------------------ ' Initialisations planete$ = "Terre" : gravity = 9.8 : ' Valeurs par défaut
' Suite du code ' .............
end rem ============================================================================ Choix: select number_click case 11 : planete$ = "Mercure" : gravity = 3.70 case 12 : planete$ = "Venus" : gravity = 8.87 case 13 : planete$ = "Terre" : gravity = 9.8 case 14 : planete$ = "Lune" : gravity = 1.6 case 15 : planete$ = "Mars" : gravity = 3.71 case 16 : planete$ = "Jupiter" : gravity = 24.79 case 17 : planete$ = "Saturne" : gravity = 10.44 case 18 : planete$ = "Uranus" : gravity = 8.87 case 19 : planete$ = "Neptune" : gravity = 11.15 case 20 : planete$ = "Pluton" : gravity = 0.62 end_select Reinit_Memo() : ' reinitialiser le memo pour visualise les nouvelles valeurs return rem ============================================================================ SUB Reinit_Memo() item_add 100, "Planète : " + planete$ item_add 100, "Gravité : " + str$(gravity) + " m/s²" END_SUB rem ============================================================================
| |
|
Pedro
Nombre de messages : 1595 Date d'inscription : 19/01/2014
| Sujet: Validation automatique d'une option. Dim 21 Jan 2024 - 9:17 | |
| Bonjour.
Merci Papydall pour le code. Je vais l'étudier en détail. | |
|
Contenu sponsorisé
| Sujet: Re: Validation automatique d'une option. | |
| |
|