Section courante

A propos

Section administrative du site

ADDR

Adresse
Turbo Pascal pour Windows 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 connaitre l'adresse

Description

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

Exemples

L'exemple suivant, écrit en Turbo Pascal pour Windows, 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 WinCrt,WinDOS;
  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. Uses WinCrt;
  4.  
  5. Var
  6.  X:Byte;
  7.  Y:^Byte;
  8.  Z:^Byte;
  9.  
  10. BEGIN
  11.  X:=10;
  12.  Y:=Addr(X);
  13.  Z:=Addr(Y^);
  14.  WriteLn('Y=',Y^);
  15.  WriteLn('Z=',Z^);
  16.  Inc(X);
  17.  WriteLn('Y=',Y^);
  18.  WriteLn('Z=',Z^);
  19. END.

on obtiendra le résultat suivant :

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

Voir également

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

Dernière mise à jour : Dimanche, le 10 décembre 2017