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
» Logiciel de planétarium.
[24i2] Au sujet de DIM_LOCAL - Page 2 Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
[24i2] Au sujet de DIM_LOCAL - Page 2 Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
[24i2] Au sujet de DIM_LOCAL - Page 2 Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
[24i2] Au sujet de DIM_LOCAL - Page 2 Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
[24i2] Au sujet de DIM_LOCAL - Page 2 Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
[24i2] Au sujet de DIM_LOCAL - Page 2 Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
[24i2] Au sujet de DIM_LOCAL - Page 2 Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
[24i2] Au sujet de DIM_LOCAL - Page 2 Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
[24i2] Au sujet de DIM_LOCAL - Page 2 Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
[24i2] Au sujet de DIM_LOCAL - Page 2 Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
[24i2] Au sujet de DIM_LOCAL - Page 2 Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
[24i2] Au sujet de DIM_LOCAL - Page 2 Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
[24i2] Au sujet de DIM_LOCAL - Page 2 Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
[24i2] Au sujet de DIM_LOCAL - Page 2 Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
[24i2] Au sujet de DIM_LOCAL - Page 2 Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment : -38%
Ecran PC gaming 23,8″ – ACER KG241Y P3bip ...
Voir le deal
99.99 €

 

 [24i2] Au sujet de DIM_LOCAL

Aller en bas 
+4
papydall
Yannick
pan59
Nardo26
8 participants
Aller à la page : Précédent  1, 2
AuteurMessage
Klaus

Klaus


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

[24i2] Au sujet de DIM_LOCAL - Page 2 Empty
MessageSujet: Re: [24i2] Au sujet de DIM_LOCAL   [24i2] Au sujet de DIM_LOCAL - Page 2 EmptyMar 18 Sep 2012 - 21:55

@Jack:
Je suis content de voir que tu es d'accord avec mon opinion sur les variables locales.

En ce qui concerne les fonctions, je comprends parfaitement la difficulté devant laquelle tu te trouves pour gérer l'appel d'une fonction Panoramic à l'intérieur d'une expression. Pour ma part, la simple affectation mavariable=mafonction(...) avec les paramètres et variables locales gérées comme dans les procédures, résoudrait 90 % des utilisations que je compte en faire. Personnellement, je voterait pour une implémentation de ce type. Et je pense que si plus tard l'envie te prend d'aller plus loin, ce sera toujours possible et pas contradictoire avec la première option.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


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

[24i2] Au sujet de DIM_LOCAL - Page 2 Empty
MessageSujet: Re: [24i2] Au sujet de DIM_LOCAL   [24i2] Au sujet de DIM_LOCAL - Page 2 EmptyMar 18 Sep 2012 - 22:05

Moi, ça me conviendrait parfaitement aussi et je comprends tout à fait le travail énorme que représenterait l'autre méthode. Je pense qu'il ne faut pas trop se disperser et déjà bien tester / exploiter cette grosse avancée. C'est déjà énorme

Pour le dim on partirait donc bien vers leur suppression complète en fin de traitement ?

Le gros avantage de cette méthode et de créer des variables totalement autonomes par exemple est comme le disait Nardo de permettre à une procédure de s'appeler elle même sans que les variables ne perde ses valeurs même si elles sont initialisées au début.
Dans cette méthode il faut en effet forcément qu'elle soit libérée en fin de traitement pour éviter la saturation de la mémoire
Revenir en haut Aller en bas
Nardo26

Nardo26


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

[24i2] Au sujet de DIM_LOCAL - Page 2 Empty
MessageSujet: Re: [24i2] Au sujet de DIM_LOCAL   [24i2] Au sujet de DIM_LOCAL - Page 2 EmptyMar 18 Sep 2012 - 22:56

Tout comme Klaus, une simple affectation v = fonction(x) me conviendrai parfaitement. Wink

Juste pour savoir:
Pour les dim_locaux on tendrais vraiment vers une gestion dynamique (alloc/free) de la zone 'variable locale' ou une raz auto d'une seule zone par DIM_LOCAL ?

Car apparemment vue la version 24i2, Jack alloue une bonne fois pour toute une seule zone, unique, de variable par procedure/fonction...
scratch
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Klaus

Klaus


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

[24i2] Au sujet de DIM_LOCAL - Page 2 Empty
MessageSujet: Re: [24i2] Au sujet de DIM_LOCAL   [24i2] Au sujet de DIM_LOCAL - Page 2 EmptyMar 18 Sep 2012 - 23:20

Dans mon esprit, tout ce qui est alloué par DIM_LOCAL doit obligatoirement être "oublie", supprimé automatiquement à la sortie de la procédure ou de la future fonction, exactement comme si l'on avait fait explicitement un FREE sur toutes les variables définies par DIM_LOCAL, et ce quella sortie soit faire par END_SUB/END_FUNCTION ou les éventuiels EXIT_SUB/EXIT_FUNCTION. Ainsi, DIM_LOCAL peut tester si une variable a déjà été déclarée par DIM_LOCAL dans la même procédure et produire une erreur dans ce cas, et également si une variable dans un DIM_LOCAL porte le même nom qu'un paramètre formel de la procédure ou de la fonction.

Maintenant, on peut débattre de la visibilité.

1. Une variable déclarée par DIM, n'importe où dans le programme, est visible partout et reste présente et définie, même si elle a été déclarée par DIM dans une procédure, même après la sortie de la procédure. Elle est visible dans toutes les procédures - c'est une variable globale.

2. Une variable définie par DIM_LOCAL n'a d'existence qu'à l'intérieur de la procédure qui la déclare. Elle n'est pas visible dans le programme principal, ni dans une procédure ou fonction qui aurait appelé la procédure déclarant cette variable.

Mais, pour la visibilité "en-dessous", il y a deux conceptions différentes qui se valent:
2.1. une variable déclarée par DIM_LOCAL est STRICTEMENT personnelle à la procédure qui la déclare. Elle n'est pas non plus visible dans une procédure qui serait appelée par la procédure déclarante
2.2. une variable déclarée par DIM_LOCAL est visible dans toute l'arborescence de fonctions et procédures appelées à partir de la procédure déclarante. C'est en somme une variable globale restreinte à l'hiérarchie des procédures et fonctions à un instant donné.

Personnellement, j'opterais pour la solution 2.1 qui a l'avantage d'être parfaitement claire et évite toute confusion.

Je vais revenir sur un autre élément tout aussi important que les variables locales: se sont les labels locaux. A mon sens, il faut avoir une commande similaire pour les labels: LABEL_LOCAL nom, ... déclarant des labels devant impérativement être situés physiquement entre SUB et END_SUB et qui sont SUPPRIMES par END_SUB/END_FUNCTION ou EXIT_SUB/EXIT_FUNCTION, exactement de la même manière que les variables.

Ceci est essentiel, au minimum pour la gestion de la commande ON_ERROR_GOTO qui a absolument besoin d'un label. Et dans une procédure, ce label doit être local et ne pas rentrer en conflit avec des labels du programme principal ou des labels dans d'autres procédures.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


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

[24i2] Au sujet de DIM_LOCAL - Page 2 Empty
MessageSujet: Re: [24i2] Au sujet de DIM_LOCAL   [24i2] Au sujet de DIM_LOCAL - Page 2 EmptyMar 18 Sep 2012 - 23:32

Etant donné que certains (et j’en fais partie) sont avides d’utiliser au plus vite les fonctions, je pense que pouvoir faire (après avoir défini MaFonction, bien sûr !)
Code:

.....
x = .....
y = .....
z = .....
t = MaFonction(x,y,z)
w = (3*t + 1/t) * cos(x)
.....
est suffisant dans la majorité des situations.

Alors, Jack, puisque tu as dis toi-même que ce genre de code ne nécessite pas plus que quelques heures de travail, je me rejoins à Klaus et à Nardo26 pour disposer de cette façon de faire, quitte à l’améliorer plus tard.
Ipso facto, c’est à toi de décider.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Invité
Invité




[24i2] Au sujet de DIM_LOCAL - Page 2 Empty
MessageSujet: Re: [24i2] Au sujet de DIM_LOCAL   [24i2] Au sujet de DIM_LOCAL - Page 2 EmptyMar 18 Sep 2012 - 23:42

Je suis d'accord aussi. Suffit de dire les restrictions actuelles dans la doc et tout le monde comprendra.
Revenir en haut Aller en bas
Jicehel

Jicehel


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

[24i2] Au sujet de DIM_LOCAL - Page 2 Empty
MessageSujet: Re: [24i2] Au sujet de DIM_LOCAL   [24i2] Au sujet de DIM_LOCAL - Page 2 EmptyMar 18 Sep 2012 - 23:51

Perso, je suis pour le choix 2.1 aussi.
Revenir en haut Aller en bas
papydall

papydall


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

[24i2] Au sujet de DIM_LOCAL - Page 2 Empty
MessageSujet: Re: [24i2] Au sujet de DIM_LOCAL   [24i2] Au sujet de DIM_LOCAL - Page 2 EmptyMar 18 Sep 2012 - 23:53

Que pensez-vous si on pouvait faire des procédures et/ou fonctions imbriquées ?
Code:
SUB proc1(....)
    DIM_LOCAL ....
    SUB proc2(....) : ' déclaration de proc2 à l’intérieur de proc1
            DIM_LOCAL ....
            .... : ' Corps de proc2
    END_SUB : '  fin de proc2
    ....  : '  Suite de proc1
    proc2(....) : ' appel de proc1 à proc2 qui est à l’intérieur de proc1
    .... : '  Suite de proc1
END_SUB : '  fin de proc1


Dernière édition par papydall le Mer 19 Sep 2012 - 0:55, édité 1 fois
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jicehel

Jicehel


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

[24i2] Au sujet de DIM_LOCAL - Page 2 Empty
MessageSujet: Re: [24i2] Au sujet de DIM_LOCAL   [24i2] Au sujet de DIM_LOCAL - Page 2 EmptyMar 18 Sep 2012 - 23:59

Papydall, je pense que pour le moment, il faut faire simple et ne pas imbriquer les déclaration
Je ferais plutôt comme ça:

Code:

SUB proc1(....)
    DIM_LOCAL ....
    ....  : '  Suite de proc1
    proc2(....) : ' appel de proc1 à proc2 qui est à l’intérieur de proc1
    .... : '  Suite de proc1
END_SUB : '  fin de proc1

SUB proc2(....) : ' déclaration de proc2 à l’intérieur de proc1
    DIM_LOCAL ....
      .... : ' Corps de proc2
END_SUB : '  fin de proc2


Ce que tu propose et bien, ça se rapproche de la programmation objet (un peu) mais je pense que ça éloigne encore un peu plus de l'esprit de simplicité de Panoramic
Revenir en haut Aller en bas
papydall

papydall


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

[24i2] Au sujet de DIM_LOCAL - Page 2 Empty
MessageSujet: Re: [24i2] Au sujet de DIM_LOCAL   [24i2] Au sujet de DIM_LOCAL - Page 2 EmptyMer 19 Sep 2012 - 0:11

C’était une simple idée qui a juste effleuré la surface externe de la partie profonde de ce qui me reste du réseau des neurones ! Laughing Laughing Laughing
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


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

[24i2] Au sujet de DIM_LOCAL - Page 2 Empty
MessageSujet: Re: [24i2] Au sujet de DIM_LOCAL   [24i2] Au sujet de DIM_LOCAL - Page 2 EmptyMer 19 Sep 2012 - 0:23

Je pense (et c'est une simple déduction) que pour le moment, Jack isole les procédures tout début, après avoir traité les #INCLUDE, et avant de commencer l'exécution proprement-dite. Ceci veut dire que les procédures sont repérées, peut-être mémorisées séparément, en tout cas connus AVANT l'exécution normale.

Pourquoi ? Parce qu'il n'y a aucune déclaration préalable de la procedure, un peu comme pour les labels avec la commande LABEL. Une procédure peut parfaitement se trouver à la fin du code et pourtant être utilisée bien au-dessus.

Conséquence: une procédure codée à l'intérieur d'une autre procédure est identique à la même procédure codée avant ou après l'autre.

A Jack de confirmer ou infirmer cette impression qui pour le moment n'engage que moi.

EDIT

Dans l'état actuel de la situation, on ne peut pas déclarer une procédure à l'intérieur d'une autre procédure. Cela est rejeté avec une erreur sur la commande SUB intercalée entre un SUB et le END_SUB correspondant. C'est certainement intentionnel.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Nardo26

Nardo26


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

[24i2] Au sujet de DIM_LOCAL - Page 2 Empty
MessageSujet: Re: [24i2] Au sujet de DIM_LOCAL   [24i2] Au sujet de DIM_LOCAL - Page 2 EmptyMer 19 Sep 2012 - 1:03

restons simple... [24i2] Au sujet de DIM_LOCAL - Page 2 07
...Et c'est moi qui dis ça !! [24i2] Au sujet de DIM_LOCAL - Page 2 22
Revenir en haut Aller en bas
http://nardo26.lescigales.org
papydall

papydall


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

[24i2] Au sujet de DIM_LOCAL - Page 2 Empty
MessageSujet: Re: [24i2] Au sujet de DIM_LOCAL   [24i2] Au sujet de DIM_LOCAL - Page 2 EmptyMer 19 Sep 2012 - 1:41

Nardo26 a écrit:
restons simple... [24i2] Au sujet de DIM_LOCAL - Page 2 07
...Et c'est moi qui dis ça !! [24i2] Au sujet de DIM_LOCAL - Page 2 22

[24i2] Au sujet de DIM_LOCAL - Page 2 35 je veux bien rester simple.
Mais comment tu fais pour afficher des Smileys comme ceux-ci ?
[24i2] Au sujet de DIM_LOCAL - Page 2 22[24i2] Au sujet de DIM_LOCAL - Page 2 33[24i2] Au sujet de DIM_LOCAL - Page 2 11

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

Jean Claude


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

[24i2] Au sujet de DIM_LOCAL - Page 2 Empty
MessageSujet: Re: [24i2] Au sujet de DIM_LOCAL   [24i2] Au sujet de DIM_LOCAL - Page 2 EmptyMer 19 Sep 2012 - 13:15

Klaus a écrit:
2.1. une variable déclarée par DIM_LOCAL est STRICTEMENT personnelle à la procédure qui la déclare. Elle n'est pas non plus visible dans une procédure qui serait appelée par la procédure déclarante

Klaus a écrit:
Je vais revenir sur un autre élément tout aussi important que les variables locales: se sont les labels locaux. A mon sens, il faut avoir une commande similaire pour les labels: LABEL_LOCAL nom, ... déclarant des labels devant impérativement être situés physiquement entre SUB et END_SUB et qui sont SUPPRIMES par END_SUB/END_FUNCTION ou EXIT_SUB/EXIT_FUNCTION, exactement de la même manière que les variables.

Franchement je trouve que c'est le meilleur et le plus simple pour le programmeur.

Je soutiens à fond cette vision. Et Jack tranchera... Very Happy

A+
Revenir en haut Aller en bas
Nardo26

Nardo26


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

[24i2] Au sujet de DIM_LOCAL - Page 2 Empty
MessageSujet: Re: [24i2] Au sujet de DIM_LOCAL   [24i2] Au sujet de DIM_LOCAL - Page 2 EmptyMer 19 Sep 2012 - 13:26

papydall a écrit:
Nardo26 a écrit:
restons simple... [24i2] Au sujet de DIM_LOCAL - Page 2 07
...Et c'est moi qui dis ça !! [24i2] Au sujet de DIM_LOCAL - Page 2 22

[24i2] Au sujet de DIM_LOCAL - Page 2 35 je veux bien rester simple.
Mais comment tu fais pour afficher des Smileys comme ceux-ci ?
[24i2] Au sujet de DIM_LOCAL - Page 2 22[24i2] Au sujet de DIM_LOCAL - Page 2 33[24i2] Au sujet de DIM_LOCAL - Page 2 11

J'utilise le module "custom buttons" sous firefox... que j'ai personnalisé...[24i2] Au sujet de DIM_LOCAL - Page 2 07
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Contenu sponsorisé





[24i2] Au sujet de DIM_LOCAL - Page 2 Empty
MessageSujet: Re: [24i2] Au sujet de DIM_LOCAL   [24i2] Au sujet de DIM_LOCAL - Page 2 Empty

Revenir en haut Aller en bas
 
[24i2] Au sujet de DIM_LOCAL
Revenir en haut 
Page 2 sur 2Aller à la page : Précédent  1, 2
 Sujets similaires
-
» [24i2] LINE_CALL
» Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2
» Sujet en OR
» Au sujet des DIM
» Basic.

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: