Section courante

A propos

Section administrative du site

ADDR

Adresse
Turbo Pascal 3+ System

Syntaxe

Function Addr(x:variable, fonction ou procédure):Pointer;

Paramètres

Nom Description
x Ce paramètre permet d'indiquer le nom de la variable, fonction ou procédure dont on veut connaître l'adresse

Description

Cette fonction retourne le pointeur d'une adresse de variable, fonction ou procédure.

Remarques

Exemples

L'exemple suivant permet de copier le pointeur contenu dans le pointeur :

  1. Program AddrEmptySamples;
  2. Var
  3.  P:Pointer;
  4. BEGIN
  5.  P:=Addr(P);
  6. END.

L'exemple suivant, écrit en Turbo Pascal 7, permet d'attendre qu'une touche autre que Ctrl+Break soit enfoncé pour terminer, cependant, si la combinaison de touche Ctrl+Break est enfoncé, affiche un message «Ctrl+Break enfoncé» :

  1. Program AddrSamples;
  2.  
  3. Uses Crt,DOS;
  4.  
  5. Var
  6.  OldIntr1Bh:Pointer;
  7.  OldIntr23h:Pointer;
  8.  
  9. Procedure IntBrk;Interrupt;Begin
  10.  WriteLn('Ctrl+Break enfoncé');
  11. End;
  12.  
  13. BEGIN
  14.  GetIntVec($1B,OldIntr1Bh);
  15.  GetIntVec($23,OldIntr23h);
  16.  SetIntVec($1B,Addr(IntBrk));
  17.  SetIntVec($23,Addr(IntBrk));
  18.  ReadKey;
  19.  SetIntVec($1B,OldIntr23h);
  20.  SetIntVec($23,OldIntr23h);
  21. END.

Voici quelques exemples permettant d'afficher la valeur contenu dans X en passant par les variables Y et Z à l'aide de la fonction «Addr» :

  1. Program AddrSamples2;
  2.  
  3. Var
  4.  X:Byte;
  5.  Y:^Byte;
  6.  Z:^Byte;
  7.  
  8. BEGIN
  9.  X:=10;
  10.  Y:=Addr(X);
  11.  Z:=Addr(Y^);
  12.  WriteLn('Y=',Y^);
  13.  WriteLn('Z=',Z^);
  14.  Inc(X);
  15.  WriteLn('Y=',Y^);
  16.  WriteLn('Z=',Z^);
  17. END.

on obtiendra le résultat suivant :

Y=10
Z=10
Y=11
Z=11

Voir également

Langage de programmation - Turbo Pascal - Référence de procédures et fonctions - OFS
Langage de programmation - Turbo Pascal - Référence de procédures et fonctions - PTR
Langage de programmation - Turbo Pascal - Référence de procédures et fonctions - SEG

Référence

Aide-mémoire de Turbo Pascal versions de 3 à 6, Edition Marabout, De Groote, Virga, 1992, ISBN: 2-501-01833-8, page 92.
Le grand livre du Turbo & Borland Pascal 7.0, Edition Micro Application, Reiner Scholles, 1993, ISBN: 2-86899-873-9, page 1210.

Dernière mise à jour : Dimanche, le 25 janvier 2015