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.
Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Emptypar Pedro Hier à 15:50

» Un autre pense-bête...
Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 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 à ne pas rater :
Code promo Nike : -25% dès 50€ d’achats sur tout le site Nike
Voir le deal

 

 Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1

Aller en bas 
+11
Nardo26
Jean Claude
JL35
Severin
pan59
bignono
Yannick
papydall
Jicehel
Klaus
Jack
15 participants
Aller à la page : 1, 2, 3, 4, 5, 6  Suivant
AuteurMessage
Jack
Admin
Jack


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

Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty
MessageSujet: Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1   Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 EmptySam 8 Sep 2012 - 18:09

Version instantanée du 8 septembre 2012: PANORAMIC V 0.9.24i1

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 *** retiré ***

Voici les apports de cette version, par rapport à la dernière version régulière PANORAMIC V0.9.23 du 19 juillet 2012:

1 - nouvelles commandes pour les GRID :

GRID_CLEAR N,R,C : efface les cellules du GRID numéro N de la ligne 1 à R et de la colonne 1 à C
GRID_SAVE N,R,C,F : sauvegarde le GRID dans le fichier F, de la ligne 1 à R et de la colonne 1 à C
GRID_LOAD N,F : charge le fichier F dans le GRID numéro N

2 - les procédures :

On déclare une procédure par SUB, et les paramètres déclarés sont locaux à la procédure.
On termine le code d'une procédure par END_SUB.
On appelle une procédure directement par son nom.

exemple :
Code:
dim i%
for i%=1 to 10
 imprime(i%,20)
next i%
end
sub imprime(x%,y%)
 print x%*y%
end_sub


Dernière édition par Jack le Mar 11 Sep 2012 - 9:37, édité 1 fois
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Klaus

Klaus


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

Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty
MessageSujet: Re: Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1   Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 EmptySam 8 Sep 2012 - 18:22

Ah, tu nous donnes du grain à moudre ! Parfait ! Je télécharge de suite et je teste ! Merci !

EDIT

Petite suggestion: pourrais-tu à l'avenir inclure dans Panoramic_Editor.zip, non seulement l'éditeur, mais également Panoramic.exe correspondant ?
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

Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty
MessageSujet: Re: Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1   Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 EmptySam 8 Sep 2012 - 18:35

Génial, je teste Wink
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

Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty
MessageSujet: Re: Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1   Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 EmptySam 8 Sep 2012 - 18:44

Merci Jack.
Je vais tester SUB ….END_SUB


Dernière édition par papydall le Dim 17 Nov 2013 - 0:38, édité 1 fois
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jack
Admin
Jack


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

Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty
MessageSujet: Re: Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1   Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 EmptySam 8 Sep 2012 - 18:53

Revenir en haut Aller en bas
https://panoramic.1fr1.net
Yannick




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

Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty
MessageSujet: re   Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 EmptySam 8 Sep 2012 - 19:04

@ Jack,

Merci !!!


Edit : Ce que je craignais arrive, je suis pommé..., c'est pas grave...

Revenir en haut Aller en bas
Klaus

Klaus


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

Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty
MessageSujet: Re: Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1   Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 EmptySam 8 Sep 2012 - 19:34

Voici le résultat de mes premiers tests:
- passage de paramètres par valeur uniquement. Conséquence: on ne peut pas retourner une valeur par un paramètre, et on ne peut pas passer un tableau entier.
- toutes les variables sont globales, il n'y a pas de variables locales à la procédure. Sur ce point, tout est identique à ce qu'on peut faire avec GOSUB.

Quoique...
Si je fais ceci:
Code:

dim i%,a%(3)
for i%=0 to 3
  a%(i%) = i%*10 + 1
next i%
test(a%)
...
SUB test(a%)
message str$(a%'0))
END_SUB
j'obtiens une erreur sur "test(a%)". Normal. Mais si je fais ceci:
Code:

dim i%,a%(3)
for i%=0 to 3
  a%(i%) = i%*10 + 1
next i%
test(a%)
...
SUB test(a%(3))
message str$(a%'0))
END_SUB
j'obtiens une erreur sur "message str$(a%'0))". On est bien rentré dans la procédure, donc il a essayé de passer quelque chose, mais il ne sait pas quoi en faire ensuite. Qu'en est-il exactement pour les tableaux ?

Jack, je sais que tu viens de franchir un pas énorme avec SUB...END_SUB. Longtemps attendu, ces commandes vont simplifier pas mal de codage répétitif. Mais est-ce que je me trompe si je pense qu'il ne s'agit que d'un premier jet ? Oserais-je suggérer les évolutions suivantes?

1. ajouter une commande EXIT_SUB
2. créer un jey de commandes symétrique FUNCTION - EXIT_FUNCTION - END_FUNCTION
3. la valeur de retour serait affectée à une variable fictive du nom de la fonction, et ce nom pourrait se terminer par un $ si la valeur retournée doit être une chaîne de caractères.
4. créer un mode de passage de paramètres "par référence" via une pseudo-fonction REF(), un peu comme ceci:
Code:

dim a%,b%
test(a%,ref(b%))
...
SUB test(x%,y%)
y% = 2*x%
END_SUB
5. utiliser le passage par référence pour passer des tableaux entiers, un peu comme ceci:
Code:

dim x%(3)
test(ref(x%))
...
SUB test(x%(3)  : ' ou SUB test(x%())
x%(0) = 3
x%(1) = 2
END_SUB

Ne prends pas mal ce que je suggère, et j'enfonce peut-être des portes ouvertes. En plus, comme certainement nous tous, je suis heureux d'avoir SUB - END_SUB et j'attendrai patiemment pour voir l'évolution.

Bravo pour ce que tu as fait !


Dernière édition par Klaus le Sam 8 Sep 2012 - 19:53, édité 2 fois
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




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

Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty
MessageSujet: re   Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 EmptySam 8 Sep 2012 - 19:45

Pourquoi "next a%" alors que ta boucle est "for i% ..." ? scratch
Revenir en haut Aller en bas
Klaus

Klaus


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

Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty
MessageSujet: Re: Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1   Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 EmptySam 8 Sep 2012 - 19:53

Bien vu, Ygeronimi ! C'est corrigé !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




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

Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty
MessageSujet: re   Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 EmptySam 8 Sep 2012 - 19:56

j'arrive à çà :
Code:
dim i%,a%(3)
for i%=1 to 3
 a%(i%)=i%*10+1
 test(a%(i%))
next i%
end


sub test(a%(i%))
 message str$(a%(i%))
end_sub

ou çà :
Code:
dim i%,a%(3)
for i%=0 to 3
 a%(i%)=i%*10+1
next i%
test(a%(i%))
end


sub test(a%(i%))
 message str$(a%(0))+","+str$(a%(1))+","+str$(a%(2))+","+str$(a%(3))
end_sub

...et je ne te dis pas où j'en serai après l'apéro Laughing Laughing Laughing
Revenir en haut Aller en bas
Klaus

Klaus


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

Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty
MessageSujet: Re: Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1   Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 EmptySam 8 Sep 2012 - 20:09

Le second exemple est étonnant, ne trouves-tu pas ? Tu passes un élément INEXISTANT du tableau, le numéro 4, et on a accès aux éléments existants du tableau ! Bluffant ! Regarde ton code avec un petit ajout:
Code:
dim i%,a%(3)
for i%=0 to 3
 a%(i%)=i%*10+1
next i%
message str$(i%) : ' pour vérifier l'indice qu'on passe
test(a%(i%))
end


sub test(a%(i%))
 message str$(a%(0))+","+str$(a%(1))+","+str$(a%(2))+","+str$(a%(3))
end_sub

dans la ligne "test(a%(i%))", on aurait dû avoir une erreur sur dépassement de l'indice...

Décidément, il reste des choses à revoir.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




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

Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty
MessageSujet: re   Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 EmptySam 8 Sep 2012 - 20:12

Au secours , JACK !!!!!

j'ai fait un essai et affraid affraid affraid
j'ai eu droit à un message d'erreur en boucle, plus moyen de s'échapper !
j'ai du tuer panoramic.exe ... Laughing


Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Captur37

Je sais que je suis lent à la détente Crying or Very sad mais une fois suffit ... Laughing


( j'avais juste enlever les parenthèses et leur contenu de "sub test( a%(i%))" dans le code du post au dessus )
Revenir en haut Aller en bas
Yannick




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

Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty
MessageSujet: re   Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 EmptySam 8 Sep 2012 - 20:18

@ Klaus,

en fait il passe le tableau mais pas en tant que a%(0) à a%(3)
mais un tableau a%() à 4 cases


C'est l'heure du Miam... Laughing
Revenir en haut Aller en bas
bignono

bignono


Nombre de messages : 1127
Age : 67
Localisation : Val de Marne
Date d'inscription : 13/11/2011

Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty
MessageSujet: Re: Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1   Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 EmptySam 8 Sep 2012 - 20:30

Un grand bonsoir à toute la planète Panoramic Very Happy Laughing
Et un grand grand grand MERCI à JACK pour cette nouvelle version!
A+ Wink Wink Wink
Revenir en haut Aller en bas
Yannick




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

Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty
MessageSujet: re   Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 EmptySam 8 Sep 2012 - 20:31

Une petite question ...

avant des messages d'erreur qui n'en finissent plus.

la bonne écriture est :

Sub fonction()
End_sub

même si il n'y a rien entre les parenthèses ? ou je peux les virer ?
Revenir en haut Aller en bas
Jack
Admin
Jack


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

Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty
MessageSujet: Re: Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1   Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 EmptySam 8 Sep 2012 - 20:34

@Klaus:
Les fonctions sont prévues d'ici peu.

Tu ne peux pas faire :
SUB test(a%(3))
car SUB est utilisé pour déclarer la procédure. Il te faut définir une variable et non pas le 4ème élément d'un tableau !

Variable locales et vartiables globales:

Si tu fais SUB test(i%) la variable i% est locale à la procédure test. Elle n'a rien à voir avec la variable i% de ta boucle: tu peux utiliser et modifier i% dans la procédure, cela n'a aucune influence sur le i% défini par dim i%.

Par contre, si tu déclares dim j%, tu peux modifier j% dans la procédure: tu utilises la variable locale.

Exemple:
Code:
dim i%,j%
i%=10
j%=5
imprime(i%): rem c'est la valeur 10 qui est passée à imprime
print i%: rem i% vaut toujours 10
print j%: rem j% vaut 3 car imprime a modifié la variable globale j%
end
sub imprime(i%)
rem i% est déclarée dans cette procédure: elle est locale à cette procédure, elle a été initialisée à 10
print i%
i%=1: rem cette valeur n'est valable que dans la procédure
print i%: rem i% vaut maintenant 1
j%=3: rem cette variable est globale (définie ailleurs). Elle est donc modifiée
end_sub

Il s'affiche:
10
1
10
3

Règle:
Les variables déclarées par DIM sont GLOBALES
Les variables déclarées par SUB sont LOCALES
Par SUB, on peut redéfinir une variable déja définie dans un DIM

Une variable qui fait partie de la définition de la procédure, comme i% dans sub proc(i%) est LOCALE à la procédure: elle peut être modifiée dans la procédure sans aucune influence sur les variables GLOBALES.
Toutes les autres variables utilisées dans une procédures sont GLOBALES: leur modification dans la procédure est valable lors de la sortie de cette procédure.



Dernière édition par Jack le Sam 8 Sep 2012 - 21:04, édité 10 fois
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Jack
Admin
Jack


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

Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty
MessageSujet: Re: Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1   Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 EmptySam 8 Sep 2012 - 20:37

@ygeronimi:

Les messages d'erreur sont des messages de la mise au point dans cette version d'essai.

Si tu n'as de paramètres, il n'y a pas de parenthèses.
La définition est alors:
sub sspg
- - -
end_sub

et l'appel se fait par le nom donné, ici sspg


Dernière édition par Jack le Sam 8 Sep 2012 - 20:52, édité 1 fois
Revenir en haut Aller en bas
https://panoramic.1fr1.net
pan59

pan59


Nombre de messages : 367
Age : 67
Localisation : Wattignies
Date d'inscription : 16/10/2011

Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty
MessageSujet: Nouvelle version.   Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 EmptySam 8 Sep 2012 - 20:48

Bonjour à tous.

Je ne sais pas comment retourner le résultat de la sub dans une variable, exemple x%=indexOf(a$, b$, p%).
A moins que cela ne soit pas possible dans la version actuelle.

Merci de votre aide.

Code:
dim p%, x%
dim a$, b$

a$="bonjour"
b$="jour"
p%=4

indexOf(a$,b$,p%)

end

sub indexOf(chaine$,sous_chaine$,position%)
    x%=instr(chaine$,sous_chaine$)-1
    if x%<position% then x%=-1
   
    message str$(x%)
end_sub
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

Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty
MessageSujet: Re: Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1   Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 EmptySam 8 Sep 2012 - 20:49

Salut tout le monde.

Testez ce code et tirez vous-mêmes les conclusions !
Code:

dim i%,a%(3),x% ,j,k,l,m,n,o,p
for i%=0 to 3
  a%(i%) = i%*10 + 1
next i%
 test(x%) : ' ça fonctionne bien que les paramètres d'appel ne concordent pas.
' test(j,k,l,m,n,o,p) : ' ça fonctione bien que les paramètres d'appel ne concordent pas
' test : ' --> message Analyse_Ligne_Du_Source.Call.Erreur de Paramètres
        '    message Analyse_Ligne_Du_Source.Call.Le nom du sspg n'est pas correct
message "terminé"
end
SUB test(z$,a,b)
 z$ = "hello" : message z$
 a = 2 : b = 5*a : message "b = " + str$(b)
message  " a%(2) = " + str$(a%(2))

END_SUB
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jack
Admin
Jack


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

Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty
MessageSujet: Re: Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1   Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 EmptySam 8 Sep 2012 - 20:58

@pan59:
Ce que tu demandes, c'est l'implantation des fonctions. Cela viendra en son temps.
Pour le moment, si tu veux un "retour" d'une procédure, tu places ce 'retour" dans une variable globale, c'est à dire dans une variable qui ne fait pas partie de la définition de ta procédure.

@papydall:
C'est noté.
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Klaus

Klaus


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

Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty
MessageSujet: Re: Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1   Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 EmptySam 8 Sep 2012 - 21:01

@Jack at Papydall:

J'avais bien compris que les variables listés dans la DECLARATION de la procédure sont internes à la procédure. Ce sont ce qu'on appelle des paramètres formels, ou des variables formelles. C'est totalement différent des variables locales. Exemple:
Code:

dim i%, j%
i% = 1
j% = 2
test(i%,j%)
message "k%="+str$(k%)+"  est donc une variable globale !"
end

SUB test(x%,y%)
dim k%
k% = i% + j%
x% = x% * 2
y% = y% * 3
message "test: x%="+str$(x%)+"  y%="+str$(y%)+"  i%="+str$(i%)+"  j%="+str$(j%)+"  k%="+str$(k%)
end_sub

Bien sûr, x% et y% sont internes à la procédure. Mais k% est global, alors que cette variable est définie dans la procédure. Mais elle esl globale tout de même, et elle reste valide après la sortie de la procédure. Si la variable était locale, la ligne 5 devrait produire une erreur.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
pan59

pan59


Nombre de messages : 367
Age : 67
Localisation : Wattignies
Date d'inscription : 16/10/2011

Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty
MessageSujet: Nouvelle version.   Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 EmptySam 8 Sep 2012 - 21:04

Bonsoir Jack.

Merci pour l'information, je me doutais un peu qu'il fallait procéder ainsi.

Donc, il n'y a pas moyen pour l'instant de récupérer facilement le résultat d'une sub ?

L'intégration des fonctions est prévue dans quel délai, stp ?
Merci.
Revenir en haut Aller en bas
Klaus

Klaus


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

Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty
MessageSujet: Re: Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1   Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 EmptySam 8 Sep 2012 - 21:13

@Ygeronimi:
J'avais trouvé ton second exemple bluffant, jusqu'à ce que je remarque que tu utilises la même variable a% en-dehors de la procédure et également à l'intérieur, en tant que paramètre formel. Or, clairement panoramic utilise dans ce cas la variable définie en-dehors de la procédure et non le paramètre formel. La preuve; change le nom de la variable en-dehors de la procédure (ou à l'intérieur, peu importe) de sorte que ce ne soit pas le même nom. Résultat: erreur à l'exécution, ce qui est déjà plus normal.
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

Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty
MessageSujet: Re: Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1   Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 EmptySam 8 Sep 2012 - 21:22

@Klaus
Je viens juste de faire la même constatation que la tienne concernant les variables définies au sein même de la procédure.
Malheureusement, elles ne sont pas locales.
J’espère qu’elles seront locales. Ça facilite grandement la portabilité des procédures/fonctions entre les différents programmes.

@Jack
Une fois encore merci Jack.
On est un peu emballé par ces évolutions de PANORAMIC.
Avec l’implémentation des fonctions et les corrections des petits bugs signalés par les Forumistes, on va se régaler !
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty
MessageSujet: Re: Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1   Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 EmptySam 8 Sep 2012 - 22:21

Mein Test von Lokalen Variablen defekt / Fehler ?

Mein Versuch Lokale Variablen mit FREE entfernen.

Severin

Did Local Variables defect / error?

My attempt Local variables with FREE remove.

Severin

Avez variables locales défaut / erreur?

Mes variables locales tentent avec FREE retirer.

Severin
Code:
' *** TEST SUB-ROUTINEN ********************************************************
'
dim i%,j%
'
i%=10
'
j%=5
'
dim ZZ0001%  :' Sprungadresse für SUB-Routine
'
' *** SUB ERSTELLEN ************************************************************
'
imprime(ZZ0001%) : Rem Wert ist 10, die vergangen zu druckenden
'
print i%    : REM ist immer 10
'
print j%    : Rem j% wird drei Drucke ersetzt seit der globalen Variable j% verändert
'
end
'
' ******************************************************************************
'
sub imprime(ZZ0001%)
'
dim k%,l%
'        : Rem i% ist eine Variable lokal in der Prozedur
'
k%=21    : REM Dieser Wert ist nur gültig in der Prozedur
'
print k%
'
'        : Rem i% wird in diesem Verfahren erklärt: es ist lokale diesem Verfahren
'
l%=31    : rem diese Variable global (an anderer Stelle definiert). Es wird daher geändert
'
print l%
'
' FREE k%,l%
'
end_sub

' ******************************************************************************
Revenir en haut Aller en bas
Contenu sponsorisé





Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty
MessageSujet: Re: Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1   Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1 Empty

Revenir en haut Aller en bas
 
Version instantanée du 8 septembre 2012 PANORAMIC V 0.9.24i1
Revenir en haut 
Page 1 sur 6Aller à la page : 1, 2, 3, 4, 5, 6  Suivant
 Sujets similaires
-
» Version instantanée du 12 septembre 2012 PANORAMIC V0.9.24i2
» Version instantanée du 16 mai 2012: PANORAMIC V 0.9.23i6
» Version instantanée du 3 octobre 2012: PANORAMIC V 0.9.24i3
» Version instantanée du 8 octobre 2012: PANORAMIC V 0.9.24i4
» Version instantanée du 25 octobre 2012: PANORAMIC V 0.9.24i5

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: