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
» KGF.dll - demandes ou suggestions de modifications ou ajouts
par Klaus Hier à 23:55

» KGF_dll - nouvelles versions
par pascal10000 Hier à 17:27

» Mah-Jong européen new-look
par Minibug Mar 12 Déc 2017 - 22:31

» track_bar circulaire
par Klaus Mar 12 Déc 2017 - 13:54

» API Windows
par Klaus Mar 12 Déc 2017 - 3:21

» Cartes de voeux, menus, etc.
par JL35 Lun 11 Déc 2017 - 17:48

» a l'aide klaus
par Minibug Lun 11 Déc 2017 - 11:42

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Lun 11 Déc 2017 - 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

» hommage
par Jicehel Ven 8 Déc 2017 - 11:29

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 8 Déc 2017 - 10:43

» carte son
par Klaus Ven 8 Déc 2017 - 2:37

» mise a jour calculatrice
par joeeee2017 Mer 6 Déc 2017 - 22:19

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier

Partagez | 
 

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

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2, 3  Suivant
AuteurMessage
Jack
Admin
avatar

Nombre de messages : 1771
Date d'inscription : 28/05/2007

MessageSujet: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Jeu 29 Déc 2016 - 1:40

Version instantanée du 30 décembre 2016 : PANORAMIC V 0.9.27i9

Je viens de mettre à disposition une nouvelle version instantanée.

Voici les changements par rapport à la version 0.9.27i8 du 2 juin 2016 :

ITEM_SELECT N,L : sélectionne la ligne numéro L de l'objet système numéro N

ON_MOUSE_DOWN N,Label : exécute le programme à partir du label L quand l'utilisateur presse une touche de la souris au dessus de l'objet système numéro N
ON_MOUSE_UP N,Label : exécute le programme à partir du label L quand l'utilisateur relâche une touche de la souris au dessus de l'objet système numéro N
ON_MOUSE_MOVE N,Label : exécute le programme à partir du label L quand l'utilisateur bouge la souris au dessus de l'objet système numéro N
ON_RESIZE N,Label : exécute le programme à partir du label L quand l'utilisateur redimensionne le FORM numéro N
ON_MOVE N,Label : exécute le programme à partir du label L quand l'utilisateur bouge le FORM numéro N
Remarque : cette commande ON_MOVE ne fonctionne pour le moment qu'avec FORM0

OFF_MOUSE_DOWN N : ignore l'événement "mouse_down" quand l'utilisateur presse une touche de la souris au dessus de l'objet système numéro N
OFF_MOUSE_UP N : ignore l'événement "mouse_up" quand l'utilisateur relâche une touche de la souris au dessus de l'objet système numéro N
OFF_MOUSE_MOVE N : ignore l'événement "mouse_move" quand l'utilisateur bouge la souris au dessus de l'objet système numéro N
OFF_RESIZE N : ignore l'événement "resize" quand l'utilisateur redimensionne le FORM numéro N
OFF_MOVE N : ignore l'événement "move" quand l'utilisateur bouge le FORM numéro N

RESTORE_LABEL L : réinitialise la lecture des DATA à partir du label L

HEIGHT_CLIENT(N) : retourne la hauteur de la zone utile de l'objet de numéro N
WIDTH_CLIENT(N) : retourne la largeur de la zone utile de l'objet de numéro N

ON_USER_EVENT L : exécute le programme à partir du label L quand un événement utilisateur est adressé à FORM0
OFF_USER_EVENT : ignore les événements utilisateur
USER_EVENT_LPARAM et USER_EVENT_WPARAM : contiennent des valeurs numériques relatives à l'événement utilisateur

DATE_DAY : retourne le jour actuel
DATE_MONTH : retourne le mois actuel
DATE_YEAR : retourne l'année actuelle
TIME_HOUR : retourne l'heure actuelle
TIME_MINUTE : retourne la minute actuelle
TIME_SECOND : retourne la seconde actuelle

_________________
username : panoramic@jack-panoramic password : panoramic123


Dernière édition par Jack le Ven 30 Déc 2016 - 14:04, édité 1 fois (Raison : Nouvelle version du 30/12/2016)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://panoramic.free-boards.net
Marc



Nombre de messages : 549
Age : 56
Localisation : TOURS
Date d'inscription : 18/03/2014

MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Jeu 29 Déc 2016 - 1:50

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 29 Déc 2016 - 2:13

Encore une fois la hote du père noël était pleine à craquer.
Merci Jack !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Marc



Nombre de messages : 549
Age : 56
Localisation : TOURS
Date d'inscription : 18/03/2014

MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Jeu 29 Déc 2016 - 2:19

Bonsoir Jack,

J'ai un petit bug avec la commande TERMINATE qui plante sur cette dernière version 0.9.27i9 :


Je continue mes tests.

Encore un grand merci et très bonne fin d'année !

Marc
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 29 Déc 2016 - 2:33

Oups...



Gui_List%(2) est un objet LIST
et COUNT(Gui_List%(2))>0
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: RE   Jeu 29 Déc 2016 - 4:09

Re Oups....

Problème à la création d' un exécutable.

Mon source commence par un appel à une procédure  Variables()
Au lancement de l' exécutable, j' ai un message d' erreur Illegal....

Alors que l' exécution par l' éditeur fonctionne très bien 
et que cela ne gênait pas la 27i8
scratch
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

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

MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Jeu 29 Déc 2016 - 10:25

Merci Jack,

Des nouvelles commandes et fonctions attendues, mais aussi des surprises. cheers

Il me reste à télécharger et à tester.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

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

MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Jeu 29 Déc 2016 - 10:34

Un grand merci  Jack ! cheers

Je teste aujourd'hui... Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Minibug

avatar

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

MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Jeu 29 Déc 2016 - 10:54

Le verdict est tombé rapidement...

J'ai un programme que j'utilise chaque jour en exe.
J'ai donc repris mon fichier BAS dans cette dernière version. Il fonctionne à priori correctement.

Je l'ai ensuite passé en EXE et là Patatra...

(32) Illegal instruction. Line:1

Alors qu'il s'agit d'un ligne entièrement vide...


Bon courage...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Francis-mr



Nombre de messages : 164
Age : 65
Localisation : Corrèze
Date d'inscription : 26/11/2012

MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Jeu 29 Déc 2016 - 11:00

Bonjour,
Un grand merci à Jack pour cette nouvelle version.  cheers
Mais sans avoir tout essayer, je confirme qu'il y a un problème avec "terminate".
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://cfmr.e-monsite.com
Jean Claude

avatar

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

MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Jeu 29 Déc 2016 - 15:18

Je confirme le problème avec TERMINATE (testé sans on_close).
Je confirme aussi que la transformation d'un *.bas en *.exe (que le fichier bas soit crée avec une autre version ou pas) provoque l'erreur signalée par Minibug.

Sad


Dernière édition par Jean Claude le Jeu 29 Déc 2016 - 15:25, édité 2 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
silverman

avatar

Nombre de messages : 475
Age : 45
Localisation : Picardie
Date d'inscription : 19/03/2015

MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Jeu 29 Déc 2016 - 15:19

Bonjour jack

Qu'en est-il de ces commandes ? Est-ce à l'abandon ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

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

MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Jeu 29 Déc 2016 - 15:33

Bonjour silverman et bonjour à tous !

Oui c'est vrai que le principe des bibliothèques semblait très prometteur...
Ou en es tu Jack ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
jjn4

avatar

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

MessageSujet: +++   Jeu 29 Déc 2016 - 17:36

Bien, mais il y a des trucs fort utiles, là-dedans !!!
Merci, Jack-père-Noël !!!
santa santa santa alien santa santa santa
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://jjn4.e-monsite.com
JL35



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

MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Jeu 29 Déc 2016 - 22:59

Il y a dans cette nouvelle version une fonction qui m'intéresse beaucoup, le ON_MOUSE_DOWN N,Label, qui permet de réagir dès le clic souris, et non pas au relâchement du bouton comme dans le ON_CLICK. Ce qui est intéressant pour un programme de dessin et permet de limiter l'usage du Timer qui est toujours source de problèmes.

Cependant je pars en erreur d'entrée, avec:
Il n'y a évidemment qu'une étiquette de ce nom, j'ai d'ailleurs essayé n'importe quel nom c'est pareil.

Je précise à tout hasard que cette erreur n'apparaît pas au lancement mais juste au moment où je clique sur l'objet (picture) qui est la cible du ON_MOUSE_DOWN N, que je voulais tester.

PS édité suite à la juste remarque de papydall sur la syntaxe du ON_MOUSE_DOWN N,Label


Dernière édition par JL35 le Ven 30 Déc 2016 - 1:18, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Ven 30 Déc 2016 - 0:27

JL35 a écrit:
Je précise à tout hasard que cette erreur n'apparaît pas au lancement mais juste au moment où je clique sur l'objet (picture) qui est la cible du ON_MOUSE_DOWN(N), que je voulais tester.

Il ne doit pas y avoir de parenthèses dans ON_MOUSE_DOWN  numero_objet, identificateur_label.

Le code dans l’image que tu as postée, n’illustre pas bien la cause de l’erreur.
Si tu veux bien poster le code complet, …

Personnellement, j’ai fais quelques tests sur cette nouvelle version et l’erreur que j’ai constatée est celle mentionnée par Marc37, à savoir TERMINATE
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
JL35



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

MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Ven 30 Déc 2016 - 0:51

Tu as raison papydall, et c'est bien comme ça que je l'ai codé: ON_MOUSE_DOWN N,Label, et si ça t'intéresse voici le code complet. Il doit y avoir d'autres erreurs plus loin, mais je ne peux pas continuer les essais, je suis tout de suite bloqué:

Code:
' Test dessin
LABEL Qes
BORDER_SMALL 0: WIDTH 0,794: HEIGHT 0,1134
FONT_NAME 0,"Arial": FONT_BOLD 0
PICTURE 1: FULL_SPACE 1
BUTTON 2: left 2,WIDTH(0)-100: CAPTION 2,"Dessin": ON_CLICK 2,Qes
END
' ==============================================================================
Qes:
  Desic(1)
RETURN
' ==============================================================================
SUB Desic(p%)
IF LABEL("Clic")=0 THEN LABEL Clic
IF LABEL("Surv")=0 THEN LABEL Surv
IF LABEL("Dclic")=0 THEN LABEL Dclic
IF LABEL("Desfig")=0 THEN LABEL Desfig
IF LABEL("cas4")=0 THEN LABEL cas4
IF LABEL("cas6")=0 THEN LABEL cas6
IF LABEL("Chfig")=0 THEN LABEL Chfig
IF LABEL("Chcol")=0 THEN LABEL Chcol
IF LABEL("Chcol1")=0 THEN LABEL Chcol1
IF LABEL("Chimg")=0 THEN LABEL Chimg
IF LABEL("Chpol")=0 THEN LABEL Chpol
IF LABEL("Valpo")=0 THEN LABEL Valpo
IF LABEL("Valtx")=0 THEN LABEL Valtx
IF LABEL("Anuder")=0 THEN LABEL Anuder
IF LABEL("Fdes")=0 THEN LABEL Fdes
DIM_LOCAL ff%,ft%,fi%,a$,b$,i%,j%,t%,x%,y%,x1%,y1%,x2%,y2%,rx%,ry%,tr%,tg%,tb%
DIM_LOCAL mb%,fig%,an,et%,sp%,cl%,co%,chc%,ffd%,edt%,szt%,mmt%,lst%,pit%
DIM_LOCAL rt%,gt%,bt%,wf%,od%,im%,tg,wbh%,wbv%
' ------------------------------------------------------------------------------
ff% = 950: FORM ff%: BORDER_SMALL ff%: WIDTH ff%,100: HEIGHT ff%,290
         TOP ff%,HEIGHT(0)-HEIGHT(ff%): LEFT ff%,LEFT(0)+WIDTH(0)
         COLOR ff%,164,255,255: CAPTION ff%,"Outils dessin"
         FONT_NAME ff%,"Arial": FONT_BOLD ff%: ON_CLOSE ff%,FDes
         PICTURE ff%+1: PARENT ff%+1,ff%: FULL_SPACE ff%+1
         wbh%=WIDTH(ff%+1): wbv%=HEIGHT(ff%+1): ' dimensions disponibles dans ff%
         DELETE ff%+1
i%=ff%+1: ALPHA i%: PARENT i%,ff%: TOP i%,5: LEFT i%,2: CAPTION i%,"Ép.Trait:"
i%=i%+1: SPIN i%: PARENT i%,ff%: TOP i%,1: LEFT i%,46: WIDTH i%,36: sp%=i%
         MIN i%,1: MAX i%,20: POSITION i%,1
i%=sp%+1: ALPHA i%: PARENT i%,ff%: TOP i%,TOP(i%-1)+25: LEFT i%,2: CAPTION i%,"Couleur:"
i%=i%+1: PICTURE i%: PARENT i%,ff%: TOP i%,TOP(i%-1): LEFT i%,LEFT(sp%)+6
         WIDTH i%,30: HEIGHT i%,18: COLOR i%,0,0,0: ON_CLICK i%,Chcol: cl%=i%
i%=cl%+1: CONTAINER_OPTION i%: PARENT i%,ff%: TOP i%,TOP(i%-1)+20: LEFT i%,0
         WIDTH i%,wbh%-1: HEIGHT i%,160: CAPTION i%,"  - Figure : -": co%=i%
         COLOR co%,255,255,164
i%=i%+1: OPTION i%: PARENT i%,co%: TOP i%,15: LEFT i%,5: CAPTION i%,"Libre"
i%=i%+1: OPTION i%: PARENT i%,co%: TOP i%,TOP(i%-1)+16: LEFT i%,5: CAPTION i%,"Trait"
         MARK_ON i%: fig% = 3
i%=i%+1: OPTION i%: PARENT i%,co%: TOP i%,TOP(i%-1)+16: LEFT i%,5: CAPTION i%,"Rectangle"
i%=i%+1: OPTION i%: PARENT i%,co%: TOP i%,TOP(i%-1)+14: LEFT i%,15: CAPTION i%,"Id. plein"
i%=i%+1: OPTION i%: PARENT i%,co%: TOP i%,TOP(i%-1)+17: LEFT i%,5: CAPTION i%,"Ellipse"
i%=i%+1: OPTION i%: PARENT i%,co%: TOP i%,TOP(i%-1)+14: LEFT i%,15: CAPTION i%,"Id. plein"
i%=i%+1: OPTION i%: PARENT i%,co%: TOP i%,TOP(i%-1)+17: LEFT i%,5: CAPTION i%,"Remplir"
i%=i%+1: OPTION i%: PARENT i%,co%: TOP i%,TOP(i%-1)+16: LEFT i%,5: CAPTION i%,"Texte"
i%=i%+1: OPTION i%: PARENT i%,co%: TOP i%,TOP(i%-1)+16: LEFT i%,5: CAPTION i%,"Image"
         MARK_ON co%+2: FOR j%=co%+1 TO i%: ON_CLICK j%,Chfig: NEXT j%
i%=i%+1: PICTURE i%: PARENT i%,ff%: HIDE i%: TOP i%,TOP(co%)+5: LEFT i%,5
         WIDTH i%,WIDTH(ff%)-26: HEIGHT i%,100: COLOR i%,255,255,255: chc%=i%
         2D_TARGET_IS i%: j% = WIDTH(i%)/2
         2D_FILL_COLOR 0,0,0: 2D_RECTANGLE 0,0,j%,20: ' noir
         2D_FILL_COLOR 255,255,255: 2D_RECTANGLE j%,0,2*j%,20: ' blanc
         2D_FILL_COLOR 164,128,0: 2D_RECTANGLE 0,20,j%,40: ' marron
         2D_FILL_COLOR 164,164,164: 2D_RECTANGLE j%,20,2*j%,40: ' gris
         2D_FILL_COLOR 255,0,0: 2D_RECTANGLE 0,40,j%,60: ' rouge
         2D_FILL_COLOR 0,255,0: 2D_RECTANGLE j%,40,2*j%,60: ' vert
         2D_FILL_COLOR 0,0,255: 2D_RECTANGLE 0,60,j%,80: ' bleu
         2D_FILL_COLOR 255,255,0: 2D_RECTANGLE j%,60,2*j%,80: ' jaune
         2D_FILL_COLOR 255,0,255: 2D_RECTANGLE 0,80,j%,100: ' magenta
         2D_FILL_COLOR 0,255,255: 2D_RECTANGLE j%,80,2*j%,100: ' cyan
         ON_CLICK chc%,Chcol1
i%=i%+1: BUTTON i%: PARENT i%,ff%: TOP i%,TOP(co%)+HEIGHT(co%)+5: LEFT i%,5
         HEIGHT i%,20: CAPTION i%,"Annuler": ON_CLICK i%,Anuder
i%=i%+1: BUTTON i%: PARENT i%,ff%: TOP i%,TOP(i%-1)+22: LEFT i%,LEFT(i%-1)
         HEIGHT i%,20: CAPTION i%,"Quitter": ON_CLICK i%,FDes
' ------------------------------------------------------------------------------
ft%=i%+1: wf%=240: FORM ft%: HIDE ft%: BORDER_SMALL ft%: TOP ft%,TOP(ff%)
         LEFT ft%,LEFT(ff%)+WIDTH(ff%): WIDTH ft%,wf%: HEIGHT ft%,HEIGHT(ff%)
         CAPTION ft%," -   TEXTE   -": COLOR ft%,164,255,255
i%=ft%+1: ALPHA i%: PARENT i%,ft%: TOP i%,4: LEFT i%,5: CAPTION i%,"Police:"
i%=i%+1: EDIT i%: PARENT i%,ft%: TOP i%,1: LEFT i%,40: WIDTH i%,130: edt% = i%
         TEXT i%,"Arial": ON_CLICK i%,Chpol
i%=i%+1: SPIN i%: PARENT i%,ft%: TOP i%,TOP(i%-1): LEFT i%,LEFT(i%-1)+WIDTH(i%-1)+5: szt%=i%
         WIDTH i%,45: MIN i%,6: MAX i%,255: POSITION i%,8: ON_CHANGE i%,Valpo
i%=i%+1: MEMO i%: PARENT i%,ft%: TOP i%,25: LEFT i%,0: WIDTH i%,wf%-18: mmt%=i%
         HEIGHT i%,HEIGHT(ft%)-62: FONT_NAME i%,TEXT$(edt%): FONT_SIZE i%,POSITION(szt%)
i%=i%+1: LIST i%: PARENT i%,ft%: HIDE i%: TOP i%,TOP(mmt%): WIDTH i%,WIDTH(mmt%)
         HEIGHT i%,HEIGHT(ft%)-60: FONT_NAMES_LOAD i%: : ON_CLICK i%,Valpo: lst%=i%
i%=i%+1: PICTURE i%: PARENT i%,ft%: HIDE i%: pit%=i%
' ------------------------------------------------------------------------------
fi%=i%+1: FORM fi%: HIDE fi%: BORDER_SMALL fi%: TOP fi%,TOP(ff%)
         LEFT fi%,LEFT(ff%)+WIDTH(ff%): WIDTH fi%,300: HEIGHT fi%,80
         CAPTION fi%," -   IMAGE   -": COLOR ft%,164,255,255
i%=fi%+1: ALPHA i%: PARENT i%,fi%: TOP i%,3: LEFT i%,5: CAPTION i%,"Image:"
i%=i%+1: EDIT i%: PARENT i%,fi%: TOP i%,1: LEFT i%,40: WIDTH i%,WIDTH(fi%)-60
         ON_CLICK i%,Chimg: ' fi%+2
i%=i%+1: ALPHA i%: PARENT i%,fi%: TOP i%,25: LEFT i%,40: ' fi%+3
i%=i%+1: OPEN_DIALOG i%: od% = i%
i%=i%+1: IMAGE i%: im% = i%
' ------------------------------------------------------------------------------
ffd% = 0: mb% = 0: et% = 1
t% = i%+1: TIMER t%: TIMER_INTERVAL t%,50: ON_TIMER t%,Surv: TIMER_OFF t%
2D_TARGET_IS p%: 2D_FILL_OFF
ON_MOUSE_DOWN p%,Clic
ON_MOUSE_UP p%,Dclic
WHILE ffd% = 0: PAUSE 100: END_WHILE
2D_TARGET_IS 0: TIMER_OFF t%: PAUSE 200: DELETE t%
DELETE fi%: DELETE ft%: DELETE ff%: DELETE od%: DELETE im%: EXIT_SUB
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Clic:
  ' Clic souris
  x1% = MOUSE_X_POSITION(1): y1% = MOUSE_Y_POSITION(1)
  CLIPBOARD_COPY 1
  2D_TARGET_IS 1
  IF fig% = 2: ' tracé libre
    2D_PEN_SOLID: 2D_PEN_WIDTH POSITION(sp%): tr%=COLOR_PIXEL_RED(cl%,2,2)
    tg%=COLOR_PIXEL_GREEN(cl%,2,2): tb%=COLOR_PIXEL_BLUE(cl%,2,2)
    2D_PEN_COLOR tr%,tg%,tb%
  ELSE
    2D_PEN_DOT: 2D_PEN_COLOR 0,0,0: 2D_FILL_OFF
  END_IF
  TIMER_ON 9
RETURN
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Surv:
  ' Dessin provisoire
  x% = MOUSE_X_POSITION(1): y% = MOUSE_Y_POSITION(1)
  GOSUB Desfig
RETURN
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Dclic:
  ' Relâchement bouton: dessin définitif
  TIMER_OFF 9
  x% = MOUSE_X_POSITION(1): y% = MOUSE_Y_POSITION(1)
  CLIPBOARD_PASTE 1
  2D_PEN_SOLID: 2D_PEN_WIDTH POSITION(sp%): tr%=COLOR_PIXEL_RED(cl%,2,2)
  tg%=COLOR_PIXEL_GREEN(cl%,2,2): tb%=COLOR_PIXEL_BLUE(cl%,2,2)
  2D_PEN_COLOR tr%,tg%,tb%
  GOSUB Desfig
RETURN
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Desfig:
  CLIPBOARD_PASTE p%: ' tracé
  SELECT fig%
    CASE 2: 2D_LINE x1%,y1%,x%,y%: x1% = x%: y1% = y%: CLIPBOARD_COPY p%
    CASE 3: IF SCANCODE = 160: ' touche Maj enfoncée
                SCANCODE = 0
                i% = x%-x1%: j% = y%-y1%
                IF i%<>0 AND j%<>0
                    tg = ABS(j%/i%)
                    IF tg<.4
                        y% = y1%: ' ligne horizontale
                    ELSE
                        IF tg>2.35: ' ligne verticale
                            x% = x1%
                        ELSE: ' ligne à 45°
                            IF x% > x1%
                                IF y% > y1%
                                    y% = x%-x1%+y1%: ' vers bas à droite
                                ELSE
                                    y% = y1%-x%+x1%: ' vers haut à droite
                                END_IF
                            ELSE
                                IF y%>y1%
                                    x% = x1%-y%+y1% : ' vers bas à gauche
                                ELSE
                                    x% = x1%-y1%+y%: ' vers haut à gauche
                                END_IF
                            END_IF
                        END_IF
                    END_IF
                END_IF
            END_IF
            2D_LINE x1%,y1%,x%,y%: ' Ligne droite
    CASE 4: ' Rectangle vide ou plein
cas4:
            IF SCANCODE = 160 THEN y% = y1%+(x%-x1%): SCANCODE = 0
            2D_RECTANGLE x1%,y1%,x%,y%
    CASE 5: GOTO cas4
    CASE 6: ' Cercle vide ou plein
cas6:
            rx% = (x%-x1%)/2: ry% = (y%-y1%)/2: ' rayons H et V
            IF SCANCODE = 160 THEN ry% = rx%: SCANCODE = 0: ' cercle
            x2% = x1%+rx%: y2% = y1%+ry%: ' centre
            IF ry% = rx%
                2D_CIRCLE x2%,y2%,rx%
            ELSE
                2D_POLY_FROM x2%+rx%,y2%
                FOR an = 0 TO 2*PI STEP PI/180
                    2D_POLY_TO x2%+rx%*COS(an),y2%+ry%*SIN(an)
                NEXT an
                IF fig% = 7 AND mb% = 0 THEN 2D_FLOOD x2%,y2%,tr%,tg%,tb%
            END_IF
    CASE 7: GOTO cas6
  END_SELECT
RETURN
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Chfig:
  HIDE ft%: HIDE fi%
  fig% = 2
  IF CHECKED(co%+2) = 1 THEN fig% = 3
  IF CHECKED(co%+3) = 1 THEN fig% = 4
  IF CHECKED(co%+4) = 1 THEN fig% = 5
  IF CHECKED(co%+5) = 1 THEN fig% = 6
  IF CHECKED(co%+6) = 1 THEN fig% = 7
  IF CHECKED(co%+7) = 1 THEN fig% = 8
  IF CHECKED(co%+8) = 1 THEN fig% = 9: SHOW ft%: ' insertion texte
  IF CHECKED(co%+9) = 1 THEN fig% = 10: SHOW fi%: ' insertion image
  mb% = 0
RETURN
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Chcol:
  HIDE co%: SHOW chc%
  RETURN
Chcol1:
  x% = MOUSE_X_POSITION(chc%): y% = MOUSE_Y_POSITION(chc%)
  tr%=COLOR_PIXEL_RED(chc%,x%,y%): tg%=COLOR_PIXEL_GREEN(chc%,x%,y%)
  tb%=COLOR_PIXEL_BLUE(chc%,x%,y%): COLOR cl%,tr%,tg%,tb%
  FONT_COLOR mmt%,tr%,tg%,tb%
  HIDE chc%: SHOW co%: mb% = 0
RETURN
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Chimg:
  a$ = FILE_NAME$(od%)
  b$ = UPPER$(FILE_EXTRACT_EXTENSION$(a$))
  IF b$<>".BMP" AND b$<>".JPG" THEN MESSAGE "Doit être .BMP ou .JPG": RETURN
  TEXT fi%+2,a$: ' fichier image
  IF b$ = ".JPG"
    b$="Z:\Fbm.bmp": FILE_LOAD pit%,a$: FILE_SAVE pit%,b$: a$ = b$
  END_IF
  FILE_LOAD im%,a$: ' -> Image
  FILEBIN_OPEN_READ 9,a$: FILEBIN_POSITION 9,18: i%=FILEBIN_READ(9)+256*FILEBIN_READ(9)
  FILEBIN_POSITION 9,22: j%=FILEBIN_READ(9)+256*FILEBIN_READ(9): FILEBIN_CLOSE 9
  CAPTION fi%+3,"Dimensions = "+STR$(i%)+" x "+STR$(j%)+" pixels."
RETURN
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Chpol:
  SHOW lst%
RETURN
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Valpo:
  HIDE lst%
  IF CLICKED(edt%) = 1 THEN TEXT edt%,ITEM_INDEX$(lst%)
  FONT_NAME mmt%,TEXT$(edt%): FONT_SIZE mmt%,POSITION(szt%)
RETURN
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Valtx:
  ' transfert du texte
  WIDTH pit%,900: HEIGHT pit%,500
  FONT_NAME pit%,TEXT$(edt%): FONT_SIZE pit%,POSITION(szt%): FONT_COLOR pit%,tr%,tg%,tb%
  PRINT_TARGET_IS pit%: 2D_TARGET_IS pit%: CLS: 2D_FILL_COLOR 254,254,254: 2D_TARGET_IS p%
  j% = 0: y% = 0
  FOR i% = 1 TO COUNT(mmt%)
    a$ = ITEM_READ$(mmt%,i%): PRINT_LOCATE 0,y%: PRINT a$
    x% = TEXT_WIDTH(a$,pit%): IF x%>j% THEN j%=x%
    y% = y%+TEXT_HEIGHT(a$,pit%)
  NEXT i%
  PRINT_TARGET_IS 0
  WIDTH pit%,j%: HEIGHT pit%,y%
  FOR y% = 0 TO HEIGHT(pit%)-1
    FOR x% = 0 TO WIDTH(pit%)-1
        rt% = COLOR_PIXEL_RED(pit%,x%,y%)
        IF rt%<>254
            gt% = COLOR_PIXEL_GREEN(pit%,x%,y%): bt% = COLOR_PIXEL_BLUE(pit%,x%,y%)
            2D_PEN_COLOR rt%,gt%,bt%: 2D_POINT x1%+x%,y1%+y%
        END_IF
    NEXT x%
    DISPLAY
  NEXT y%
RETURN
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Anuder:
  CLIPBOARD_PASTE p%
RETURN
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
FDes:
  ffd% = 1
RETURN
END_SUB
' ==============================================================================
La sub de dessin se lance par clic sur le bouton, puis ça planrte dès qu'on clique dans le picture pour commencer à dessiner, donc au déclenchement du ON_MOUSE_DOWN.

PS si tu veux essayer, il te faudra sans doute diminuer le HEIGHT 0 en ligne 3 (mon moniteur fait 1200 de haut, et je représente ainsi une page A4 grandeur nature)

PS2 Si je supprime l'appel par bouton et que je lance directement la sub après la définition du Picture 1 (donc plus d'étiquette ni de S/P), il me fait "OBJECT Already defined" sur la définition du Picture 1 au moment du clic.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Ven 30 Déc 2016 - 1:22

Déplacez la souris sur le PICTURE : dessin d’un cercle.
Cliquez (bouton gauche sans relâcher) : dessin d’un rectangle.
Relâchez le bouton de la souris : dessin d’un triangle.
Faire bouger la souris : re dessin du cercle.

Code:

label cercle, rectangle, triangle
picture 10 : 2d_target_is 10
 on_mouse_move 10,cercle
 on_mouse_down 10,rectangle
 on_mouse_up 10,triangle

end
Cercle:
  cls : 2d_fill_color 255,0,0
  2d_circle 50,50,40
return

Rectangle:
  off_mouse_move 10
  cls : 2d_fill_color 255,0,255
  2d_rectangle 10,10,80,80
return

Triangle:
  cls : 2d_poly_from 50,10
  2d_poly_to 10,50 : 2d_poly_to 90,50 : 2d_poly_to 50,10
  2d_flood 50,20,0,0,255
  on_mouse_move 10,cercle
return
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 30 Déc 2016 - 1:29

@ JL35:

Code:
label mon_label

picture 1
color 1,255,200,210
on_mouse_down 1,mon_label
end

mon_label:
   off_mouse_down 1
   if mouse_left_down(1)=1
      message "Le bouton gauche la souris est enfoncé sur le picture."
   end_if
   if mouse_right_down(1)=1
      message "Le bouton droit la souris est enfoncé sur le picture."
   end_if
   on_mouse_down 1,mon_label
return

Cela fonctionne.

Par contre il y a bien un souci avec :

ITEM_SELECT N,L:
 

TERMINATE :
Message "Panoramic a cessé de fonctionner..."

et avec un exécutable créé depuis cette version.
Spoiler:
 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



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

MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Ven 30 Déc 2016 - 1:38

@papydall et ygeronimi,
effectivement, vos codes marchent à tous les deux (j'avais déjà fait des expériences positives du même genre, c'est pourquoi je me suis lancé plus loin).

Mais pour mon cas... je ne suis pas plus avancé (le but: au clic souris tracer la figure en temps réel en pointillé en suivant le déplacement, puis tracé définitif au relàchement).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 30 Déc 2016 - 1:44

Perso, je retourne sur la 27i8 le temps que Jack corrige les quelques bugs
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Ven 30 Déc 2016 - 1:46

Code:
label selection
dim i
list 10 : height 10,300
for i = 1 to 20 : item_add 10,str$(i) : next i
on_mouse_move 10, selection

end
Selection:
'  item_select 10,1  : ' Erreure : value must be positive
  item_select 10,5   : ' Correct
return

L'erreur vient de la valeur 1 que la commande ITEM_SELECT considère comme non positive !
Toute autre valeur (à condition de ne pas dépasser la limite) est acceptable.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 30 Déc 2016 - 1:56

Oui mais...si je veux sélectionner le premier item de la liste...
scratch
...je dans la m...
Twisted Evil
donc, en attendant que Jack m' en sorte, j' ai remis la 27i8.
Sad
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Ven 30 Déc 2016 - 3:31

Code:

rem ============================================================================
rem       Exemple d utilisation de RESTORE_LABEL
rem ============================================================================
label Francais, Anglais, Allemand
dim a$,i
list 10 : height 10,400
RESTORE_LABEL Anglais
for i = 1 to 7 : read a$ : item_add 10,a$ : next i
item_add 10,"==========="
RESTORE_LABEL Francais
for i = 1 to 7 : read a$ : item_add 10,a$ : next i
item_add 10,"==========="
RESTORE_LABEL Allemand
for i = 1 to 7 : read a$ : item_add 10,a$ : next i
rem ============================================================================
Francais:
data "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi","Dimanche"
Anglais:
data "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"
Allemand:
data "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"
rem ============================================================================


C'est bon. cheers
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jack
Admin
avatar

Nombre de messages : 1771
Date d'inscription : 28/05/2007

MessageSujet: Re: Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9   Ven 30 Déc 2016 - 14:10

Merci pour avoir testé cette version.

Il y avait en effet quelques bugs que je viens de corriger :
TERMINATE : les modifications n'étaient pas passées ...
ITEM_SELECT : le test sur la valeur de la ligne n'était pas correct (le numéro de ligne ne doit être ni nul, ni négatif)
Impossibilité de créer un exécutable ou une application : c'est corrigé aussi.

J'ai mis une nouvelle version instantanée, disponible au téléchargement. Téléchargez la, testez la, secouez la.
Elle deviendra la prochaine version régulière, quand j'aurai terminé la documentation.

Les commandes sur les LIBRARY sont mises en sommeil. Pour le moment, mon objectif est de sortir une version régulière avec la documentation à jour.
Patience ... Very Happy  Very Happy  Very Happy

_________________
username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://panoramic.free-boards.net
Contenu sponsorisé




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

Revenir en haut Aller en bas
 
Version instantanée du 30/12/2016 : PANORAMIC V 0.9.27i9
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 3Aller à la page : 1, 2, 3  Suivant
 Sujets similaires
-
» Version instantanée du 7 janvier 2015 : PANORAMIC V 0.9.26i5
» Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6
» Version instantanée 26 septembre 2014 : PANORAMIC V 0.9.26i2
» nuvi 34xx (GCD File) software version 8.30 du 03/10/2016
» PANORAMIC_IDE: version instantanée du 25 septembre 2010

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: