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
- Le paramètre x est une variable ou un identificateur de procédure ou de fonction. Le résultat est un pointeur pointant vers x. Comme pour NIL, le résultat de Addr est une affectation compatible avec tous les types de pointeur.
- L'opérateur «@» produit le même résultat que la fonction Addr.
Exemples
L'exemple suivant permet de copier le pointeur contenu dans le pointeur :
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é» :
- Program AddrSamples;
-
- Uses Crt,DOS;
-
- Var
- OldIntr1Bh:Pointer;
- OldIntr23h:Pointer;
-
- Procedure IntBrk;Interrupt;Begin
- WriteLn('Ctrl+Break enfoncé');
- End;
-
- BEGIN
- GetIntVec($1B,OldIntr1Bh);
- GetIntVec($23,OldIntr23h);
- SetIntVec($1B,Addr(IntBrk));
- SetIntVec($23,Addr(IntBrk));
- ReadKey;
- SetIntVec($1B,OldIntr23h);
- SetIntVec($23,OldIntr23h);
- 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» :
on obtiendra le résultat suivant :
Y=10Z=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.