[RESOLU] procedure et pointeurs, aie aie aie

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
supercdfr
Messages : 105
Inscription : sam. 21/juil./2007 15:16

[RESOLU] procedure et pointeurs, aie aie aie

Message par supercdfr »

Bonjour,

j'essaye un truc simple avec des pointeurs, mais j'arrive a rien.

Voici le code que je teste :

Code : Tout sélectionner

test.l = 5

Procedure rajoute_deux(*valeur)
  *valeur += 2
EndProcedure

rajoute_deux(@test)

Debug test
Ce que j’espérais naïvement, c'est :
- ma valeur test est a 5
- je lance la procédure rajoute_deux avec l'adresse mémoire de test
- je rajoute 2 a la valeur du pointeur
- en ressortant, test a pour valeur 7 et plus 5 :twisted: .

Problème, test reste a 5.

Comment je fais pour avoir ma valeur test a 7 (le passage par pointeur me permettrait de réduire une procedure de 100 lignes a 30).
Dernière modification par supercdfr le jeu. 26/juil./2012 8:09, modifié 1 fois.
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Re: procedure et pointeurs, aie aie aie

Message par comtois »

comme ça

Code : Tout sélectionner

test.l = 5

Procedure rajoute_deux(*valeur.long)
  *valeur\l + 2
EndProcedure

rajoute_deux(@test)

Debug test
ou

Code : Tout sélectionner

test.l = 5

Procedure rajoute_deux(*valeur)
  PokeL(*valeur, PeekL(*valeur) + 2)
EndProcedure

rajoute_deux(@test)

Debug 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.
Avatar de l’utilisateur
wood51
Messages : 122
Inscription : ven. 05/juin/2009 13:04
Localisation : orléans

procedure et pointeurs, aie aie aie

Message par wood51 »

*valeur\l + 2

On en apprend tout les jours ... :)
Merci
Compétences : Bricoleur PureBasic du dimanche
Crâmage de cerveau en cours 100% :D
Projet en cours : http://purepicbasic.frenchboard.com/
supercdfr
Messages : 105
Inscription : sam. 21/juil./2007 15:16

Re: procedure et pointeurs, aie aie aie

Message par supercdfr »

moi qui cherchait bêtement avec les * ou @.

Merci énormément.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: procedure et pointeurs, aie aie aie

Message par Backup »

supercdfr a écrit :moi qui cherchait bêtement avec les * ou @.

Merci énormément.
oui ça marche aussi ;) ... c'est plus scolaire ... :)

Code : Tout sélectionner

Declare  rajoute_deux(variable_adress.i)

test.i = 5
rajoute_deux(@test) ; ici on passe l'adresse de la variable "test.i"
Debug test

; ******* zone procedure *******************
Procedure rajoute_deux(variable_adress.i)
	valeur.i=peekl(variable_adress.i) ; recupere la valeur (le contenu) de la variable test.l, et la met dans la variable locale "valeur.i"
	pokei(variable_adress.i, valeur.i+ 2) ; pose la nouvelle valeur (valeur+2) a l'adresse passé en parametre (donc dans la varable "test.i")
EndProcedure
; EPB

Répondre