J'ai par exemple mon tableau :
Scores$( 32 )
J'aimerais connaitre l'adresse de mon texte contenu dans Scores$( X ) par exemple ...
Comment puis je faire pour avoir le pointeur vers ce string ?
Merci
connaitre l'adresse mémoire d'un String...
Code : Tout sélectionner
;Un tableau de chaine$ de caractères contient en fait
;un tableau d'adresses qui pointent à leur tour
;vers le premier octet de la chaine de caractère.
;Ce qui explique que dans une stucture, la longueur
;d'une Chaine vaut 4 Octets.
;C'est exactement comme si un pointeur contenait
;la variable d'un autre pointeur.
Dim Scores$(32)
Scores$(10)="freddix"
*pointeur=@Scores$() ;adresse du premier octet
*pointeur=*pointeur+4*10 ;adresse de la 10 ème valeur (4*10)
;puisqu'une adresse est contenue sur 4 octets
Debug (PeekL(*pointeur)) ;PeekL(*pointeur)donne l'adresse réel du début
;de la chaine
Debug PeekS(PeekL(*pointeur)) ;PeekS permet de lire la chaine à l'adresse
;indiquée
;Ce qui donne
Debug PeekS(PeekL(@Scores$()+10*4))
J'éprouve quelques difficultés avec JaPBe, certains codes ne fonctionnent pas (3.90), j'attends un peu avant de mettre à jour.
Je vois mon erreur maintenant:
Debug PeekS(@Scores$(10)) ;fonctionne très bien (je sais pas ce que j'ai fait), néanmoins ce que j'ai écrit reste valable.
Sinon, je préfère garder l'@ pour garder une logique de lecture, de même pour les API, ça permet de différencier les entrées des sorties, là aussi on pourrait omettre l'@, mais j'ai pris l'habitude de les mettre, plus pratique, en tout cas pour moi.
Je vois mon erreur maintenant:
Debug PeekS(@Scores$(10)) ;fonctionne très bien (je sais pas ce que j'ai fait), néanmoins ce que j'ai écrit reste valable.
Sinon, je préfère garder l'@ pour garder une logique de lecture, de même pour les API, ça permet de différencier les entrées des sorties, là aussi on pourrait omettre l'@, mais j'ai pris l'habitude de les mettre, plus pratique, en tout cas pour moi.