Page 1 sur 1

Variable Global

Publié : mar. 28/sept./2004 4:33
par djmcg
donc on ne peux pas faire ?

GLOBAL CheminImage.s = "C:\Mes programmes\"

puis passé à la procédure CheminImage ?

Quelques chose que je n'ai pas compris avec les variables global.
Bon ben, je cherche. (si vous avez une piste)

Merci bonne journée.

Publié : mar. 28/sept./2004 6:33
par Oliv

Code : Tout sélectionner

Global CheminImage
CheminImage.s = "C:\Mes programmes\"
Modifié suite à l'inervention du grand et inconnu soldat

Publié : mar. 28/sept./2004 6:51
par Anonyme2
Il faut déclarer les variables globales puis dans une autre instruction leur assigner une valeur.

On déclare d'abord la variable globale avant de lui assigner une valeur (problème vu dans un post de Heis)

Publié : mar. 28/sept./2004 12:53
par Le Soldat Inconnu
Oliv, tu fais tout à l'envers, faut inverser les 2 lignes :roll:

Publié : mar. 28/sept./2004 17:36
par Oliv
:oops: je sais pas à quoi je pensais hier désolé

Publié : mar. 28/sept./2004 18:35
par djmcg
Merci

Y vraiment quelques chose que je saisis pas.

Il faut bien faire par exemple:

Global CheminImage.s

puis :

CheminImage = "C:\Mes Images"

et quand je passe la variable a la procédure il suffit de mettre la variable (variable) comme suit :

Procedure Carre(CheminImage)

EndProcedure

Publié : mar. 28/sept./2004 19:20
par Lukky
Denis est d'accord avec oliv mais le soldat dit l'inverse, qui a raison ?

Moi perso j'aurais d'abord déclaré la variable avec un Global maVariable.s puis je lui aurais assigné une valeur non ?

D'abord on déclare et ensuite on assigne.

De plus pourquoi déclarer la variable global si c'est pour la passer en argument ? Il me semble que ce n'est pas necessaire puisque justement le fait de la globaliser lui permet d'être visible à l'intérieur des procédures.

Mais je peux dire une grosse connerie, je ne m'en voudrais pas.

JL

Publié : mar. 28/sept./2004 19:38
par Oliv
Nan Lukky, regarde mon 2ème message, je l'ai modifié, je vais le spécifier correctement

Publié : mar. 28/sept./2004 20:01
par Le Soldat Inconnu
Non, une fois la variable Global, c=ça ne sert à rien de la passer en paramètre à la procedure car elle directement accessible dans celle-ci

Code : Tout sélectionner

Procedure Carre() 
  LoadImage(0, CheminImage + "carré.bmp")
EndProcedure
par exemple

Publié : mer. 29/sept./2004 4:13
par djmcg
Et mon erreur elle était là,
Déclarer une variable global et la passer en paramètre à la procédure.
Mais voilà, il m'a fallut le temps, mais j'ai compris. :lol:
Merci pour votre aide.
Bonne journée.

Publié : mer. 29/sept./2004 12:42
par Lukky
Bon content de voir que j'avais raison moi aussi, pas besoin de passer en argument une variable globale.

Sinon Oliv, j'avais pas vu la petite phrase : Modifié suite à l'inervention du grand et inconnu soldat.

D'ou mon erreur.

Par contre c'est quoi une inervention ? Ca vient d'inervé ?
Le soldat serait-il soupe au lait ?

JL

Publié : mer. 29/sept./2004 13:55
par Aranoth
justement Djmcg, l'interet des variables globales c'est ca:

Code : Tout sélectionner

;Code 1

Variable.l=1

Procedure.l Rien(var.l)
var+1
ProcedureReturn var
Endprocedure

Variable=Rien(Variable)

ca ca marche (enfin normalement lol)

mais c'est plus simple de faire ca:

Code : Tout sélectionner

;Code 2

Global Variable.l : Variable=1

Procedure Rien()
Variable+1
Endprocedure

Rien()
Meme resultat, mais diablement plus efficace dans le 2nd exemple

:wink:

Publié : mer. 29/sept./2004 17:39
par djmcg
Merci,

je crois que cette fois, j'ai compris.
J'ai essayé ce matin et ces effectivement cela.
Un tous grand merci.