leclode
Nombre de messages : 39 Date d'inscription : 01/11/2022
| Sujet: sous programme avec variable(résolu) Mar 3 Sep 2024 - 16:47 | |
| Bonjour tout le monde. Je suis entrain de réorganiser mon programme. Je teste un sous programme pour récupérer une variable de type string. c'est une variable globale. Le problème c'est que quand je fais "print" dans le sous programme j'ai bien la bonne chaîne de caractères mais si je le fais après être sortie du sous programme apparemment il n'y a plus rien dans la variable globale. - Code:
-
DIM NomFichier$
alpha 1 font_size 1,11 left 1,135 top 1,170
alpha 2 font_size 2,11 left 2,170 top 2,170
alpha 3 font_size 3,11 left 3,180 top 3,170
CAPTION 1,str$((DATE_YEAR)) caption 2,str$((DATE_MONTH)) caption 3,"E" fichierStd(NomFichier$) print "le nom du fichier est :" + NomFichier$ + " <---- rien ?" end ' """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" SUB fichierStd(NomFichier$) dim_local An$, Mois$, Vari$ An$= CAPTION$(1) Mois$= caption$(2) Vari$= caption$(3) NomFichier$ = An$+Mois$+Vari$+".txt" print "depuis le sous programme : " + NomFichier$ + " <---- ok" print END_SUB Moi qui pensais avoir compris les sous programme Merci d'avance à ceux qui voudront bien m'aider.
Dernière édition par leclode le Mer 4 Sep 2024 - 10:22, édité 1 fois | |
|
leclode
Nombre de messages : 39 Date d'inscription : 01/11/2022
| Sujet: Re: sous programme avec variable(résolu) Mar 3 Sep 2024 - 18:23 | |
| Pendant j'y pense j'ai essayé aussi FNC en mettant $ a la fin du nom de la fonction. A chaque fois j'ai un message d'erreur "20249E.txt n'est pas une valeur en virgule flottante correcte" | |
|
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: sous programme avec variable(résolu) Mar 3 Sep 2024 - 19:24 | |
| Bonjour à tous ! @Leclode Dans ton programme, tu as la variable globale "NomFichier$" (déclarée en ligne 1) et la variable locale "NomFichier$" créée automatiquement en ligne 26 lors de l’appel de la SUB fichierStd(NomFichier$). Ces deux variables ne sont pas les mêmes bien qu’elles portent le même nom. Dans ton code, la SUB ne met à jour que la variable locale. Celle qui est globale reste inchangée. Le programme dans la SUB va en premier utiliser la variable locale. Si elle n’existe pas, il cherchera dans les variables globales. Voici ton code rectifié afin qu’il fonctionne : - Code:
-
DIM NomFichier$
alpha 1 font_size 1,11 left 1,135 top 1,170
alpha 2 font_size 2,11 left 2,170 top 2,170
alpha 3 font_size 3,11 left 3,180 top 3,170
CAPTION 1,str$((DATE_YEAR)) caption 2,str$((DATE_MONTH)) caption 3,"E" fichierStd() print "le nom du fichier est :" + NomFichier$ + " <---- Ok!" end ' """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" SUB fichierStd() dim_local An$, Mois$, Vari$ An$= CAPTION$(1) Mois$= caption$(2) Vari$= caption$(3) NomFichier$ = An$+Mois$+Vari$+".txt" print "depuis le sous programme : " + NomFichier$ + " <---- ok" print END_SUB Les lignes 22 et 26 ont été modifiées. Bonne continuation ! | |
|
leclode
Nombre de messages : 39 Date d'inscription : 01/11/2022
| Sujet: Re: sous programme avec variable(résolu) Mer 4 Sep 2024 - 10:21 | |
| Bonjour tout le monde. Un grand merci pour ton aide. J'en ai profité pour tester car je comprenais pas trop. En fait la variable entre parenthèse permet de passer des données du programme principal vers le sous programme. Par contre tous les changements sur celle-ci sont perdus quand on quitte le sous programme donc a sauvegarder avant. Dim_local, on doit donner une valeur dans le sous programme. Par contre si on veut utiliser une variable globale pour récupérer des données dans le programme principal ne surtout pas la mettre entre les parenthèses ni dans dim_local du sous programme SUB. Merci encore de ton aide. Bonne journée | |
|
Contenu sponsorisé
| Sujet: Re: sous programme avec variable(résolu) | |
| |
|