| RE problème avec SCANCODE | |
|
|
Auteur | Message |
---|
Invité Invité
| Sujet: RE problème avec SCANCODE Ven 18 Sep 2009 - 10:50 | |
| J'ai publié un script avec une fenêtre pour pouvoir rentrer un texte et ou une valeur. Je crois que je peux remettre en question celui-ci. En effet, j'ai mis 2 jours à complètement "déboguer" un programme, que je penser mettre sur le site. Il aurait pas été normal que je ne le fasse pas, vu que les autres membres prennent la peine de le faire. Mais voilà, ce programme qui fait + de 1000 lignes, je ne peut l'utiliser sur un EEEPC (lequel programme était destiné pour celui-ci). La fonction SCANCODE ne fonctionne pas. C'est un XP qui est installé dessus. Ainsi le code, que j'ai transformé de toutes les manières pour essayer de le faire marcher, ne fonctionne pas. - Code:
-
dim a$,a%,b$,b% label a,b
a: a%=scancode print_locate 100,50 print str$(a%)+"......" :wait 500 if a%<>27 then goto a b: terminate
Quoi que je fasse, avec toutes les transformations que j'ai pu faire, je n'obtient que : 255 Aller comprendre pourquoi. ça devient déroutant d'être tout le temps bloqué, et je n'en veut pas à JACK qui se donne un mal fou pour nous. à+ |
|
| |
Jack Admin
Nombre de messages : 2386 Date d'inscription : 28/05/2007
| Sujet: Re: RE problème avec SCANCODE Ven 18 Sep 2009 - 11:18 | |
| Sur le PC que j'utilise actuellement (mais je ne suis pas chez moi), ton source fonctionne parfaitement. Je te suggère, pour te dépanner, d'utiliser INKEY$ à la place de SCANCODE, car dans PANORAMIC, INKEY$ est codé de manière très différente de SCANCODE. En effet, INKEY$ reçoit et traite l'événement Windows qui correspond à la frappe d'une touche tandis que SCANCODE lit directement le clavier. - Code:
-
dim a$ label a,b
a: a$=inkey$ print_locate 100,50 print a$+"......" :wait 500 if asc(a$)<>27 then goto a b: terminate | |
|
| |
Invité Invité
| Sujet: Re: RE problème avec SCANCODE Ven 18 Sep 2009 - 15:57 | |
| Merci pour ta réponse Le programme fonctionne parfaitement sur mon pc normal, puisque j'été près à le publier, c'est sur mon EEE PC qu'il ne fonctionne pas. Par contre le code avec inkey$ que tu montre fonctionne, à la différence près, que toutes les touches ne sont pas concernées. Ainsi:TAB CTRL ALT FN SUPPR INSER PAUSE SHIFT, toutes les touches de fonction, les touches de direction,ALT Gr, ne fonctionnent pas. (ne donnent que 0) Il n'y a que la touche exposant qui donne le code 178 : en transformant ainsi: - Code:
-
a$=inkey$ print_locate 100,50 print str$( asc(a$) )+".....":wait 200 if asc(a$)<>27 then goto a terminate aucune valeur. Avec le PC normal, toutes les touches avec scancode donnent une valeur différente. Et là, je suis limité par le choix des touches pour avoir un contrôle, et suivre plusieurs directions dans le codage. A+ |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 69 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: RE problème avec SCANCODE Ven 18 Sep 2009 - 16:17 | |
| J'étais en train de te répondre Cosmos70, mais tu m'a doublé.
J'ai fait exactement comme toi (sauf que j'ai rajouté une ligne print_locate 100,50:print " " pour effacer le caractère précedent) car j'ai supposé que ton problème c'est que si on utilise SCANCODE la valeur des touches de fonction et des flèches de direction founissent toutes pour ASC(a$) la valeur 255, ce qui éffectivement peut être genant dans certain vieux programme de jeux en BASIC (j'en ai). Et avec INKEY$ c'est pas mieux la valeur fourni est zéro.
A+ | |
|
| |
Invité Invité
| Sujet: Re: RE problème avec SCANCODE Sam 19 Sep 2009 - 1:20 | |
| Salut Jean Claude Le problème pour moi, n'est pas d'afficher un caractère, mais de pouvoir avec certaines touches de faire des actions différentes, qui n'utilisent pas les caractères affichables, Sur mon vieux pc de bureau, il n'y a pas de problème, mon programme est fini, mais lorsque je transpose sur mon ultra portable, scancode ne réagi pas. J'ai toujours un code :255, quand à inkey$, cela fonctionne sur le EEEPC, mais je n'ai aucune réaction des touches "d'interaction", si je puis dire. La représentation avec des "." ou espace, n'a aucune importance dans la recherche, seulement visualiser ce que je frappe, pour connaitre le code, c'est un programme d'essai. Une question: j'ai rapidQ sur mon ordi mais je ne l'ai jamais essayé, il me semble que l'un des membres l'utilise. Est-il possible de faire un programme avec, une fois compilé, de l'utiliser avec execute. RapidQ, si je l'ai récupéré, il y a plusieurs années sur un CD je pense (je ne sais plus), je l'ai jamais utilisé, vu que je n'avais pas de Doc, et EXECUTE, je ne m'en suis pas encore servi. Est-ce que cela peut se faire? Merci A+ |
|
| |
Jack Admin
Nombre de messages : 2386 Date d'inscription : 28/05/2007
| Sujet: Re: RE problème avec SCANCODE Sam 19 Sep 2009 - 7:04 | |
| Tu peux exécuter tout programme compilé (avec RapidQ ou autre) avec la commande execute. Voici un grand classique: le lancement de l'éditeur de texte Windows (notepad) - Code:
-
execute "notepad.exe" Je suis très étonné d'apprendre que scancode ne fonctionne pas sur un EEEPC. Cela veut dire que le clavier n'est pas du tout comme un clavier d'un PC de bureau ou comme celui d'un portable. Dans PANORAMIC, scancode lit directement le clavier par une méthode archi-classique et très rapide, qui doit être utilisée par bon nombre de logiciels et en particulier des jeux. Je pense que PANORAMIC n'est pas le seul à ne pas fonctionner. As tu essayé des jeux qui utilisent intensivement le clavier ? | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 69 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: RE problème avec SCANCODE Sam 19 Sep 2009 - 7:46 | |
| - Citation :
si on utilise SCANCODE la valeur des touches de fonction et des flèches de direction founissent toutes pour ASC(a$) la valeur 255,
Je ne sais pas comment je me suis débrouillé hier ? ASC(a$) ont s'en moque, il faut regarder SCANCODE et ne pas mélanger les 2. Je retire ce que j'ai dit. SCANCODE fourni bien une valeur différente pour chaque touches du clavier, y compris les flèches et les touches de fonction. JACK, quand je dis des "conneries", tu es autorisé de me le dire. A+ | |
|
| |
Invité Invité
| Sujet: Re: RE problème avec SCANCODE Sam 19 Sep 2009 - 8:38 | |
| Je n'ai pas l'habitude de jouer, et un peu débordé de partout en ce moment Tous les programmes habituels sur EEEPC fonctionnent et utilisent toutes les touches. J'essayerai de faire des testes plus poussé pour voir ce qui se passe avec d'autre langage par exemple. Mais là je viens de rentrer mon bois de chauffage de la forêt, et je n'ai pas de temps en ce moment. Peut-être pourriez-vous essayer le code suivant sur votre ordi pour voir si tout le monde obtient le même résultat. - Code:
-
dim a%,a$,b$ label a,b
message "sortie par <ESC>" a: a%=scancode:a$=inkey$ b$= "a%=" + str$(a%) + " a$=" + a$ + " len(a$)="+str$(len(a$)) if len(a$)>0 then b$= b$ + " asc(a$)=" +str$( asc(a$)) print_locate 10,50 :print b$+" .............." if a%=27 or a$=chr$(27) then goto b wait 1500 goto a b: terminate et dire qu'est-ce que vous constatez. Nota: j'ai évité la boucle repeat until qui a l'air de posé problème avec inkey$, comme j'ai déjà dit ailleurs. A+ |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 69 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: RE problème avec SCANCODE Sam 19 Sep 2009 - 10:44 | |
| Constat:
a% (SCANCODE) fourni une valeur pour toutes le touches du clavier
a$ (INKEY$) fourni la valeur ASCII seulement pour les touches du pavé numérique et du pavé alphanumérique du clavier.
A+ | |
|
| |
Invité Invité
| Sujet: Re: RE problème avec SCANCODE Sam 19 Sep 2009 - 22:20 | |
| Merci Jean Claude. J'obtiens les mêmes résultats que toi sur mon pc normal. Sur l'ultra portable, seul fonctionne inkey$ qui a le même comportement que l'autre pc. A Jack: J'ai utilisé Justbasic pour faire un essai avec inkey$: celui-ci décline 2 possibilités : un caractère normal, donne le même résultat que Panoramic Un caractère de déplacement -shift etc se code sur 2 octets. Le 1èr =0 le second donne le même code que scancode. A+ |
|
| |
JL35
Nombre de messages : 7095 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: RE problème avec SCANCODE Dim 20 Sep 2009 - 17:52 | |
| Comme QuickBasic, Inkey$ pour les touches de fonction renvoie deux octets: 00 xx | |
|
| |
Invité Invité
| Sujet: Re: RE problème avec SCANCODE Jeu 29 Oct 2009 - 22:14 | |
| - Code:
-
dim a$,a%,b$,b%,c$ label a,b
width 0,250:top 0,150:left 0,200:height 0,150:caption 0,"Référence scancode" print_locate 30,60:print "Touche enfoncée :"
a: a%=scancode if (a%<>0) c$=inkey$ else c$=" " end_if print_locate 30,30 print str$(a%)+"......":wait 10 print_locate 30,60 print "Touche enfoncée :" print_locate 50,80:print c$ if a%<>27 then goto a b: terminate
Moi j'utilise ce code comme référence quant j'ai besoin de "Scancode"Et ce qui est pour scancode c'est qu'il bloque le reste du programme si je l'utilise de cette façon : - Code:
-
label debut
edit 1:width 1,400 debut: if scancode=27 then terminate goto debut
Comme dans cet exemple je ne peut pas écrire dans l'edit.A+ |
|
| |
Georges
Nombre de messages : 290 Age : 55 Localisation : Martinique Date d'inscription : 29/05/2009
| Sujet: re Jeu 29 Oct 2009 - 22:25 | |
| salut Jack a développé des fonctions pour sortir de l'édit avec un test au clavier. Tu as entre autres ON_KEY_UP et ON_KEY_DOWN, je l'ai es testées ,elles fonctionnent . Georges @+ | |
|
| |
Georges
Nombre de messages : 290 Age : 55 Localisation : Martinique Date d'inscription : 29/05/2009
| Sujet: re Jeu 29 Oct 2009 - 22:26 | |
| resalut ton premier code est pas mal très pratique @+ | |
|
| |
Georges
Nombre de messages : 290 Age : 55 Localisation : Martinique Date d'inscription : 29/05/2009
| Sujet: re Jeu 29 Oct 2009 - 22:26 | |
| resalut ton premier code est pas mal très pratique @+ | |
|
| |
Invité Invité
| Sujet: Re: RE problème avec SCANCODE Jeu 29 Oct 2009 - 22:37 | |
| C'est dommage mais je n'ai pas put télécharger la version instantanée du 19 octobre 2009. |
|
| |
Contenu sponsorisé
| Sujet: Re: RE problème avec SCANCODE | |
| |
|
| |
| RE problème avec SCANCODE | |
|