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
				
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  

 
			
					
				
				Publié : mar. 28/sept./2004 17:36
				par Oliv
				
 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.  
 
 
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
 

 
			
					
				
				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.