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
» 2D_fill_color
Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Emptypar Marc Aujourd'hui à 9:56

» Consommation gaz électricité
Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Emptypar leclode Mer 17 Avr 2024 - 11:07

» trop de fichiers en cours
Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Emptypar lepetitmarocain Mer 17 Avr 2024 - 10:19

» on_key_down (résolu)
Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

» Bataille-navale
Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Emptypar jjn4 Mer 3 Avr 2024 - 14:08

» Minimiser une fenêtre Panoramic.
Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Emptypar Pedro Mar 2 Avr 2024 - 13:50

» Récapitulatif ludothèque panoramic jjn4
Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Emptypar jjn4 Lun 1 Avr 2024 - 18:04

» demande explication KGF pour imprimer en mm
Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Emptypar JL35 Jeu 28 Mar 2024 - 17:28

» Petit passage furtif
Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Emptypar Froggy One Mer 27 Mar 2024 - 14:26

» SPIN et aide langage (résolu)
Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Emptypar leclode Sam 23 Mar 2024 - 15:20

» Aide-mémoire des mots-clés Panoramic
Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Emptypar papydall Mer 20 Mar 2024 - 21:23

» Je ne comprend pas pourquoi la largeur de la scene 3d change
Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Emptypar Marc Mar 12 Mar 2024 - 20:06

» Comment télécharger panoramic?
Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Emptypar lepetitmarocain Sam 9 Mar 2024 - 13:31

» @lepetitmarocain <==> KGFGrid
Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Emptypar Klaus Dim 3 Mar 2024 - 9:59

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 :
Display One Piece Card Game Japon OP-08 – Two ...
Voir le deal

 

 Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1

Aller en bas 
+3
Jicehel
jjn4
Jack
7 participants
AuteurMessage
Jack
Admin
Jack


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

Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Empty
MessageSujet: Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1   Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 EmptyDim 27 Nov 2011 - 12:08

Version instantanée du 27 novembre 2011: PANORAMIC V 0.9.23i1

Une version instantanée est la version actuelle du développement de PANORAMIC, elle vous permet d'utiliser les toutes dernières améliorations, sans attendre la sortie de la prochaine version.
Une version instantanée n'a pas de procédure d'installation (c'est un fichier zip contenant l'EDITEUR).
Les nouveaux mots-clés n'ont pas de coloration syntaxique dans l'EDITEUR.

Pour obtenir la version instantanée, cliquez sur *** annulé ***

Voici les apports de cette version, par rapport à la dernière version régulière PANORAMIC V0.9.22 du 5 novembre 2011:

1 - correction de bugs sur des objets 3D:
Les commandes 3D_HIDE et 3D_SHOW n'agissaient pas sur les objets 3D 3D_PLANE et 3D_SKYBOX.
Les commandes 3D_TRANSPARENT et 3D_MOVE n'agissaient pas sur les objets 3D 3D_PLANE.
Les fonctions O3D_X_POSITION(), O3D_Y_POSITION(), O3D_Z_POSITION(), O3D_X_ROTATE(), O3D_Y_ROTATE(), O3D_Z_ROTATE(), O3D_X_SCALE(), O3D_Y_SCALE(), O3D_Z_SCALE() n'agissaient pas sur les objets 3D 3D_PLANE.
les numéros des objets 3D 3D_PLANE étaient limités.

2 - correction de bugs sur des fonctions:
problème quand N est grand sur OBJECT_EXISTS(N), OBJECT_TYPE(N), O3D_OBJECT_EXISTS(N), O3D_OBJECT_TYPE(N), SPRITE_EXISTS(N).

3 - améliorations:
CLIPBOARD_COPY et CLIPBOARD_PASTE s'appliquent aussi aux objets système PICTURE(9) et [b]IMAGE.
FONT_SIZE : il n'y a plus la limite de 30 à la taille de la police

4 - nouvelle fonction:
HANDLE_FORM("titre") : retourne le handle d'une fenêtre (PANORAMIC ou pas) dont on connait le caption
Exemple:
Code:
execute "notepad.exe"
wait 1000
caption 0,handle_form("Sans titre - Bloc-notes")

5 _ nouvelle commande:
FREE Variable : libère la variable
Exemple:
Code:
dim v(10),t$
free v
free t$
dim v(100),t$


Dernière édition par Jack le Sam 28 Jan 2012 - 7:53, édité 2 fois
Revenir en haut Aller en bas
https://panoramic.1fr1.net
jjn4

jjn4


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

Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Empty
MessageSujet: +++   Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 EmptyDim 27 Nov 2011 - 12:16

Ouahhh, fabuleux, merci Jack !
king king king
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Empty
MessageSujet: Re: Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1   Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 EmptyDim 27 Nov 2011 - 13:10

Je n'aurais pas dis mieux jjn4, gros boulot et des modifs majeures en plus en prime comme le FREE ... bienvenue aux variables locales ^^.
Merci Jack
Revenir en haut Aller en bas
JL35




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

Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Empty
MessageSujet: Re: Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1   Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 EmptyDim 27 Nov 2011 - 14:25

Dûment testé en ce qui concerne le point 3: copie d'image dans le clipboard, levée de la limitation de taille de fonte.
Parfait, merci Jack. Je vais pouvoir reprendre quelques programmes qui étaient en jachère.

FREE variable, très bien pour les variables locales, ça ouvre la voie aux bibliothèques de s/p: dim des variables en tête, free avant le return.
(remarque: il faut un FREE par variable, pas comme DIM v1, v2 etc...)
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Empty
MessageSujet: re   Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 EmptyDim 27 Nov 2011 - 21:25

Super Jack ! je fonce au téléchargement !
cheers cheers cheers cheers cheers
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 55
Localisation : Valence
Date d'inscription : 02/07/2010

Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Empty
MessageSujet: Re: Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1   Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 EmptyLun 28 Nov 2011 - 10:15

@Jicehel:
La commande FREE n'apporte rien au principe des variables locales.... Wink
Elle doit être vue comme étant un moyen de libérer la place occupée en RAM par des variables GLOBALES.
Autrement dis: elle permet de manipuler des variables globales temporaires...

Ce qui apporte vraiment quelque chose sur le traitement des variables locales, c'est la commande VARIABLE( )


Exemple de simulation simplifiée de variables locales:
Code:

LABEL NRETURN
LABEL DIM_MaVariable

GOSUB DIM_MaVariable : ' on simule la cde "DIM MaVariable"
LABEL Test

FOR MaVariable=1 TO 3
  PRINT "Appel n°";MaVariable
  GOSUB Test
NEXT MaVariable

END


Test:
  GOSUB DIM_MaVariable : ' on simule un DIM "local" de la variable "MaVariable"
  ' A partir de maintenant, on peut utiliser "MaVariable" comme une variable locale
  FOR MaVariable = 5 TO 7
    PRINT "  Test:";MaVariable
  NEXT MaVariable
  GOSUB NRETURN  : ' on simule la commande "RETURN"
RETURN


' -----------------------------------------
' Simulation d'une commande DIM "MaVariable"
' -----------------------------------------
' Pour pouvoir utiliser "MaVariable" comme variable locale, il faut vérifier son existence.
' Si elle est déjà déclarée :
'  il faut sauvegarder son contenu dans une DLIST spécifique
' Sinon
'  déclaration de "MaVariable"
'  création d'une DLIST pour les eventuels DIM locaux de MaVariable
' Finsi
DIM_MaVariable:
  IF VARIABLE("MaVariable")=0
    DIM MaVariable
    DIM VAR_MaVariable: VAR_MaVariable = NUMBER_OBJECTS+1
  ELSE
    IF OBJECT_EXISTS(VAR_MaVariable)=0 THEN VAR_MaVariable = NUMBER_OBJECTS+1 : DLIST VAR_MaVariable
    ITEM_ADD VAR_MaVariable, MaVariable
  END_IF
RETURN


' -----------------------------------------
' Simulation "simplifiée" d'une commande RETURN
' -----------------------------------------
' A la fin de la procédure, on teste si la variable "MaVariable" a été sauvegardée
' normalement il faudrait également tester si un DIM local de "MaVariable" a été réalisé...
NRETURN:
 ' si c'est le cas, on lui restitue son contenu
  IF COUNT(VAR_MaVariable)<>0
    MaVariable=VAL(ITEM_READ$(VAR_MaVariable,COUNT(VAR_MaVariable)))
    ' puis on supprime la sauvegarde temporaire
    ITEM_DELETE VAR_MaVariable,COUNT(VAR_MaVariable)
    IF COUNT(VAR_MaVariable)=0 THEN DELETE VAR_MaVariable
  END_IF
RETURN
Wink
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Empty
MessageSujet: Re: Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1   Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 EmptyLun 28 Nov 2011 - 11:07

Heu, là, je ne suis pas d'accord Nardo,
On peut déjà écrire des sous programme qui déclare les variables avec des noms complexes et qui les libère en de traitement du sous programme.
C'est en effet des variables 'globales' puisqu'elles ne doivent pas être utilisé dans le programme principal a d'autres fin, mais pendant le traitement, elles sont utilisées comme globales ou locales.
C'est la façon de les utiliser qui permet de 'simuler' des variables locales en respectant quelques règles comme la non utilisation d'événements pendant le traitement du sous programme, etc ... et la libération en fin de traitement.

C'est donc un pas vers les variables locales selon moi, mais c'est vrai que l'utilisation de variable a bon escient permet de faire des contrôlmes et de sécuriser le programme et d'utiliser la pile comme tu le fait dans ton programme (qui est très interessant et permet en effet d'avoir une structure pour 'localiser' les variables avec plus de sécurité)

(J'espère que ma réponse n'est pas trop confuse ... )

Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 55
Localisation : Valence
Date d'inscription : 02/07/2010

Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Empty
MessageSujet: Re: Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1   Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 EmptyLun 28 Nov 2011 - 11:55

Citation :
Heu, là, je ne suis pas d'accord Nardo,...
Au contraire, je crois que l'on est d'accord ! Wink
La description que tu donnes correspond à ce que j'appelle "des variables globales temporaires"...

il n'y a qu'à voir les noms à rallonge que j'utilise dans certains programmes : j'essaye de "normaliser" ma façon de les nommer :" Nomprocedure_NomVariable" de manière à avoir un nom unique...
Je pourrais très bien faire un free à la fin de chaque procédure mais vu la capacité des RAM sur nos bécane, cela n'est pas vraiment nécessaire...
mes DIMs sont mis dans les procédures et je fais un test avec variable(), de manière à pouvoir plus facilement faire un copier/coller de ces procédures d'un programme à un autre...

Là dans le cas présent, pourquoi je met l'accent sur cette notion de pile? Tu dois bien t'en douter... non ? Wink
-> C'est pour pouvoir gérer les appels récursifs. (c'est un des points important dans la gestion des variables locales...)

Pour la réentrance, il faudrait (peut être) également mémoriser l'indice de la variable dans la pile.. mais là, c'est un autre problème... Wink

Mon exemple est une simulation, car j'utilise aussi une variable globale.
Mais sa gestion en beaucoup plus proche de ce que devrait être une véritable variable locale...
Mon erreur c'est d'avoir écrit l'exemple en Panoramic: pour éviter toute confusion, j'aurais dû écrire l'exemple en pseudo-code...
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Empty
MessageSujet: Re: Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1   Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 EmptyLun 28 Nov 2011 - 12:09

Non, c'est bien, ça permet de commencer à structurer nos programmes, c'est cool Smile (Enfin, il va falloir prendre l'habitude qu'en même ...). La libération des varaibles est sympa, ne serait-ce que pour ne pas remplir inutillement la pile, d'autant que l'on sait que l'on finit toujours par atteindre des limites dans les piles. (En plus toi qui aime bien les trucs propres et structurés Smile ...)
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 55
Localisation : Valence
Date d'inscription : 02/07/2010

Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Empty
MessageSujet: Re: Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1   Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 EmptyLun 28 Nov 2011 - 14:24

Il n'y a aucune habitude à apprendre, c'est ma façon de faire, chacun est libre procéder comme il l'entend... Wink

La commande FREE NomVariable offre un intêret dans le cas d'utilisation de variables globales à nom unique sans appels récursifs (pour faire propre Wink ).
Par exemple :
Code:
LABEL Math_Init:GOSUB Math_Init
Racine_param = 5 : GOSUB Racine
PRINT "Racine(";Racine_param;") = ";Racine_return
Factorielle_param = 5: GOSUB Factorielle
PRINT Factorielle_param;"! = ";Factorielle_return
END

' ------------------------------------
' Librairie
' ------------------------------------
Math_Init:
    LABEL Racine : DIM Racine_param, Racine_return
    LABEL Factorielle : DIM Factorielle_param, Factorielle_return
RETURN

' Methode Newton
Racine:
    DIM Racine_i : ' variable pour calcul interne à la procédure
    Racine_return = 7
    FOR Racine_i = 0 TO 6
        Racine_return = ((Racine_param / Racine_return) + Racine_return) / 2
    NEXT Racine_i
    FREE Racine_i
RETURN

Factorielle:
    DIM Factorielle_i
    Factorielle_return = 1
    FOR Factorielle_i = 1 TO Factorielle_param
        Factorielle_return = Factorielle_return * Factorielle_i
    NEXT Factorielle_i
    FREE Factorielle_i
RETURN

Dans cet exemple, les variables ######_i sont ce que j'appelle, des variables "jetables" donc on peut se permettre de les supprimer... Smile

J'ai pas d'exemples flagrants concernant la commande FREE mais je suppose que d'autres personnes trouverons des exemples plus parlants... Wink
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Klaus

Klaus


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

Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Empty
MessageSujet: Re: Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1   Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 EmptyLun 28 Nov 2011 - 17:32

Génial, Jack ! Les commandes HANDLE_FORM et FREE_VARIABLE sont d'un grand intérêt pour moi ! As-tu considéré d'ajouter une commande FREE_LABEL également ?
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Empty
MessageSujet: Re: Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1   Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 EmptyLun 28 Nov 2011 - 17:38

Je sens que Klaus a déjà des idée de DLL qui arrivent avec ces fonctions ^^ (Enfin, tu as déjà de quoi faire avec les DLL d'impression, tu commences sans doute juste a avoir des idées pour celles d'après)
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 55
Localisation : Valence
Date d'inscription : 02/07/2010

Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Empty
MessageSujet: Re: Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1   Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 EmptyMer 30 Nov 2011 - 0:00

Bonsoir,

Apparemment Handle_form ne fonctionne pas correctement sous Win7 :

Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Handle_form
Dans l'exemple ci-dessus, le bloc-notes n'est pas détecté... Neutral
Je testerai demain sous XP...
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Empty
MessageSujet: re   Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 EmptyMer 30 Nov 2011 - 6:34

le pb est apparemment avec le bloc notes
cela fonctionne pour une fenêtre OpenOffice.org Writer
Revenir en haut Aller en bas
JL35




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

Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Empty
MessageSujet: Re: Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1   Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 EmptyMer 30 Nov 2011 - 9:57

Exact, ça semble être un problème avec le bloc-notes, j'ai essayé avec d'autres (Win 7), ça marche.
(j'ai même essayé le bloc-notes avec 'Untitled - Notepad', c'est pas mieux ! Very Happy )

Incidemment, le Handle_Form est insensible à la casse, c'est bien.
Revenir en haut Aller en bas
Contenu sponsorisé





Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Empty
MessageSujet: Re: Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1   Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1 Empty

Revenir en haut Aller en bas
 
Version instantanée du 27 novembre 2011:PANORAMIC V 0.9.23i1
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Version instantanée du 16-09-2011: PANORAMIC V 0.9.22i2
» Version instantanée du 23-09-2011: PANORAMIC V 0.9.22i3
» Version instantanée du 17 juillet 2011: PANORAMIC V 0.9.22i1
» Version instantanée du 9 avril 2011
» Version instantanée du 12 février 2011

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: