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 |
|
|
| BEEP suite à ENTER dans un EDIT | |
| | Auteur | Message |
---|
silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: BEEP suite à ENTER dans un EDIT Mar 23 Jan 2018 - 18:15 | |
| Bonjour à tous - Code:
-
edit 1 set_focus 1 enfoncez la touche ENTER ou RETURN, vous entendrez le beep windqows. Comment empêcher ça, quelqu'un à la solution, ou est ce un bug? | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: BEEP suite à ENTER dans un EDIT Mar 23 Jan 2018 - 18:29 | |
| Ben Moi, je n'ai pas de beep.
W8.1
Rectification j'ai bien un BEEP, mais je ne vois pas comment le supprimer. A part, y mettre un on_key_down.... A+
| |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: BEEP suite à ENTER dans un EDIT Mar 23 Jan 2018 - 18:43 | |
| Salut Silverman ! Peut être un début de solution par ici ou bien là aussi.Mais c'est pas en Panoramic ! mais on peut peut-être adapter quelques chose DLL ou autre... Bonne chance pour la suite... | |
| | | Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: BEEP suite à ENTER dans un EDIT Mer 24 Jan 2018 - 1:05 | |
| Bonsoir, Il y a un autre problème avec EDIT, c'est qu'il y a un mauvais fonctionnement de caret_position sur cet objet. Lorsqu'on clique avec la flèche haute, le curseur vient au début. Là, pas de problème, mais si on veut sauvegarder la position du curseur dans une liste, pour revenir à un autre endroit (je sais c'est perturbant comme réflexion, mais c'est un problème sur lequel je me heurte depuis quelques jours), en cliquant avec la flèche haute, et voulant mettre le curseur sur l'edit à son ancien emplacement, il y a un décalage vers la gauche. Mon propos est tout à fait justifié pour mon programme. J'avais fait un programme de démo pour présenter le problème, mais il m'est venu des idées que j'ai voulu expérimenter, et à force de modifier, je n'ai plus rien à montrer. , d'autant que mon ordi s'est éteint, faute d'un interrupteur éteint sur une rallonge. J'ai depuis x temps un problème, au bout d'un quart d'heure, sans courant, celui-ci se coupe directement. | |
| | | silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: BEEP suite à ENTER dans un EDIT Mer 24 Jan 2018 - 2:14 | |
| Il faut que ce soit 100% panoramic. Vu que ça ne beep pas avec les edit des 'message_input' et 'message_input$', je considère ça comme un bug. @oscaribout Les edit, je suis en plein dedans en ce maoment. Est ce quelque chose comme ça que tu recherches? J'ai utilisé un tableau pour gagner du temps parceque la c'est l'heure de mais ça devrait le faire avec un list. - Code:
-
label test dim i , edt , pos(3)
edit 1 : text 1,"azertyuiop"
edit 2 : top 2,50 : text 2,"azertyuiop"
edit 3 : top 3,100 : text 3,"azertyuiop"
for i=1 to 3 on_key_down i,test next i
' initialise la position du caret de chaque edit set_focus 1 edt=1:caret_position edt,1:pos(edt)=caret_position(edt) edt=2:caret_position edt,3:pos(edt)=caret_position(edt) edt=3:caret_position edt,5:pos(edt)=caret_position(edt)
END
test: edt=number_key_down pos(edt)=caret_position(edt) if key_down_code=38 :' flèche haut if edt=1 then edt=3+1 set_focus edt-1 caret_position edt-1,pos(edt-1) end_if if key_down_code=40 :' flèche bas if edt=3 then edt=0 set_focus edt+1 caret_position edt+1,pos(edt+1) end_if return | |
| | | Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: BEEP suite à ENTER dans un EDIT Mer 24 Jan 2018 - 10:14 | |
| Bonjour Silverman. Suite à ton exemple, j'ai refais un teste qui a l'air de fonctionner. J'ai modifié le code pour un bug le 24/01 23h40 - Code:
-
label test font_size 0,12:font_bold 0:font_name 0,"Consolas" dim i , edt , cur%, tx$ , line% , top% tx$ = "" : line% = 1
edit 1 edit 2 : text 2,tx$ : hide 2 :' avatar for i=1 to 2 : on_key_down i,test : width i,500 : next i ' initialise la position du caret de chaque edit edt=1:cur%=caret_position(edt) : set_focus 1 text 1,tx$ memo 5 : top 5,30 : width 5,width_client(0) : height 5,200 list 6 : top 6,250 : height 6,170 END ' =============================== test: edt=number_key_down off_key_down 1:off_key_down 2 repeat : until scancode = 0 tx$=text$(edt) cur%=caret_position(edt)
if key_down_code=38 :' flèche haut versLeHaut() if edt=1 edt = 2 show edt : hide edt-1 else edt=1 show edt : hide edt+1 end_if text edt,tx$ : set_focus edt : caret_position edt,cur% end_if
if key_down_code=40 or key_down_code = 13:' flèche bas ou return versLeBas() if edt=1 edt = 2 show edt : hide edt-1 else edt=1 show edt : hide edt+1 end_if text edt,tx$ : set_focus edt : caret_position edt,cur% end_if on_key_down 1,test : on_key_down 2,test return ' =============================== sub remplace_item(obj%,line%,a$) item_delete obj%,line% item_insert obj%,line%,a$ end_sub ' =============================== sub versLeBas() remplace_item(5,line%,tx$) remplace_item(6,line%,cur%) line%=line%+1 if count(5) >= line% tx$ = item_read$(5,line%) cur%= item_read$(6,line%) else tx$ = "" : cur%=0 end_if end_sub ' =============================== sub versLeHaut() if line% >1 remplace_item(5,line%,tx$) remplace_item(6,line%,cur%) line%=line%-1 if count(5) >= line% tx$ = item_read$(5,line%) cur%= item_read$(6,line%) else tx$ = "" : cur%=0 end_if text edt,tx$ : caret_position edt,cur% end_if end_sub
J'ai utilisé 2 EDITs pour la même chose, et dans ce cas, la position du curseur semble correct. Bon je reprendrai les testes ce soir. Là j'ai dépassé l'heure.
Dernière édition par Oscaribout le Mer 24 Jan 2018 - 23:43, édité 2 fois | |
| | | silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: BEEP suite à ENTER dans un EDIT Mer 24 Jan 2018 - 14:08 | |
| Interessant. J'ai au un plantage car Il manque un 'off_key_down / on_key_down' dans la procédure "test" | |
| | | Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: BEEP suite à ENTER dans un EDIT Mer 24 Jan 2018 - 15:43 | |
| - Silverman a écrit:
- Interessant. J'ai au un plantage car Il manque un 'off_key_down / on_key_down' dans la procédure "test"
J'avais testé rapidement, et évidemment tu as raison. Je n'avais pas eu de plantage, mais c'est logique. On stop l'événement d'un edit, et on repart sur l'autre. EDIT: j'ai apporté la modification plus haut. Mais j'ai vu qu'il y avait encore un problème. Pour remonter sur la ligne précédente, il faut cliquer 2 fois vers le haut. Mais là c'est pas l'heure pour voir le problème. | |
| | | Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: BEEP suite à ENTER dans un EDIT Mer 24 Jan 2018 - 23:45 | |
| Il y avait une partie du code qui était mal placée. J'ai édité ce dernier plus haut. | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: BEEP suite à ENTER dans un EDIT Jeu 25 Jan 2018 - 12:10 | |
| Bonjour à tous, Voici une solution de contournement pour éviter le BEEP dans l'edit. Il s'agit de créer d'abord un memo aux mêmes dimensions de l'edit, de lui donner le focus, et de créer pardessus notre edit. Ainsi on entre le texte dans le mémo qui peut recevoir la touche enter sans le BEEP. Il suffit de lire la ligne du mémo, et de la reproduire dans l'edit. A chaque fois qu'on valide par enter, le memo est effacé. L'edit aussi est effacé, mais libre à vous de laisser affiché l'edit. J'ai rajouté le caractère "_" car aucun curseur n'est apparent. Libre à vous de le faire apparaître ou non. - Code:
-
label texte memo 1:width 1,121:height 1,21:set_focus 1:on_change 1,texte edit 2:text 2,"_" end
texte: text 2,item_read$(1,1)+"_":if scancode=13 then clear 1:text 2,"_" return
Voilà, à + | |
| | | silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: BEEP suite à ENTER dans un EDIT Jeu 25 Jan 2018 - 12:40 | |
| @ocaribout Je confirme, ça marche nickel maintenant @bignono Tout simplement AS-TU-CIEUX J'achète | |
| | | Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: BEEP suite à ENTER dans un EDIT Jeu 25 Jan 2018 - 15:27 | |
| Il y a une autre solution que j'ai employé il y a 2/3 ans pour un programme qui a avorté. A la place d'un edit, on utilise tout simplement un memo qu'il faut régler pour une ligne. Ce qui permet d'avoir le curseur, évite le bip de fin de ligne. Il faut donc mettre bar_horizontal pour éviter les sauts de ligne, et vider le memo à chaque changement de ligne.
Cela fonctionnait, mais j'ai un travail à finir pour ce soir, je ne mets pas de code. | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: BEEP suite à ENTER dans un EDIT Jeu 25 Jan 2018 - 15:51 | |
| Oui, il y a encore plus simple! Juste utiliser un mémo d'une ligne au dimension de l'edit et on garde le curseur clignotant. Il se vide dès qu'on valide avec la touche Enter, sans le beep! - Code:
-
label texte memo 1:width 1,121:height 1,21:set_focus 1:on_change 1,texte end
texte: if scancode=13 then clear 1 return A + | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: BEEP suite à ENTER dans un EDIT Jeu 25 Jan 2018 - 16:26 | |
| Bravo Bignono, ça marche - Code:
-
label texte memo 1 : width 1,121 : height 1,21 : left 1,200 : set_focus 1 : on_change 1,texte end
texte: if scancode = 13 then print text$(1) : clear 1 return
| |
| | | Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: BEEP suite à ENTER dans un EDIT Ven 26 Jan 2018 - 1:21 | |
| En revoyant le source plus haut, j'ai fait une drôle de découverte. J'ai utilisé par erreur text$, au lieu de item_read$() pour un memo: Étant ici un peu entre par parenthèses, je ne vais pas plus loin dans mes réflexions. - Code:
-
memo 1 item_add 1,"essai" message text$(1)
item_add 1,"ligne suivante" message text$(1)
item_add 1,"autre ligne suivante" message text$(1)
item_add 1,"On a ainsi tout le memo dans text$(x)" message text$(1) +chr$(13)+str$(len(text$(1))) PANORAMIC: version 0.9.28i8 | |
| | | Contenu sponsorisé
| Sujet: Re: BEEP suite à ENTER dans un EDIT | |
| |
| | | | BEEP suite à ENTER dans un EDIT | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |