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
» Calculatrice
par papydall Hier à 22:54

» EPP_V01 éditeur pour Panoramic
par Minibug Mer 19 Sep 2018 - 21:03

» [RESOLU] Quelle ligne est sélectionnée dans SYNEDIT ?
par Jean Claude Mer 19 Sep 2018 - 21:02

» PanExpress : l'éditeur Panoramic avec création d'objet
par Minibug Mer 19 Sep 2018 - 15:58

» Planétarium virtuel.
par Pedro Alvarez Mer 19 Sep 2018 - 9:28

» Demande pour Jack concernant PanExpress
par Marc Mar 18 Sep 2018 - 23:56

» Petit coucou en passant !
par Minibug Dim 16 Sep 2018 - 15:03

» bug SEVERE fnc+sub : variables globales corrompus
par silverman Dim 16 Sep 2018 - 13:38

» Verrouiller un form en avant plan
par silverman Dim 16 Sep 2018 - 12:50

» Fin de l'aventure.
par Pedro Alvarez Sam 15 Sep 2018 - 18:16

» Demande d'explications Sur File_Write & File_writeln
par Jack Sam 15 Sep 2018 - 17:26

» MEMO avec des possibilités de commande
par Oscaribout Mer 12 Sep 2018 - 1:06

» La théorie du chaos
par jean_debord Mar 11 Sep 2018 - 9:30

» Orbites de l’ensemble de Mandelbrot
par Jean Claude Lun 10 Sep 2018 - 21:08

» Version instantanée V 0.9.29i2 du 4/09/2018
par silverman Mer 5 Sep 2018 - 10:15

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2018
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
CalendrierCalendrier

Partagez | 
 

 Amelioration du source

Aller en bas 
AuteurMessage
pascal10000

avatar

Nombre de messages : 703
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Amelioration du source   Mer 27 Déc 2017 - 18:01

bsr

avec le source de minibug si dessous

Code:
' Test de déplacement d'objets par MiNiBuG

LABEL deplace , quitter

DIM pfx% , pfy% , ppx% , ppy%

PANEL 1 : LEFT 1,20 : TOP 1,20 : WIDTH 1,320 : HEIGHT 1,220 : COLOR 1,0,0,230 : ON_MOUSE_DOWN 1,deplace
SYNEDIT 2 :  PARENT 2,1 : LEFT 2,4 : TOP 2,20 : WIDTH 2,WIDTH_CLIENT(1)-8 : HEIGHT 2,HEIGHT_CLIENT(1)-24
ALPHA 3 : PARENT 3,1 : TOP 3,2 : LEFT 3,WIDTH_CLIENT(1)-18 : FONT_BOLD 3 : FONT_SIZE 3,10 : CAPTION 3,"X" : ON_CLICK 3,quitter

END

deplace:
  OFF_MOUSE_DOWN 1
  ppx%=MOUSE_X_POSITION(1) : ppy%=MOUSE_Y_POSITION(1)                                    : ' On determine la position du clic
  pfx%=LEFT(1) : pfy%=TOP(1)                                                              : ' On determine la position du 1er l'objet
  REPEAT
      LEFT 1,pfx%+MOUSE_X_POSITION(1)-ppx% : TOP 1,pfy%+MOUSE_Y_POSITION(1)-ppy%          : ' On déplace le 1er objet
      pfx%=LEFT(1) : pfy%=TOP(1)                                                          : ' On recalcule la position du 1er objet
  UNTIL MOUSE_LEFT_UP(1)=1
  ON_MOUSE_DOWN 1,deplace
RETURN

quitter:
  TERMINATE
RETURN

qui permettais de bouger un objet dans tout les sens

voici une version amélioré qui permet de  bouger l'objet verticalement
accompagné d'une butté de chaque extrémité ce qui est nouveau

Code:
LABEL deplace , quitter

DIM level%, indice%, LeftBtn%, TopBtn%, MouseY%, MouseX%

Button 1 : LEFT 1,43 : TOP 1,300  : ON_MOUSE_DOWN 1,deplace
alpha 3
END
deplace:
OFF_MOUSE_DOWN 1
  OFF_MOUSE_DOWN 1
  MouseX%=MOUSE_X_POSITION(1) : MouseY%=MOUSE_Y_POSITION(1)
  TopBtn%=TOP(1) :  LeftBtn%=LEFT(1)                                                             : ' On determine la position du 1er l'objet
REPEAT
  indice%=TopBtn%+MOUSE_Y_POSITION(1)-MouseY%            
  Level%=(300-indice%)
  If Level%<0 Then Level%=0       :' butté du bouton du minimum en Y
  If Level%>100 Then Level%=100   :' butté du bouton du maximum en Y
  caption 3,Level%
  
  Top 1,300-Level%
  TopBtn%=TOP(1) : LeftBtn%=LEFT(1)

UNTIL MOUSE_LEFT_UP(1)=1
ON_MOUSE_DOWN 1,deplace
RETURN

quitter:
  TERMINATE
RETURN

merci encore a minibug
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

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

MessageSujet: Re: Amelioration du source   Mer 27 Déc 2017 - 22:32

Tant mieux si j'ai pu être utile et te rendre service.

Pour le code, je me demande si au départ ce n'était pas une idée de notre ami Silverman ! Wink
Il est bien possible qu'il y est un post de sa part là-dessus mais où ?! drunken
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
pascal10000

avatar

Nombre de messages : 703
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Amelioration du source   Jeu 28 Déc 2017 - 15:02


bien sur que ça me rend service
je vais pouvoir créer mon projet en évolution a grand pas

même s'il n'es pas de toi je remercie également à l'auteur
je n'en dirai pas de plus juste que c'est en relation avec du multiùédia
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Marc

avatar

Nombre de messages : 865
Age : 57
Localisation : TOURS
Date d'inscription : 17/03/2014

MessageSujet: Re: Amelioration du source   Jeu 28 Déc 2017 - 23:43

Salut Pascal !

J'ai essayé la version améliorée qui permet de bouger l'objet verticalement.

Sur mon ordinateur, cette version ne permet pas un déplacement correct : j'ai un fonctionnement en "tout ou rien", c'est à dire soit la position mini 0 , soit la position maxi 100. Pas de position intermédiaire. Voir la vidéo ci-dessous.

J'ai donc essayé sur d'autres ordinateurs et là, ça fonctionne !  scratch

J'ai recherché la cause : dans la boucle REPEAT, ligne 20, la fonction TopBtn%=TOP(1) me renvoie la valeur de 65535 ou -32768 !
La boucle est trop rapide !
J'ai donc ajouté entre les lignes 20 et 21 une pause et tout est rentré dans l'ordre. Le temps que le TOP(1) se soit "fixé" avant de lire sa nouvelle position ligne 21. Un simple DISPLAY n'a pas fonctionné.


=> Voir l'explication technique et la solution de Silverman dans son post ci-dessous.



Merci pour ton partage et bonne continuation !


Dernière édition par Marc le Ven 29 Déc 2017 - 18:46, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
pascal10000

avatar

Nombre de messages : 703
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Amelioration du source   Ven 29 Déc 2017 - 10:56

ok j'ai vu
bizarre que chez moi ça fonctionne bien
ce phénomène se fait avec un picture
pour mon projet
j'ai donc eu recoure avec le buton_picture N
et je n'ai pas eu d'ennui avec
de rien
bonne journée
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
silverman

avatar

Nombre de messages : 675
Age : 46
Localisation : Picardie
Date d'inscription : 18/03/2015

MessageSujet: Re: Amelioration du source   Ven 29 Déc 2017 - 16:48

Minibug a écrit:
Pour le code, je me demande si au départ ce n'était pas une idée de notre ami Silverman ! Wink
Et non, ce code n'est pas de moi

@pascal10000
J'ai le même phénomène sur un picture. Cela est du à MOUSE_Y_POSITION() qui n'est rafraichit que si la souris bouge sur l'objet, mais pas l'inverse !!!. Ca peut se reproduire pour d'autre objet également, voire être aléatoire.
Voici une version qui fonctionne:
Code:
LABEL deplace , quitter

DIM level%, indice%, LeftBtn%, TopBtn%, MouseY%, MouseX%
dim delta_MouseY% , old_MouseY% , MouseY_start%

picture 1 : LEFT 1,43 : TOP 1,300  : ON_MOUSE_DOWN 1,deplace
alpha 3
END
deplace:
  OFF_MOUSE_DOWN 1
  MouseX%=MOUSE_X_POSITION(1) : MouseY%=MOUSE_Y_POSITION(1)
  MouseY_start%=MouseY%  :' un point fixe de l'objet : la position au moment du clic
  TopBtn%=TOP(1) :  LeftBtn%=LEFT(1)                                                            : ' On determine la position du 1er l'objet
  ' NB : MOUSE_Y_POSITION(1) n'est rafraichit que si la souris bouge sur l'objet, MAIS PAS L'INVERSE !!!
REPEAT
  old_MouseY%=MouseY%
  MouseY%=MOUSE_Y_POSITION(1)
  if (MouseY%-old_MouseY%)<>0              :' si la souris bouge
    delta_MouseY%=MouseY%-MouseY_start%    :' calcule de combien de pixels elle a bougé par rapport au point fixe
  else
    delta_MouseY%=0                        :' sinon pas de mouvement
  end_if
  indice%=TopBtn%+delta_MouseY%
  Level%=(300-indice%)
  If Level%<0 Then Level%=0      :' butté du bouton du minimum en Y
  If Level%>100 Then Level%=100  :' butté du bouton du maximum en Y

  Top 1,300-Level%
  TopBtn%=TOP(1) : LeftBtn%=LEFT(1)

UNTIL MOUSE_LEFT_UP(1)=1
ON_MOUSE_DOWN 1,deplace
RETURN

quitter:
  TERMINATE
RETURN
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Marc

avatar

Nombre de messages : 865
Age : 57
Localisation : TOURS
Date d'inscription : 17/03/2014

MessageSujet: Re: Amelioration du source   Ven 29 Déc 2017 - 17:37

Merci Silverman pour ton explication technique.

L'ajout d'une pause comme je l'ai proposé n'était donc qu'un placebo.

Après différents essais, je confirme que seul ton code fonctionne bien.

Bravo !


Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Amelioration du source   

Revenir en haut Aller en bas
 
Amelioration du source
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Votre source sur Joseph Gordon-Levitt
» Map source et mac
» Map source & Mac OS X
» Base camp vs map source
» compatibilité Map Source et windows 8

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: