Utilisation structure impossible dans procédure [RESOLU]

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Shinao
Messages : 137
Inscription : dim. 21/sept./2008 13:00

Utilisation structure impossible dans procédure [RESOLU]

Message 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
Dernière modification par Shinao le ven. 27/mai/2011 10:51, modifié 1 fois.
Avatar de l’utilisateur
Mindphazer
Messages : 701
Inscription : mer. 24/août/2005 10:42

Re: Utilisation structure impossible dans procédure

Message 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
Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Torp
Messages : 360
Inscription : lun. 22/nov./2004 13:05

Re: Utilisation structure impossible dans procédure

Message 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())
Shinao
Messages : 137
Inscription : dim. 21/sept./2008 13:00

Re: Utilisation structure impossible dans procédure

Message 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 ! :)
Répondre