Page 1 sur 1

Utilisation structure impossible dans procédure [RESOLU]

Publié : ven. 27/mai/2011 10:01
par Shinao
Hello, it's me again !

Erreur :
mastructure() n'est pas une fonction, un tableau, une macro ou une liste.
Structure :

Code : Tout sélectionner

Structure Programme
  programme$
  francais$
  anglais$
EndStructure

Programmes(0)\programme$ = "test"
Programmes(0)\francais$ = "1"
Programmes(0)\anglais$ = "1"
Utilisation dans procédure :

Code : Tout sélectionner

Procedure Test()
If Programmes(0)\francais$ = "1"
EndIf
EndProcedure
J'ai utilisé des structures plutôt qu'un tableau car je trouve ça plus clair (je ne comprend même pas le tableau car il doit être en plusieurs dimensions ?)
Je ne cherche pas l'optimisation même si au final je finirais par le faire.

Ma question est : Comment je peux utiliser/connaître la valeur de la variable francais par exemple, dans ma procedure ?
Si cela n'est pas possible, comment puis-je "convertir" ma structure en tableau ?

Merci d'avance

Re: Utilisation structure impossible dans procédure

Publié : ven. 27/mai/2011 10:16
par Mindphazer
Il faut que tu déclares Programmes() :

Code : Tout sélectionner

Structure Programme
	programme.s
	francais.s
	anglais.s
EndStructure
Global Dim programmes.Programme(100)

programmes(0)\programme = "test"
programmes(0)\francais = "1"
programmes(0)\anglais = "1"

Procedure Test()
  If programmes(0)\francais = "1"
  EndIf
EndProcedure

Re: Utilisation structure impossible dans procédure

Publié : ven. 27/mai/2011 10:39
par Torp
Salut,
Ou passer ton tableau en paramètre de la procedure, si tu le ne déclare pas en Global.

Code : Tout sélectionner

Structure Programme
	programme.s
	francais.s
	anglais.s
EndStructure
Dim programmes.Programme(100)

programmes(0)\programme = "test"
programmes(0)\francais = "1"
programmes(0)\anglais = "1"

Procedure Test(Array programmes.Programme(1))
	If programmes(0)\francais = "1"
		Debug "OK"
  EndIf
EndProcedure

Test(programmes.Programme())

Re: Utilisation structure impossible dans procédure

Publié : ven. 27/mai/2011 10:51
par Shinao
En effet, j'avais déclaré mon tableau mais pas en global, donc ma procédure ne pouvait pas y accéder.

Merci ! :)