Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Bizarre bizarre est-ce un bug du langage ? (résolu) | |
| | Auteur | Message |
---|
jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: Bizarre bizarre est-ce un bug du langage ? (résolu) Ven 15 Avr 2016 - 14:39 | |
| Voici un premier mini programme (qui est une partie d'un programme plus vaste que je concocte) qui fonctionne normalement : Lorsque vous sélectionnez un texte dans un combo ou un edit et que vous cliquez sur le form 0 vous obtenez le numéro de l'objet-système qui contient le texte sélectionné. Essayez, d'ailleurs, et vous vous direz : rien d'anormal jusque là ! - Code:
-
dim i% , j% label go alpha 5 top 5,50 ' button 10 ' top 10,100 on_click 0,go
for i%=640 to 760 step 20 if i%<>720 combo i% left i%,((i%/20)-32)*60 width i%,50 item_add i%,"azerty" end_if next i% edit 780 left 780,420 alpha 900 top 900,200 caption 900,"Cliquez ici -->" end go: j%=0 for i%=640 to 780 step 20 if i%<>720 if select_read$(i%)<>"" j%=i% exit_for end_if end_if next i% caption 5,j% return Et maintenant, vous rajoutez un bouton et ça se met à fonctionner bizarrement, plus avec les combo qu'avec edit. Quelqu'un aurait une explication ? - Code:
-
dim i% , j% label go alpha 5 top 5,50 button 10 top 10,100 caption 10,"Cliquez ici" on_click 10,go
for i%=640 to 760 step 20 if i%<>720 combo i% left i%,((i%/20)-32)*60 width i%,50 item_add i%,"azerty" end_if next i% edit 780 left 780,420 end go: j%=0 for i%=640 to 780 step 20 if i%<>720 if select_read$(i%)<>"" j%=i% exit_for end_if end_if next i% caption 5,j% return BN: Tiens, et si je remplace le button par un panel, ça fonctionne bien, de plus en plus bizarre...!
Dernière édition par jjn4 le Sam 16 Avr 2016 - 16:01, édité 1 fois | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Bizarre bizarre est-ce un bug du langage ? (résolu) Ven 15 Avr 2016 - 20:17 | |
| Bonsoir Jjn4,
Je confirme, chez moi, le même dysfonctionnement. Dans ton 2ème source, l'instruction SELECT_READ$ ne lit pas les COMBOs ! ! ? ?
Et..., je n'ai pas d'explication !
Attendons les autres tests et avis.
| |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Bizarre bizarre est-ce un bug du langage ? (résolu) Ven 15 Avr 2016 - 20:50 | |
| Suite ... Si tu utilises juste avant SELECT_READ$ la fonction SELECT_TEXT, ça fonctionne. Ce qui donne : - Code:
-
go: j%=0 for i%=640 to 780 step 20 if i%<>720 SELECT_TEXT i%,1,20 if select_read$(i%)<>"" j%=i% exit_for end_if end_if next i% caption 5,j% return Dans cet exemple, je n'ai sélectionné que les 20 premiers caractères. | |
| | | silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Bizarre bizarre est-ce un bug du langage ? (résolu) Sam 16 Avr 2016 - 8:20 | |
| A mon avis, ce n'est pas un dysfonctionnement. Dès que tu cliques sur le bouton, le combo perd le focus, du coup 'select_read' ne vois plus rien. Sous panoramic_editor, regarde dans aide puis evénements, tu verras ce que le combo peu détecter comme événements qui peu te servir(le 'on_change' devrait te plaire . | |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Sam 16 Avr 2016 - 12:22 | |
| Merci, Marc37, pour les possiblités avec le select_text, mais ce n'est pas le but de mon programme qui consiste à déterminer le choix de l'utilisateur du programme. Je pense qu'il s'agit bien d'un dysfonctionnement, puisque lorsque je mets un panel en guise de bouton, ça fonctionne très bien. Je pense donc que le select_read$ est incompatible avec les boutons. Exemple du programme 2 ci-dessus, mais avec un panel - Code:
-
dim i% , j% label go alpha 5 top 5,50 panel 10 top 10,100 caption 10,"Cliquez ici"
on_click 10,go
for i%=640 to 760 step 20 if i%<>720 combo i% left i%,((i%/20)-32)*60 width i%,50 item_add i%,"azerty" end_if next i% edit 780 left 780,420 end go: j%=0 for i%=640 to 780 step 20 if i%<>720 if select_read$(i%)<>"" j%=i% exit_for end_if end_if next i% caption 5,j% return | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Bizarre bizarre est-ce un bug du langage ? (résolu) Sam 16 Avr 2016 - 12:29 | |
| Cela ne contredit pas ce que suggère Silverman. Un panel ne peut recevoir de focus. Essaie plutôt avec un EDIT ou un MEMO. | |
| | | silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Bizarre bizarre est-ce un bug du langage ? (résolu) Sam 16 Avr 2016 - 12:52 | |
| voila une version modifié et fonctionnelle de ton code avec un bouton, qui confirme cette histoire de focus: - Code:
-
dim i% , j% ,hwndF%, hwnd% label go,checkfocus alpha 5 top 5,50 button 10 top 10,100 caption 10,"Cliquez ici"
on_click 10,go
for i%=640 to 760 step 20 if i%<>720 combo i% left i%,((i%/20)-32)*60 width i%,50 item_add i%,"azerty" on_change i%,checkfocus end_if next i% edit 780 left 780,420 dll_on "user32" END ' checkfocus: hwndF%=dll_call0("GetFocus") return
go: hwnd%=dll_call1("SetFocus",hwndF%) j%=0 for i%=640 to 780 step 20 if i%<>720 if select_read$(i%)<>"" j%=i% exit_for end_if end_if next i% caption 5,j% return
| |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Bizarre bizarre est-ce un bug du langage ? (résolu) Sam 16 Avr 2016 - 14:38 | |
| Je viens de tester la solution de Silverman et de la version Jjn4 avec PANEL, je ne vois aucune différence de fonctionnement avec la solution que j'ai proposée plus haut : Ajout de SELECT_TEXT i%,1,20 juste avant if select_read$(i%)<>"". Le résultat semble strictement identique. | |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Sam 16 Avr 2016 - 15:45 | |
| Oui, oui, je vois la différence, un bouton « s'enfonce » et donc capte le focus avant d'exécuter ce pourquoi on le programme alors que le panel ne « bouge » pas et n'empêche pas le focus d'être capté au niveau du combo ou de l'edit. Pffff, vilains boutons ! Merci, Silverman, mais comme ton truc marche avec les combo mais pas avec les edit, je vais tout simplement garder des panel en guise de bouton, dans mon programme. Donc, effectivement, ce n'est pas un bug. Merci à tout le monde ! Je vous posterai prochainement mon programme quand il sera fini... | |
| | | silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Bizarre bizarre est-ce un bug du langage ? (résolu) Dim 17 Avr 2016 - 10:28 | |
| Bien sur que si ça marche, mais il faut utiliser un 'on_click' à la place du 'on_change': - Code:
-
dim i% , j% ,hwndF%, hwnd% label go,checkfocus alpha 5 top 5,50 button 10 top 10,100 caption 10,"Cliquez ici"
on_click 10,go
for i%=640 to 760 step 20 if i%<>720 ' combo i% : item_add i%,"azerty" edit i% : text i%,"azerty" left i%,((i%/20)-32)*60 width i%,50 ' on_change i%,checkfocus on_click i%,checkfocus end_if next i% edit 780 left 780,420
dll_on "user32" END ' checkfocus: hwndF%=dll_call0("GetFocus") return
go: hwnd%=dll_call1("SetFocus",hwndF%) j%=0 for i%=640 to 780 step 20 if i%<>720 if select_read$(i%)<>"" j%=i% exit_for end_if end_if next i% caption 5,j% return
| |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Dim 17 Avr 2016 - 14:03 | |
| | |
| | | Contenu sponsorisé
| Sujet: Re: Bizarre bizarre est-ce un bug du langage ? (résolu) | |
| |
| | | | Bizarre bizarre est-ce un bug du langage ? (résolu) | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |