FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  ­FAQFAQ  ­RechercherRechercher  ­S'enregistrerS'enregistrer  ­MembresMembres  ­GroupesGroupes  ­ConnexionConnexion  
Derniers sujets
» Bizarrerie d'affichage
Aujourd'hui à 0:49 par debut

» Fichier à accès direct
Hier à 23:06 par cosmos70

» Sélection et position du curseur
Hier à 22:55 par Jean Claude

» Nouveau fil de discussion du forum
Hier à 14:36 par Jack

» Un Combo non éditable.
Hier à 9:19 par Jean Claude

» Un peu de détente...
Hier à 0:32 par jjn4

» #INCLUDE
Hier à 0:13 par Klaus

» Super album photo de famille
Jeu 18 Mar 2010 - 23:56 par jjn4

» Aller à la ligne dans message ou tout autre string
Jeu 18 Mar 2010 - 22:37 par JL35

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mars 2010
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
293031    
CalendrierCalendrier
Partager | 
 

 Problème avec INKEY$

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
cosmos70



Nombre de messages: 574
Localisation: France-Comté Haute-Saône
Date d'inscription: 07/08/2009

MessageSujet: Problème avec INKEY$   Lun 8 Fév 2010 - 19:48

Inkey$ a un problème lorsqu'il est appelé par un clic
Code:

dim b$,b%
label clavier
full_space 0

memo 1:width 1,600:height 1,500 :font_size 1,14
list 2:left 2,610:width 2,300:font_size 2,12 :height 2,600
' button 3:left 3,920:top 3,210:caption 3,"clavier":on_click 3,clavier

 gosub clavier
end
' ----------------------------------
clavier:
  print_target_is 2
  repeat
    b$=inkey$
    if (key_down_code=3 and key_down_special = 3 ) then exit_repeat
    if asc(b$)>0 then print asc(b$)," :",b$
    if scancode =13 or scancode>36 and scancode<41
      item_add 2,"scancode="+str$(scancode)
      repeat:until scancode=0
    end_if
  until scancode=13
  wait 2000: stop
return

Les codes sur l'appui des touches sont opérantes.
maintenant
Code:

dim b$,b%
label clavier
full_space 0

memo 1:width 1,600:height 1,500 :font_size 1,14
list 2:left 2,610:width 2,300:font_size 2,12 :height 2,600
button 3:left 3,920:top 3,210:caption 3,"clavier":on_click 3,clavier

' gosub clavier
end
' ----------------------------------
clavier:
  print_target_is 2
  repeat
    b$=inkey$
    if (key_down_code=3 and key_down_special = 3 ) then exit_repeat
    if asc(b$)>0 then print asc(b$)," :",b$
    if scancode =13 or scancode>36 and scancode<41
      item_add 2,"scancode="+str$(scancode)
      repeat:until scancode=0
    end_if
  until scancode=13
  wait 2000: stop
return

le bouton est activé, et le gosub clavier avant le END est mis de côté
on démarre avec l'appui sur un bouton: les touches du clavier ne fonctionnent pas, seul le résultat de scancode est visible
on ne peut donc pas se servir de inkey$ dans un programme normal
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
cosmos70



Nombre de messages: 574
Localisation: France-Comté Haute-Saône
Date d'inscription: 07/08/2009

MessageSujet: Re: Problème avec INKEY$   Mar 9 Fév 2010 - 23:23

La remarque concernant inkey$, vaut également avec les autres codes sauf scancode qui lui donne le message demandé.
Code:

label clavier

memo 1:width 1,300:height 1,50:on_change 1,clavier
memo 2:top 2,60:height 2,300:font_size 2,10:print_target_is 2
message "sortie par escarpe"
gosub clavier

end
' ----------------------------------
clavier:
  repeat
    print "key_down_special:",key_down_special ," scancode:",scancode ," key_down_code:",key_down_code
  until scancode=27
  stop
return

Tout comme inkey$, les codes avec KEY_ etc, fonctionnent lorsqu'on les appels directement avant END, mais dès qu'on est dans le programme (ici, on supprime le gosub clavier) les codes n'ont ne sont plus actifs
désolé de le dire, mais c'est vraiment pas pratique de faire du codage avec Panoramic en incluant les touches claviers. Si je veux insérer une ligne (il suffit de reprendre le programme que j'ai mis dans include) dans une liste, il y a la touche inser, mais celle_ci sert dans le mémo. L'idée est de doubler avec CTRL pour avoir une touche particulière, mais celle-ci n'est pas reconnu (comme shift Alt)
Pour insérer une ligne dans un mémo, on fait return, mais comme on ne sait pas où est le curseur, puisqu'il n'y a pas de commande spécifique pour le savoir, en descendant ou montant les lignes, celui-ci va suivre ou reculer sur une phrase plus courte, et le reste de la phrase, est-elle devant ou derrière le curseur sur un return?.
ça commence à me plaire, en faisant ce programme, je ne pensais passer tout ce temps, juste pour une histoire de clavier. Je croyais qu'avec les nouvelles commandes concernant le clavier, cela été réglé. J'ai vu des remerciement pour ces commandes, et c'est normale, mais pas de critique, et de bug. Je perds mon temps, je perds mon temps, et je reperds mon temps. Je devrais en être loin dans ce programme, et je suis encore bloqué malgrès les quantités d'essais que j'ai pu faire pour contourner ces obstacles. Je finis par me demander si j'ai pris le bon langage pour faire ce programme. C'est désespérant. Dommage. Là j'en ai vraiment plus qu'assez. J'ai d'autre chose plus important à faire, j'ai voulu faire une parenthèse avec ce programme, et j'en suis au même point.
Je ne dis pas le gros mot que j'ai envie de dire, d'autant que Jack n'a lui aussi pas que Panoramic à s'occuper. Je me demande si il est bon de prendre un langage en développement pour faire un programme important alors qu'il n'est pas finalisé, et que toutes les commandes ne sont testés. Je crois que finalement à part de programmer quelques jeux, et des truc basics, il faut pas chercher des trucs complexes avec ce langage. Pourtant celui-ci est prométeur.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
cosmos70



Nombre de messages: 574
Localisation: France-Comté Haute-Saône
Date d'inscription: 07/08/2009

MessageSujet: Re: Problème avec INKEY$   Mar 9 Fév 2010 - 23:38

Je viens encore de trouver une solution. Il faut croire qu'il suffit que je dise les choses sur le forum, pour avoir l'idée., Je le fais en 2 temps, d'abord contrôle, puis insert.
Code:


label clavier

memo 1:width 1,300:height 1,50:on_change 1,clavier
memo 2:top 2,60:height 2,300:font_size 2,10:print_target_is 2
message "sortie par escarpe"
' gosub clavier

end
' ----------------------------------
clavier:
  repeat
    print "key_down_special:",key_down_special ," scancode:",scancode ," key_down_code:",key_down_code
    if scancode=162
      wait 100
      repeat
        if scancode=45 then message "insert"
      until scancode =0
    end_if
  until scancode=27
  stop
return

NOTA: le fonctionnement pour <ctrl> <insert> est le suivant , vu que scancode ne prends qu'une touche:
appuie sur <ctrl>, garder le doigt appuyé, appuie sur <insert>, et relâchement de <ctrl>.
On pourrait ainsi faire des mots de passe avec cette méthode, même les plus simple serait introuvable, puisqu'il que 2 touches soient enfoncées en même temps, puis la précédente relâchée.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 

Problème avec INKEY$

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Un bug dans PANORAMIC?-