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
» Gestion d'un système client-serveur.
Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment : -39%
Pack Home Cinéma Magnat Monitor : Ampli DENON ...
Voir le deal
1190 €

 

 Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9

Aller en bas 
+7
silverman
Francis-mr
Minibug
Jean Claude
Yannick
Marc
Jack
11 participants
Aller à la page : Précédent  1, 2, 3  Suivant
AuteurMessage
Marc

Marc


Nombre de messages : 2397
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty
MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 EmptyVen 30 Déc 2016 - 12:27

Essais concluants !
ça marche ! Laughing

Merci Jack et bonne fin d'année 2016 !
Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Merci-11
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty
MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 EmptyVen 30 Déc 2016 - 13:51

Bonjour Jack !

Premiers tests avec un ancien programme en bas converti en exe.
Les 2 (bas et exe) fonctionnent correctement et le TERMINATE aussi.

Merci c'est super ! je vais pouvoir me pencher de nouveau sur GPP !! drunken cheers sunny
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Jean Claude

Jean Claude


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

Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty
MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 EmptyVen 30 Déc 2016 - 17:11

Merci Jack,
Jack a écrit:
Téléchargez la, testez la, secouez la.
Ben.. on ne va pas se priver Very Happy

Un premier compte-rendu:
TERMINATE et transformation en exécutable => OK cheers

Essai sur la commande ON_MOUSE_DOWN N,Label
Code:

label pos
on_move 0,pos
alpha 1
end

pos:
caption 1,str$(mouse_x_position(0))
return

Ce code fonctionne, mais on est obligé de lâcher et de quitter le bandeau de FORM 0, pour que le sous-programme "pos:" fonctionne.
Est-il possible que cette commande agisse tant que le FORM bouge  Question

A+

PS: Je suis un âne, çà marche parfaitement. C'est mon code qui n'est pas bon. Embarassed Embarassed Embarassed

Code:
label pos
ON_MOVE 0,pos
alpha 1
end

pos:
caption 1,str$(top(0))
return


Dernière édition par Jean Claude le Ven 30 Déc 2016 - 18:11, édité 1 fois
Revenir en haut Aller en bas
Jean Claude

Jean Claude


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

Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty
MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 EmptyVen 30 Déc 2016 - 17:47

Quelqu'un peut-il me dire pourquoi mon code n'affiche rien quand je clique sur le bouton Question
Code:
label pos,test

ON_USER_EVENT pos
alpha 1
button 2 : top 2,5 : left 2,WIDTH_CLIENT(0)-(WIDTH(2)+5) : caption 2,"Click"
on_click 2,test
end

pos:
print str$(USER_EVENT_LPARAM)
print str$(USER_EVENT_WPARAM)

return

test:
' print str$(USER_EVENT_LPARAM)
' print str$(USER_EVENT_WPARAM)
message "X"
return

Je suis curieux de voir à quoi peut servir ON_USER_EVENT L.

Autrement: J'ai tout testé, et tout fonctionne.  cheers

A+
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty
MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 EmptyVen 30 Déc 2016 - 17:52

@Jean Claude

Ligne 2
Code:

ON_MOVE 0,pos


Qu’as-tu fais de ta mouse ?
Ne me dis pas que tu l’as passée au poêle !
Bon corrige comme ça
Code:

ON_MOUSE_MOVE 0,pos

Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


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

Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty
MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 EmptyVen 30 Déc 2016 - 17:59

Non il n'y a pas d'erreur Papydall,

Jack a écrit:
ON_MOVE N,Label : exécute le programme à partir du label L quand l'utilisateur bouge le FORM numéro N
Ce ne sont pas les mêmes commandes.
J'ai corrigé mon code, c'était le sous-programme pos: qui n'était pas adapté.


Pour ON_USER_EVENT, as-tu une solution ?

A+
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty
MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 EmptyVen 30 Déc 2016 - 18:02

Jean Claude a écrit:
Je suis curieux de voir à quoi peut servir ON_USER_EVENT L.

Ça c’est un truc pour les grands (genre Klaus et semblables), pas pour Papydall !
Donne-toi la peine de cliquer sur ce lien et tu en sauras davantage.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


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

Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty
MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 EmptyVen 30 Déc 2016 - 18:06

Heu... ben... oui, là je ne touche pas. Comme tu dis "c'est pour les grands".
Mais, un jour, je serais grand...

Very Happy
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty
MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 EmptyVen 30 Déc 2016 - 18:27

On grandira ensemble. Wink
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




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

Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty
MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 EmptySam 31 Déc 2016 - 14:05

J'ai quand même un problème que je ne m'explique pas avec cette version, en utilisant les nouvelles fonctions.
Un petit exemple vite fait (incomplet): sub de dessin d'un rectangle à la souris clic au départ, glissement, et relâchement à l'arrivée:
Code:
PICTURE 1: FULL_SPACE 1
Desic(1)
END
' =====
SUB Desic(p%)
  LABEL Clic,Clim,Fclic
  DIM_LOCAL ff%,x1%,y1%,x%,y%
  2D_TARGET_IS p%
  ON_MOUSE_DOWN p%,Clic
  WHILE ff% = 0: PAUSE 200: END_WHILE: EXIT_SUB
Clic:
  x1% = MOUSE_X_POSITION(p%): y1% = MOUSE_Y_POSITION(p%)
  2D_PEN_DOT: 2D_FILL_OFF: CLIPBOARD_COPY p%
  ON_MOUSE_MOVE p%,Clim: ON_MOUSE_UP p%,Fclic
RETURN
Clim:
  x% = MOUSE_X_POSITION(p%): y% = MOUSE_Y_POSITION(p%)
  CLIPBOARD_PASTE p%: 2D_RECTANGLE x1%,y1%,x%,y%
RETURN
Fclic:
  OFF_MOUSE_MOVE p%
  2D_PEN_SOLID
  CLIPBOARD_PASTE p%: 2D_RECTANGLE x1%,y1%,x%,y%
RETURN
END_SUB
Dès que je clique dans le picture (donc je déclenche le ON_MOUSE_DOWN), je pars en erreur sur la première directive du programme:
- Ici il me dit que le Picture est déjà défini (OBJECT already defined Line:1)
- Si c'est un Label, il me dit qu'il est déjà défini (LABEL defined twice Line:1)
comme si on reéxécutait le programme depuis le début...
scratch
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty
MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 EmptySam 31 Déc 2016 - 15:05

Voici comment je fais et ça marche.

Code:

LABEL Clic,Clim,Fclic
DIM ff%,x1%,y1%,x%,y% ,p%
p% = 1 : PICTURE p%: FULL_SPACE p% : 2D_TARGET_IS p%
ON_MOUSE_DOWN p%,Clic

END
' =====

Clic:
  x1% = MOUSE_X_POSITION(p%): y1% = MOUSE_Y_POSITION(p%)
  2D_PEN_DOT: 2D_FILL_OFF: CLIPBOARD_COPY p%
  ON_MOUSE_MOVE p%,Clim: ON_MOUSE_UP p%,Fclic
RETURN
Clim:
  x% = MOUSE_X_POSITION(p%): y% = MOUSE_Y_POSITION(p%)
  CLIPBOARD_PASTE p%: 2D_RECTANGLE x1%,y1%,x%,y%
RETURN
Fclic:
  OFF_MOUSE_MOVE p%
  2D_PEN_SOLID
  CLIPBOARD_PASTE p%: 2D_RECTANGLE x1%,y1%,x%,y%
RETURN

Personnellement j’évite d’insérer des s/p (label) dans une sub ; je les mets en dehors de la sub.


Dernière édition par papydall le Sam 31 Déc 2016 - 15:25, édité 1 fois (Raison : Correction suite à la taquinerie de JL35)
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




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

Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty
MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 EmptySam 31 Déc 2016 - 15:18

Je sais bien papydall que ça marche en dehors d'une sub, mais je voulais en profiter dans ma sub de dessin, pour éviter ces satanés Timers qui me posent des problèmes, alors ce ON_MOUSE_DOWN est la solution idéale.
Et je voudrais bien savoir pourquoi ça ne marche pas dans une sub, du moins celle-ci.

Quant à ne pas mettre de s/p dans une sub, tu es bien obligé si tu as des événements à traiter, si tu les mets en-dehors ce n'est plus une sub mais un bout du programme, indissociable de celui-ci (avec les s/p qui se baladent ailleurs).
Pour moi une sub est une entité à part, insérable telle quelle dans n'importe quel programme, il suffit de respecter les paramètres d'entrée et de sortie, le reste est écrit une fois pour toutes, c'est une 'boîte noire'. C'est dans cet esprit que j'utilise ma bibliothèque de subs (près de 400 éléments quand même)

Juste une petite remarque pour t'embêter:
Citation :
je l’ai mets en dehors de la sub
oh !
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty
MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 EmptySam 31 Déc 2016 - 15:28

Ok ! Je les mets en dehors de la sub. tongue
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty
MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 EmptySam 31 Déc 2016 - 17:30

Bonjour tout le monde!

@JL35
Ton code ne peut pas marcher car dans ta sub tu définis des variable locales, et dès que 'exit_sub' est atteind, ces variables sont détruites; donc 'x%,y%,...' ne sont plus reconnus. De plus 'ff%' valant toujours 0, tu te retrouve avec une boucle infini + events ---> ça ne fait pas bon ménage ça!
Essaye plutôt comme ça:
Code:
DIM ff%,x1%,y1%,x%,y%,p% : p%=1
PICTURE 1: FULL_SPACE 1
Desic(1)
END
' =====
SUB Desic(p%)
  LABEL Clic,Clim,Fclic
  2D_TARGET_IS p%
  ON_MOUSE_DOWN p%,Clic
'  WHILE ff% = 0: PAUSE 200: END_WHILE
  EXIT_SUB
Clic:
  x1% = MOUSE_X_POSITION(p%): y1% = MOUSE_Y_POSITION(p%)
  2D_PEN_DOT: 2D_FILL_OFF: CLIPBOARD_COPY p%
  ON_MOUSE_MOVE p%,Clim: ON_MOUSE_UP p%,Fclic
RETURN
Clim:
  x% = MOUSE_X_POSITION(p%): y% = MOUSE_Y_POSITION(p%)
  CLIPBOARD_PASTE p%: 2D_RECTANGLE x1%,y1%,x%,y%
RETURN
Fclic:
  OFF_MOUSE_MOVE p%
  2D_PEN_SOLID
  CLIPBOARD_PASTE p%: 2D_RECTANGLE x1%,y1%,x%,y%
RETURN
END_SUB

Bon réveillon à tous!
Revenir en haut Aller en bas
JL35




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

Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty
MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 EmptySam 31 Déc 2016 - 19:24

Bonjour silverman,

Je ne suis pas du tout d'accord avec toi !
Les variables x% et y% sont bien des variables locales qui ne sont utilisées que dans la sub et donc n'ont pas à être reconnues ailleurs ! Dans mon exemple aucune variable globale n'est déclarée ni utilisée (tu as confondu mon code avec celui de papydall ?).

Et exit_sub n'est jamais atteint, because plantage préalable.
Comme je l'ai dit, l'exemple que j'ai donné est très incomplet, la variable ff% est destinée à être utilisée pour sortir de la sub, mais n'est pas (encore) exploitée dans l'exemple, puisque on ne va pas si loin... je voulais simplement montrer que ça plantait au 1er clic souris, c'est tout, donc inutile d'aller plus loin et de donner un exemple complet de 1000 lignes.

Le code existe complet et fonctionne très bien, mais avec surveillance de la souris avec un timer, ce que je comptais éviter avec ces nouvelles instructions.
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty
MessageSujet: re   Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 EmptySam 31 Déc 2016 - 19:53

@JL35,

Ton bout de code me laisse perplexe.
Je l' ai pris et aéré ce qui donne ceci :
Code:
PICTURE 1
FULL_SPACE 1
Desic(1)
END
' =====
SUB Desic(p%)
  LABEL Clic,Clim,Fclic
  DIM_LOCAL ff%,x1%,y1%,x%,y%

  2D_TARGET_IS p%
  ON_MOUSE_DOWN p%,Clic

  WHILE ff% = 0
  PAUSE 200
  END_WHILE
  EXIT_SUB

  Clic:
      x1% = MOUSE_X_POSITION(p%)
      y1% = MOUSE_Y_POSITION(p%)
      2D_PEN_DOT
      2D_FILL_OFF
      CLIPBOARD_COPY p%
      ON_MOUSE_MOVE p%,Clim
      ON_MOUSE_UP p%,Fclic
      RETURN

  Clim:
      x% = MOUSE_X_POSITION(p%)
      y% = MOUSE_Y_POSITION(p%)
      CLIPBOARD_PASTE p%
      2D_RECTANGLE x1%,y1%,x%,y%
      RETURN

  Fclic:
      OFF_MOUSE_MOVE p%
      2D_PEN_SOLID
      CLIPBOARD_PASTE p%
      2D_RECTANGLE x1%,y1%,x%,y%
      RETURN
END_SUB


Même si on sortait de la boucle, on ne déclarerait pas les labels, enfin leurs fonctions.
il y a un beau EXIT_SUB juste avant.

et, si je fais sauter les 4 lignes (while...exit_sub)
J' ai un message "RETURN with out GOSUB"
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty
MessageSujet: re   Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 EmptySam 31 Déc 2016 - 20:05

J' ai fait sauter les RETURN
et là j' ai bien peur que Silverman ait raison pour x1% et les autres...
si la déclaration des fonction est faite, les variables elles n' existent plus.
Revenir en haut Aller en bas
JL35




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

Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty
MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 EmptySam 31 Déc 2016 - 20:28

@silverman
Je vais regarder de plus près, mais c'est une disposition que j'utilise couramment dans les subs (avec la version précédente de l'éditeur), il me semble que la déclaration des Labels est analysée par l'éditeur avant l'exécution, donc la boucle while...end_while n'est pas en cause, mais bon je vais essayer une autre disposition.
On doit pouvoir écrire les ON_MOUSE... ,Label n'importe où dans le code il me semble, ou alors ça perd beaucoup de son intérêt s'il faut le faire avant exécution.

@ygeronimi
Si tu fais sauter les Return ça ne veut plus rien dire, et je ne vois pas le rapport avec les variables, je ne vois pas pourquoi elles n'existeraient plus tant qu'on est dans la sub.

Et je ne vois toujours pas pourquoi cette erreur sur la ligne 1, double déclaration ?
Revenir en haut Aller en bas
Jean Claude

Jean Claude


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

Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty
MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 EmptySam 31 Déc 2016 - 21:39

Papydall a écrit:
Personnellement j’évite d’insérer des s/p (label) dans une sub ; je les mets en dehors de la sub.


Perso, je suis du même avis. Mais pour moi c'est simplement pour éviter des embrouilles...

Bon, y faut que je retourne à la fête... santa drunken drunken santa
Revenir en haut Aller en bas
JL35




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

Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty
MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 EmptyDim 1 Jan 2017 - 0:13

J'ai essayé plusieurs configurations, et j'en déduis que jusqu'à preuve du contraire, les instructions ON_MOUSE ne marchent pas à l'intérieur d'une Sub, donc j'abandonne cette façon de faire.

Et, quand même, bonne année à tous !
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty
MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 EmptyDim 1 Jan 2017 - 0:19

Bonne et heureuse année à tous ! cheers king sunny
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty
MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 EmptyDim 1 Jan 2017 - 1:52

Mon but n’est pas de faire de polémique sur la façon de coder.
Je donne ici simplement mon avis qui n’engage que moi.

Voici comment je vois les choses en ce qui concerne les sous-programmes.
Je distingue les sous-programmes événementiels et les sous-programmes non événementiels.

1) Les s/p événementiels sont exécutés quand un événement donné a lieu. Par exemple un clic sur un bouton déclenche un événement.
Le gestionnaire des événements ira chercher le s/p associé,  l’exécute puis rend la main au programme principal.
En Panoramic ce type de s/p est défini par un label, lequel se termine par RETURN.
Il peut arriver qu’un tel s/p ne soit jamais exécuté, faute de présence de l’événement déclencheur.

2) Les s/p non événementiels peuvent être définis soit par un label  et un return (comme les s/p événementiels) soit par SUB / END_SUB.
Cette dernière façon de concevoir un s/p est préférable car elle permet le passage des paramètres au s/p et aussi et surtout de pouvoir déclarer et utiliser des variables locales.
L’exécution de ce type de s/p se fait uniquement par un appel (l’identificateur de la SUB avec les éventuels paramètres)  du programme principal ou d’un autre s/p.

Panoramic ne permet pas les s/p du type SUB / END_SUB  imbriqués. Il nous faut donc les déclarer séparément.
De mon point de vue, j’évite de coder des s/p (label / return) dans les s/p (SUB / END_SUB).
Dernier point de mon point de vue : un s/p (SUB / END_SUB)  doit être court (une page écran par exemple, pas plus quitte à le subdiviser en deux s/p ou plus), lisible, facilement modifiable, ne contenant ni GOTO, ni GOSUB, ni définition de s/p événementiels.

Je pense (mais je peux me tromper) qu’un s/p événementiel, une fois exécuté rend la main au programme PRINCIPAL et non au s/p dans lequel il a été  déclaré.

Jack peut nous donner plus de précisions sur ce point.

Sur ce, je vous souhaite une bonne et heureuse année et beaucoup de codes en Panoramic avec des sous-programmes événementiels et non événementiels.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty
MessageSujet: re   Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 EmptyDim 1 Jan 2017 - 5:12

Pour ce que j' ai pu voir :

Sub MaSub1(par%,par$)
   MaSub2(par%,....)
End_Sub

c' est possible

Sub MaSub1()
   label:
   return
End_Sub

cà ca bug

Sub MaSub1()
label:
End_Sub

c' est possible sous certaine condition (goto)

Label:
   MaSub1()
return

c' est possible
Revenir en haut Aller en bas
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty
MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 EmptyDim 1 Jan 2017 - 14:43

JL35 a écrit:
Les variables x% et y% sont bien des variables locales qui ne sont utilisées que dans la sub et donc n'ont pas à être reconnues ailleurs !

Ces variables, tu les as déclarées dans une sub, mais elles doivent être en permanence reconnus dans les EVENTS que tu as inclus dans la sub! Or, quand un 'end_sub' ou 'exit_sub' est atteind, les variables locales de ta sub sont détruites, mais pas l'event, il peut toujours être déclenché lui!
Ce n'est pas parceque tu déclenches un event contenu dans une sub que les variables locales contenu dans l'event vont être recréés! il faut re-appeler la sub pour recréer les variables locales!
Et bloquer la sortie d'une sub avec une boucle infini comme tu l'as fait est inutile, car l'appel d'un event va 'casser' la boucle et provoquer un plantage(exactement comme avec les timers) vu que panoramic n'est pas conçu pour ce cas de figure.

Un event doit être perçu comme un gosub conditionnel. Tu peux centraliser les events dans une sub, ce n'est pas un problême du moment que tu n'utilises que des variables globales.
Revenir en haut Aller en bas
JL35




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

Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty
MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 EmptyDim 1 Jan 2017 - 16:48

Je ne suis pas d'accord avec vos arguments, parce que j'ai des subs qui fonctionnent parfaitement et sans problèmes avec les principes que vous déclarez impossibles, le seul problème que j'ai eu c'est avec les nouveaux MOUSE_..., mais bon, j'abandonne ça du moins pour les subs.
Sinon, dans une sub je fais appel à des sous-programmes, ou à des traitements d'événements (ON_CLICK par exemple), sans problèmes, il faut seulement faire attention à bien tout supprimer avant l'exit_sub ce qui a été créé dans la sub.

Je ne vais pas polluer plus longtemps ce sujet, et je vais en rester là.
Revenir en haut Aller en bas
Contenu sponsorisé





Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty
MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9 - Page 2 Empty

Revenir en haut Aller en bas
 
Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9
Revenir en haut 
Page 2 sur 3Aller à la page : Précédent  1, 2, 3  Suivant
 Sujets similaires
-
» Version instantanée du 22 avril 2016 : PANORAMIC V 0.9.27i7
» Version instantanée du 2 juin 2016 : PANORAMIC V 0.9.27i8
» Version instantanée du 20 mars 2016 : PANORAMIC V 0.9.27i6
» Version instantanée du 16-12-2014 : PANORAMIC V 0.9.26i3
» Version instantanée du 4 nov 2015 : PANORAMIC V 0.9.27i2

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Ce qui est en cours ...-
Sauter vers: