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
[Résolu] tableau statique
[Résolu] tableau statique
Dernière modification par Suduadib le sam. 03/sept./2011 13:25, modifié 1 fois.
Re: tableau statique
erreur de syntaxe.
Code : Tout sélectionner
procedure.f Foo( *mastructure.qqchose )
..
endprocedure
..
...
A.xxl
Foo(@A)
Re: tableau statique
comme ça
ou 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)
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)
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Re: tableau statique
Merci pour vos réponses
N'y a t'il aucun moyen d'éviter les pointeurs ?
N'y a t'il aucun moyen d'éviter les pointeurs ?
Re: tableau statique
De plus le compilateur ne signale aucune erreur de syntaxe
Re: tableau statique
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 ?
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
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].
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].

~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels