Page 1 sur 1
[Résolu] tableau statique
Publié : sam. 03/sept./2011 10:38
par Suduadib
Bonjour à tous,
J'ai besoin de vos lumières, voici mon problème:
je crée d'abord une structure contenant un tableau statique
Structure pt ;point
coo.f[3] ;coordonnées x y z
couleur.l ;couleur du point
EndStructure
ensuite je crée une procédure appelant en paramètre cette structure:
Procedure.f norme(w.pt\coo[1])
ProcedureReturn Sqr(Pow(w\coo[0],2)+Pow(w\coo[1],2)+Pow(w\coo[2],2))
EndProcedure
... et le résultat est fantaisiste, qu'est-ce qui m'échappe ?
Merci pour votre attention
Re: tableau statique
Publié : sam. 03/sept./2011 10:51
par G-Rom
erreur de syntaxe.
Code : Tout sélectionner
procedure.f Foo( *mastructure.qqchose )
..
endprocedure
..
...
A.xxl
Foo(@A)
Re: tableau statique
Publié : sam. 03/sept./2011 10:57
par comtois
comme ça
Code : Tout sélectionner
Enumeration
#X
#Y
#Z
EndEnumeration
Structure pt ;point
coo.f[3] ;coordonnées x y z
couleur.l ;couleur du point
EndStructure
Define Test.pt
Procedure.f norme(*w.pt)
ProcedureReturn Sqr(Pow(*w\coo[#X],2)+Pow(*w\coo[#Y],2)+Pow(*w\coo[#Z],2))
EndProcedure
Test\coo[#X] = 2
Test\coo[#Y] = 2
Test\coo[#Z] = 2
Debug norme(@Test)
ou comme ça
Code : Tout sélectionner
Structure Point3D
x.f
y.f
z.f
EndStructure
Structure pt
coo.Point3D
couleur.l
EndStructure
Define Test.pt
Procedure.f norme(*w.pt)
ProcedureReturn Sqr(Pow(*w\coo\x,2)+Pow(*w\coo\y,2)+Pow(*w\coo\z,2))
EndProcedure
Test\coo\x = 2
Test\coo\y = 2
Test\coo\z = 2
Debug norme(@Test)
Re: tableau statique
Publié : sam. 03/sept./2011 11:05
par Suduadib
Merci pour vos réponses
N'y a t'il aucun moyen d'éviter les pointeurs ?
Re: tableau statique
Publié : sam. 03/sept./2011 11:06
par Suduadib
De plus le compilateur ne signale aucune erreur de syntaxe
Re: tableau statique
Publié : sam. 03/sept./2011 12:43
par Suduadib
ok, encore merci, il est effectivement obligatoire d'utiliser un pointeur dans ce cas de figure
j'ai finalement trouvé ceci dans l'aide en fin de la rubrique "pointeurs":
Addresses of variables
To find the address of a variable in your code, you use the at symbol (@). A common reason For using this is when you want To pass a structured type variable To a Procedure. You must pass a pointer To this variable As you cannot pass structured variables directly.
Il me semble que ce paragraphe aurait été plus utile dans la rubrique "procédure" et que le compilateur pourrait signaler l'erreur de syntaxe. (c'est juste une suggestion afin d'aider les débutants comme moi)
Tant que j'y suis, comment fait-on pour mettre le tag "résolu" sur le topic ?
Re: tableau statique
Publié : sam. 03/sept./2011 13:20
par Ar-S
Salut,
Sous chacun des tes Messages tu as un bouton

Tu cliques sur celui de ton 1er message et tu modifies le titre en y ajoutant ta balise [resolu].
