FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Cacher la barre des tâches
par Klaus Aujourd'hui à 8:41

» quel est ce comportement de Panoramic_editor
par Oscaribout Aujourd'hui à 0:22

» Des FORM(s) Colorés
par Jean Claude Hier à 20:58

» Recherches dans un fichier texte
par JL35 Hier à 20:18

» Problème d'affichage des pages du forum (Résolu)
par Jean Claude Hier à 20:00

» Une "base de connaissance" - pour jouer ou plus si affinité
par Klaus Hier à 19:10

» Objet 3D_PLANE, réalisation d'un dé en 3D
par papydall Hier à 13:54

» Créer une application *.exe
par Yannick Ven 18 Mai 2018 - 20:01

» [RÉSOLU] Priorité affichage des objets : comment la définir?
par papydall Ven 18 Mai 2018 - 18:22

» Aucune différence entre ON_CLICK et ON_DOUBLE_CLICK
par Jean Claude Jeu 17 Mai 2018 - 8:37

» [Résolu] Récuperer les fonctions systeme de Panoramic
par Minibug Mar 15 Mai 2018 - 23:21

» Est-ce qu'un fichier est inclus dans l'application ?
par Yannick Mar 15 Mai 2018 - 12:04

» Création d'une application avec Panoramic_Editor
par Klaus Mar 15 Mai 2018 - 0:36

» Pour faire patienter
par Minibug Lun 14 Mai 2018 - 21:25

» Une copie de Panoramic Editeur
par Minibug Lun 14 Mai 2018 - 19:55

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2018
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 Bug ou incompréhension de ma part ? [Résolu]

Aller en bas 
AuteurMessage
Klaus

avatar

Nombre de messages : 11080
Age : 69
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Bug ou incompréhension de ma part ? [Résolu]   Mar 1 Mai 2018 - 1:12

Pour la fonction MOUSE_LEFT_DOWN(N), la doc dit qu'elle returne 1 si le bouton gauche est enfoncé au-dessus de l'objet N, et 0 sinon. Et MOUSE_LEFT_UP(N) est supposé de façon symmétrique.

Donc, je supposais naïvement que, lorsque MOUSE_LEFT_DOWN retourne 1, MOUSE_LEFT_UP retourne 0 et vice-versa, permettant ainsi de tester à tout moment si le bouton gauche de la souris est enfoncé ou non, au-dessus d'un objet.

Or, il n'en est rien. Que le bouton gauche soit enfoncé ou non, ces deux fonctions retournent 0 dans une belle unisson, sauf une seule fois, au moment précis ou le bouton gauche est enfoncé ou relâché. Là, les valeurs sont bonnes, une foiset une seule.

Tel quel, ces fonctions ne permettent donc pas de connaître l'état du bouton gauche au-dessus d'un objet (il en est de même pour le bouton droit). Ces fonctions ne signalent que les transitions, ce qui est déjà fait par les évènements ON_MOUSE_DOWN et ON_MOUSE_UP. Mais il est impossible de les utiliser dans un évèmenent ON_MOUSE_MOVE pour connaître l'état des boutons.

Démo:
Code:
label move
dim x%, y%, d%, u%
on_mouse_move 0,move
END  
  
move:
  d% = mouse_left_down(0)
  u% = mouse_left_up(0)
  x% = mouse_x_position(0)
  y% = mouse_y_position(0)
  caption 0, str$(d%)+"/"+str$(u%)+"   "+str$(x%)+","+str$(y%)
  return  

Question: est-ce normal ? Pour moi, il y a un problème !


Dernière édition par Klaus le Mar 1 Mai 2018 - 9:29, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
silverman

avatar

Nombre de messages : 614
Age : 45
Localisation : Picardie
Date d'inscription : 18/03/2015

MessageSujet: Re: Bug ou incompréhension de ma part ? [Résolu]   Mar 1 Mai 2018 - 9:07

Difficile à dire à la vue de l'exemple de la doc puisque aucun évènement n'est utilisé, mais j'ai découvert ce comportement comme ça et j'apprécis, il permet de réaliser un cliché de la position de la souris par exemple.
Pour connaitre l'état du bouton au dessus d'un objet:
Code:
    label move
    dim x%, y%, d%, u%
    d%=0 : u%=1                                :' <-----
    on_mouse_move 0,move
    END 
     
    move:
      off_mouse_move 0
      if mouse_left_down(0)>0 then d%=1 : u%=0  :' <-----
      if mouse_left_up(0)>0 then d%=0 : u%=1    :' <-----
      x% = mouse_x_position(0)
      y% = mouse_y_position(0)
      caption 0, str$(d%)+"/"+str$(u%)+"  "+str$(x%)+","+str$(y%)
      on_mouse_move 0,move
      return


Dernière édition par silverman le Mar 1 Mai 2018 - 9:48, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 11080
Age : 69
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Bug ou incompréhension de ma part ? [Résolu]   Mar 1 Mai 2018 - 9:28

Merci, Silverman ! Ton astuce permet de mémoriser le changement d'état du bouton de la souris, et ça devient ainsi utilisable. Donc, on va dire que je n'avais pas compris et que ce n'est pas un bug. Tant lieux.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Fredisland

avatar

Nombre de messages : 251
Age : 53
Localisation : Centre France
Date d'inscription : 30/03/2018

MessageSujet: Re: Bug ou incompréhension de ma part ? [Résolu]   Mar 1 Mai 2018 - 11:39

J'ai aussi eu des doutes. Il aurait fallu en fait que les libellés des commandes soient plus explicites, car MOUSE_LEFT_DOWN ne spécifie pas si on surveille l'action du clic gauche, ou l'état du clic gauche. En revanche, le doute disparaitrait avec :

MOUSE_ON_LEFT_DOWN
MOUSE_IS_LEFT_DOWN
Revenir en haut Aller en bas
Voir le profil de l'utilisateur https://acpc.me
Contenu sponsorisé




MessageSujet: Re: Bug ou incompréhension de ma part ? [Résolu]   

Revenir en haut Aller en bas
 
Bug ou incompréhension de ma part ? [Résolu]
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [résolu]pc infecté par wwwzuc32.exe
» [ résolu ]à propos de TFC
» Optimisation sécurité PC [Résolu]
» [Résolu] Fenêtres publicitaires intempestives
» [résolu]EXCEL

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