Imprimer la valeur d'un pointeur

cs_Gerard Messages postés 121 Date d'inscription jeudi 10 janvier 2002 Statut Membre Dernière intervention 7 août 2018 - 11 févr. 2013 à 18:35
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 - 14 févr. 2013 à 18:16
Bonjour,
A des fins de débogage, je souhaite imprimer la valeur de pointeurs dans un fichier afin de déterminer celui qui pose problème.
Comment fait-on pour transtyper la valeur d'un pointeur en une chaîne imprimable?

6 réponses

beckerich Messages postés 302 Date d'inscription jeudi 29 septembre 2005 Statut Membre Dernière intervention 17 septembre 2013 2
11 févr. 2013 à 20:08
bonjour,

regarde la fonction Format. Je crois que %x donne l'adresse d'un pointeur.

Luc.
0
korgis Messages postés 420 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 6 mai 2019 17
11 févr. 2013 à 20:23
Salut,

Exact, Format le fait, mais c'est '%p'.
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
12 févr. 2013 à 13:13
Exact, c'est %p !

on peut donc faire ceci :
procedure TForm1.Button1Click(Sender: TObject);
begin
  showMessage(
    format('ptr [%p] = 0x%.8x = %d',[pointer(sender), longword(pointer(sender)), integer(pointer(sender))])
  );
end;


qui affichera :

"ptr [0180EF40] = 0x0180EF40 = 25227072"

________________________________________________________
besoin de câbles audio, vidèo, informatique pas cher ?
0
beckerich Messages postés 302 Date d'inscription jeudi 29 septembre 2005 Statut Membre Dernière intervention 17 septembre 2013 2
14 févr. 2013 à 11:22
bonjour,

ah oui,
%x affiche en hexadécimal

Luc.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Gerard Messages postés 121 Date d'inscription jeudi 10 janvier 2002 Statut Membre Dernière intervention 7 août 2018
14 févr. 2013 à 17:40
Merci:
Je pense que c'est la solution que je cherchais!
Je ne connaissais pas la fonction format et c'est donc la première fois que je l'utilise!
C'est marrant cela me rappelle le fortran IV que
j'ai découvert à la fin des années 60..
et que j'avais appris sur le tas comme j'ai fait pour Delphi!
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
14 févr. 2013 à 18:16
0
Rejoignez-nous