Section courante

A propos

Section administrative du site

ADDR

Adresse
QuickPascal 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

Exemple

L'exemple suivant, écrit en QuickPascal, 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.  If(ReadKey<>#0 )Then;
  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


Dernière mise à jour : Dimanche, le 20 avril 2014