FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» trop de fichiers en cours
On_Click Emptypar Marc Aujourd'hui à 11:42

» Bataille navale SM
On_Click Emptypar jjn4 Hier à 17:39

» Une calculatrice en une ligne de programme
On_Click Emptypar jean_debord Hier à 8:01

» Gestion d'un système client-serveur.
On_Click Emptypar Pedro Jeu 25 Avr 2024 - 19:31

» Les maths du crocodile
On_Click Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
On_Click Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
On_Click Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
On_Click Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
On_Click Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
On_Click Emptypar papydall Dim 21 Avr 2024 - 23:30

» Form
On_Click Emptypar leclode Dim 21 Avr 2024 - 18:09

» 2D_fill_color(résolu)
On_Click Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
On_Click Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
On_Click Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
On_Click Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
Le Deal du moment :
Pokémon EV06 : où acheter le Bundle Lot ...
Voir le deal

 

 On_Click

Aller en bas 
5 participants
AuteurMessage
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

On_Click Empty
MessageSujet: On_Click   On_Click EmptyLun 2 Aoû 2010 - 17:45

La commande
ON_CLICK N, L
branche le programme au label L sur un clic souris, très bien, mais la documentation ne précise pas (je sais, c'est implicite) que c'est sur un clic du bouton GAUCHE.
Un clic sur le bouton DROIT est purement et simplement ignoré.

Ce qui aurait été bien, amha, c'est que le branchement se fasse indifféremment sur les deux clics gauche ou droite, quitte dans le sous-programme à tester lequel c'est, au besoin.

Actuellement je ne vois pas le moyen, en attente d'événement, de réagir sur un clic droit de la souris sur un objet.

Une remarque de pure forme concernant la doc ON_CLICK (rubrique ACTION): il est écrit ... assigne un label ... à partir de laquelle...
Revenir en haut Aller en bas
Klaus

Klaus


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

On_Click Empty
MessageSujet: Re: On_Click   On_Click EmptyLun 2 Aoû 2010 - 18:00

Effectivement, le clic droit n'est pas géré comme évènement par Panoramic. La fonction mouse_right_down() marche bien pour savoir si le bouton droit est enfoncé au moment où on appelle cette fonction, mais aucun évènement ne sera déclenché.

Cela rejoint une demande que j'avais faite il y a un moment pour avoir d'autres évènements, tels que on_mouse_in, on_mouse_out etc. Laissons le temps au temps: Jack nous a expliqué clairement ce qu'il prévoit, et je m'en contente largement.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




On_Click Empty
MessageSujet: Re: On_Click   On_Click EmptyLun 2 Aoû 2010 - 18:05

La seule méthode que j'ai trouvé est l'utilisation du TIMER.

regarde la méthode que j'ai utilisé pour faire un menu POP_UP. ça n'a pas la facilité de on_click, mais en cas de besoin, et en attendant l'arrivé (éventuelle) d'un click roit, ça peut dépanner.

Je ne contrôle pas, je suis très mal installé
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

On_Click Empty
MessageSujet: Re: On_Click   On_Click EmptyLun 2 Aoû 2010 - 18:22

Le timer c'est une idée, mais c'est bien plus lourd à gérer que le on_click.
Disons que c'est un pis-aller, si on en a vraiment besoin,parce qu'on ne peut pas faire autrement.
Je n'ai pas été voir, mais je suppose que tu as un timer qui tourne en permanence et au rebouclage il faut regarder si par hasard on n'a pas cliqué du droit entre temps. Et il faut qu'il tourne assez vite si on veut que ce soit vivable.
Si c'est ça, je me passerai du clic droit pour le moment...

Mais merci quand même cosmos, au moins c'est une solution.
Revenir en haut Aller en bas
Invité
Invité




On_Click Empty
MessageSujet: Re: On_Click   On_Click EmptyLun 2 Aoû 2010 - 19:08

Je suis désolé mais tout est faut. Je vois que tu n'as rien vu sur tout ce que j'ai mis à propos du timer.
Avec ON_TIMER tu créés un automatisme vu en quelque sorte il créé une interruption, avec l'interval que tu veux, comme le fait ON_CLICK d'ailleurs, sauf que le codage a été fait.
Le timer contrôle régulièrement les opérations qui ont étés programmés.
J'ai intégré un programme de menu pop_up avec celui-ci, et c'est lui qui réagit lorsque l'on fait un clic droit. A toi de voir, je me suis donné du mal pour expliquer dans le forum je ne peux pas faire plus. Si Klaus qui a compris je crois peut mieux faire que moi dans les explications, il sera le bien venu (et je crois qu'il le fera en français Razz )
A toi de voir.

Je viens de jeter un coup d'oeil sur le code, en fin de compte cela se résume à ceci après avoir mis en route le timer (pour faire un menu et un sous menu c'est évidemment plus complexe)
Code:
test_mouse_droit:
  ' parcourt les objets qui ont un menu pop_up
  for mouse%=1 to s_menu_fin%        :' 2 à modifier selon le nb d'objets
      if mouse_right_down(objet_s_menu%( mouse%))=1 then exit_for
  next mouse%
  if mouse%  <=  s_menu_fin% then gosub s_menu_reponse
return

A toi de savoir quoi faire dans s_menu_reponse (le label ici)
Revenir en haut Aller en bas
Klaus

Klaus


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

On_Click Empty
MessageSujet: Re: On_Click   On_Click EmptyLun 2 Aoû 2010 - 19:21

Tu as raison, Cosmos70. La routine on_timer est à lancer une fois, puis on l'oublie. Il ne faut surtout pas faire de boucle de surveillance.

Le timer lance une petite routine comme la tienne à intervalles réguliers, (tous les 10 ms par exemple). Cette routine vérifie alors mouse_right_down() pour les objets concernés, et si la valeur retournée est 1, alors elle peut appeler une routine spéciale pour le clic droit de cet objet, exactement comme si on l'avait appelé par un évènement on_right_click de cet objet.

A partir de ce moment-là, tout se déroule normalement. Ne pas oublier, si un veut déclencher un traitement un peu plus long, de désactiver le timer et de le réactiver après.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

On_Click Empty
MessageSujet: Re: On_Click   On_Click EmptyLun 2 Aoû 2010 - 20:45

Mon idée sur la question,

Un On_Click conduit vers un Label et si dans ce Label on introduit MRU=MOUSE_RIGHT_UP(N) ensuite IF MRU=1 then "fait ci" ELSE "fait çà".

Je nai pas éssayer, y faut voir.

A+
Revenir en haut Aller en bas
Tecking




Nombre de messages : 114
Age : 35
Localisation : Toulouse
Date d'inscription : 30/05/2010

On_Click Empty
MessageSujet: Re: On_Click   On_Click EmptyLun 2 Aoû 2010 - 20:52

ce serait bien de les différencier non?
Comme un on_Click_left et on_Click_right.
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

On_Click Empty
MessageSujet: Re: On_Click   On_Click EmptyLun 2 Aoû 2010 - 20:57

Oui, çà c'est le mieux, mais c'est encore du boulot pour Jack.
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

On_Click Empty
MessageSujet: Re: On_Click   On_Click EmptyLun 2 Aoû 2010 - 21:10

Oui mais Jean Claude, comme je te le disais ailleurs, le On_Click est inutilisable puisqu'il ne réagit qu'au clic gauche, pas au clic droit.

Ne te fâche pas cosmos, mais pour le timer c'est bien ce que j'avais cru comprendre: ça lance un programme qui se réactive lui-même par interruption toutes les n millisecondes (10 par exemple comme dit Klaus) pour voir si un clic droit a été effectué.
C'est quand même bien moins pratique que le on_click qui amène directement sur la routine concernée par l'objet (si clic gauche !), et puis ça doit charger la bécane ce programme qui se réactive périodiquement dans un délai très court...

Enfin, bon, j'admets que c'est quand même une solution au problème, la seule sans doute, mais personnellement j'aurais préféré que le on_click réagisse sur les deux clics, à charge pour le programmeur, s'il le désire, de tester dans sa routine de traitement si c'est clic droit ou clic gauche (ou de ne pas tester s'il s'en fiche, ce qui serait sans doute le cas général)).
Ce serait logique, il y a une action prévue pour le clic gauche et rien pour le clic droit (sauf un test, mais encore faut-il y arriver).
Revenir en haut Aller en bas
Tecking




Nombre de messages : 114
Age : 35
Localisation : Toulouse
Date d'inscription : 30/05/2010

On_Click Empty
MessageSujet: Re: On_Click   On_Click EmptyLun 2 Aoû 2010 - 21:19

Non rien je vais l'envoyer en privé
Revenir en haut Aller en bas
Klaus

Klaus


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

On_Click Empty
MessageSujet: Re: On_Click   On_Click EmptyLun 2 Aoû 2010 - 21:28

J'espère exprimer le sentiment commun à nous tous: ce qui nous anime, c'est la passion de la programmation en général et pour Panoramic en particulier. Et si cela peut se passer avec une certaine dose d'humour, tant mieux. Il ne saurait en aucun cas être question de concurrence entre qui que ce soit, et chacun devrait avoir ls possibilité d'exprimer son opinion concernant les codes et solutions proposés. Et Nous allons tous nous efforcer de laisser certaines velléités de côté, car elles sont hors de sujet et hors de propos dans ce cadre. Pour des choses plus personnelles, je pense que la messagerie personnelle fera l'affaire.

Maintenant, pour revenir au coeur du problème, j'avais exploré l'idée de Jean-Claude, mais sans succès. Comme l'a très bien diagnistiqué JL35, le click droit ne réagit tout simplement pas - il ne déclenche aucun évènement. Donc, dans l'état actuel des choses, la solution "timer" de Cosmos70 est la seule, et réflexion faite, assez facile à mettre en place. En attendant Jack...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

On_Click Empty
MessageSujet: Re: On_Click   On_Click EmptyLun 2 Aoû 2010 - 21:33

Concernant ta remarque 'philosophique', c'est tellement évident qu'on ne voit pas trop pourquoi il faut le préciser !
Mais, comme on dit: ça va sans dire, mais ça va encore mieux en le disant !
Revenir en haut Aller en bas
Tecking




Nombre de messages : 114
Age : 35
Localisation : Toulouse
Date d'inscription : 30/05/2010

On_Click Empty
MessageSujet: Re: On_Click   On_Click EmptyLun 2 Aoû 2010 - 21:44

@JL35
Il l'a dit parce que j'ai mis quelque chose de privé en publique, je m'en excuse et je m'en veux...

@Tous
Il y a un fond de vérité quand j'ai parlé de façon de coder.
Chaque uns fait ce qu'il veux avec son code certes mais n'est-ce pas plus joli de présenter un code lisible, avec des groupements de lignes par étapes et 'TABs' dans les structures et les sous programmes?

Bref ne le prenez pas mal, je ne dis pas ça méchamment, et moi-même je ne suis pas le codeur parfait (loin de la tongue ).
Revenir en haut Aller en bas
Invité
Invité




On_Click Empty
MessageSujet: Re: On_Click   On_Click EmptyLun 2 Aoû 2010 - 22:50

Je regarde ce qui a été rajouté. Une chose toute fois, je le rappelle, il faut savoir qu'en cas de problème, d'erreur, avec le timer, celui-ci étant une instruction automatique en arrière plan, Il faut bien avoir présent que le programme re-boucle et que si il y a erreur, elle se répète. De plus le numéro de ligne est inconnu.
Voici comment je procède pour déterminer une erreur:
Déjà je me sers de l'instruction ON_ERROR_GOTO,label
ensuite au départ j'ouvre un fichier en écriture
Code:
file_open_write 10,fichier$
régulièrement lorsque je suis dans une zone à problème, ou à tester, je mets:
Code:
file_writeln 10,"ligne: xxx" :' le N° de la ligne
 ' on peut éventuellement rajouter la valeur et le nom d'une variable

Dans le branchement d'erreur, au label choisi:
Code:
erreur:
file_close 10
terminate
Lorsqu'il y a une erreur, il suffit de regarder le fichier créé, vu que le programme s'est fermé, et à partir de là on comprend où se situe l'erreur.

JL35, je pense avoir tout dit. Tu es libre d'utiliser ou pas. Si tu as la solution mais que tu ne l'utilise pas, certainement que celà n'est pas nécessaire.
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

On_Click Empty
MessageSujet: Re: On_Click   On_Click EmptyLun 2 Aoû 2010 - 22:59

Ben oui, c'est astucieux, c'est une façon de 'tracer' le programme, parce que c'est assez déprimant de ne pas savoir où l'erreur se produit.
Dommage dans ton système qu'on ne puisse pas mettre dynamiquement le numéro de la ligne, parce que si on déplace la ligne il faut penser à modifier le xxx
Revenir en haut Aller en bas
Invité
Invité




On_Click Empty
MessageSujet: Re: On_Click   On_Click EmptyLun 2 Aoû 2010 - 23:08

Jack m'avait promis une variable système pour connaitre le numéro de la ligne. Il a d'autre chat à fouetter, je fais au mieux. La porte est ouverte pour trouver une meilleur solution.
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

On_Click Empty
MessageSujet: Re: On_Click   On_Click EmptyMar 3 Aoû 2010 - 14:28

Moi ça ne me concerne pas, je ne fais jamais d'erreurs, mais pour les autres, évidemment...
Revenir en haut Aller en bas
jjn4

jjn4


Nombre de messages : 2690
Date d'inscription : 13/09/2009

On_Click Empty
MessageSujet: +++   On_Click EmptyMer 4 Aoû 2010 - 12:38

Eh oui, « l'enfer, c'est les autres »...
Laughing
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

On_Click Empty
MessageSujet: Re: On_Click   On_Click EmptyMer 4 Aoû 2010 - 12:52

c'est bien connu !
Revenir en haut Aller en bas
jjn4

jjn4


Nombre de messages : 2690
Date d'inscription : 13/09/2009

On_Click Empty
MessageSujet: +++   On_Click EmptyMer 4 Aoû 2010 - 13:24

Et donc, le paradis, c'est logiquement soi.
J'en déduit que JL35 est un saint !
Saint35 !
lol!
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

On_Click Empty
MessageSujet: Re: On_Click   On_Click EmptyMer 4 Aoû 2010 - 14:17

J'ai déjà atteint la béatitude... pour le reste...
Revenir en haut Aller en bas
Contenu sponsorisé





On_Click Empty
MessageSujet: Re: On_Click   On_Click Empty

Revenir en haut Aller en bas
 
On_Click
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 :: PANORAMIC :: Vos souhaits d'amélioration de Panoramic-
Sauter vers: