ADDR
| |
---|---|
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
- La fonction Addr retourne un pointeur (au format segment:déplacement du mode réel) sur une variable, une procédure ou un identificateur de fonction.
- Il est bon de savoir que l'opérateur «@» produit le même résultat que la fonction Addr.
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é» :
- 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));
- If(ReadKey<>#0 )Then;
- 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
Dernière mise à jour : Dimanche, le 20 avril 2014