KEEP |
Garder |
---|---|
Turbo Pascal 4+ | DOS |
Syntaxe
Procedure Keep(valeursortie:Word); |
Paramètres
Nom | Description |
---|---|
valeursortie | Ce paramètre permet d'indiquer la valeur retourné par le programme appelant |
Description
Cette procédure permet de terminer le programme en mode résident (TSR).
Remarques
- La valeur de sortie retourné par cette procédure peut être récupérer par un autre programme s'il est écrit en Turbo Pascal en utilisant la fonction DosExitCode. De plus, seul la partie basse (Lo) du paramètre valeursortie est renvoyé au programme.
- Un programme résident (TSR) est un programme restant en mémoire mais redonnant le contrôle au programme parent. Ce programme résident conserve l'utilisation de sa mémoire, mais n'est pas exécuté à moins qu'il est réécrit une interruption installé avec une procédure Intr allant déclencher des actions qu'ils contient. En général, on développe des programmes résident afin d'offrir des pilotes pour d'autres programmes ou on crée des actions clavier pour utiliser un programme dans un autre programme.
- L'ensemble du programme reste en mémoire, segment de données, segment de pile et segment de mémoire compris. Assurez-vous de spécifier une taille maximale pour le segment de mémoire à l'aide de la directive de compilation $M. Le code de sortie correspond à celui transmis à la procédure standard Halt.
Exemple
L'exemple suivant permet d'installer un programme résident provoquant un son de clic pour chaque touche enfoncé sur le clavier :
- Program KeepSamples;
-
- {$M $800,0,0 } { 2 Ko de pile, pas de mémoire de tas }
-
- Uses Crt,Dos;
-
- Var
- KbdIntVec:Procedure;
-
- {$F+}
- procedure Keyclick;Interrupt;Begin
- If Port[$60]<$80 Then Begin
- Sound(5000);
- Delay(1);
- Nosound;
- End;
- Inline($9C);
- KbdIntVec;
- End;
- {$F-}
-
- BEGIN
- GetIntVec($9,@KbdIntVec);
- SetIntVec($9,Addr(Keyclick));
- Keep(0);
- END.
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 273.
Dernière mise à jour : Dimanche, le 25 janvier 2015