Procédures et fonctions standard
Le Turbo Pascal proposent de nombreuses les procédures et fonctions standard (intégrées) avec le Turbo Pascal ainsi que des variables prédéclarées définies dans l'unité System. Les procédures et fonctions standard du Turbo Pascal comprennent les catégories suivantes :
- Procédures de contrôle de flux de données
- Fonctions de transfert
- Fonctions arithmétiques
- Procédures et fonctions ordinales
- Procédures et fonctions de chaîne de caractères
- Procédures et fonctions d'allocation dynamique
- Fonctions de pointeur et d'adresse
- Procédures et fonctions diverses
- Variables prédéclarées dans l'unité système
Les procédures et fonctions standard sont prédéclarées. Étant donné que toutes les entités prédéclarées agissent comme si elles étaient déclarées dans un bloc entourant le programme, vous pouvez redéfinir le même identificateur dans le programme.
Contrôle de flux de données
Voici les procédures modifiant le flux de logique dans votre programme de procédures :
Nom | Description |
---|---|
Break | Termine une instruction FOR, WHILE ou REPEAT. |
Continue | Continue avec l'itération suivante d'une instruction FOR, WHILE ou REPEAT. |
Exit | Quitte immédiatement le bloc actuel. |
Halt | Arrête l'exécution du programme et revient au système d'exploitation. |
RunError | Arrête l'exécution du programme et génère une erreur d'exécution. |
Fonctions de transfert
Les fonctions de transfert sont répertoriées ici :
Nom | Description |
---|---|
Chr | Renvoie un caractère d'un nombre ordinal spécifié. |
Ord | Renvoie le nombre ordinal d'une valeur de type ordinal. |
Round | Arrondit une valeur de type réel à une valeur de type LongInt. |
Trunc | Tronque une valeur de type réel en une valeur de type LongInt. |
Fonctions arithmétiques
Ces fonctions sont utiles pour effectuer des opérations arithmétiques. Lorsque vous compilez en mode de traitement numérique, {$N+}, les valeurs de retour des routines à virgule flottante dans l'unité System (Sqrt, Pi, Sin,...) sont de type Extended au lieu de Real.
Nom | Description |
---|---|
Abs | Renvoie la valeur absolue du paramètre. |
ArcTan | Renvoie l'arc tangente du paramètre. |
Cos | Renvoie le cosinus du paramètre. |
Exp | Renvoie la partie exponentielle du paramètre. |
Frac | Renvoie la partie fractionnaire du paramètre. |
Int | Renvoie la partie entière du paramètre. |
Ln | Renvoie le logarithme naturel du paramètre. |
Pi | Renvoie la valeur de π (3,1415926535897932385). |
Sin | Renvoie le sinus du paramètre. |
Sqr | Renvoie le carré du paramètre. |
Sqrt | Renvoie la racine carrée du paramètre. |
Procédures et fonctions ordinales
Les routines ordinales opèrent sur l'ordinalité d'une variable.
Nom | Description |
---|---|
Dec | Décrémente une variable. |
Inc | Incrémente une variable. |
High | Renvoie la valeur la plus élevée de l'intervalle du paramètre. |
Low | Renvoie la valeur la plus basse de l'intervalle du paramètre. |
Odd | Teste si le paramètre est un nombre impair. |
Pred | Renvoie le prédécesseur du paramètre. |
Succ | Renvoie le successeur du paramètre. |
Procédures et fonctions de chaîne de caractères
Ces procédures et fonctions sont utilisées sur les chaînes de caractères traditionnelles de style Pascal :
Nom | Description |
---|---|
Concat | Concatène une séquence de chaînes de caractères. |
Copy | Renvoie une sous-chaîne de caractères d'une chaîne de caractères. |
Delete | Supprime une sous-chaîne de caractères d'une chaîne de caractères. |
Insert | Insère une sous-chaîne de caractères dans une chaîne de caractères. |
Length | Renvoie la longueur dynamique d'une chaîne de caractères. |
Pos | Recherche une sous-chaîne de caractères dans une chaîne de caractères. |
Str | Convertit une valeur numérique en sa représentation sous forme de chaîne de caractères. |
Val | Convertit la valeur de chaîne en sa représentation numérique. |
Procédures et fonctions d'allocation dynamique
Les procédures et fonctions d'allocation dynamique sont utilisées pour gérer la zone mémoire de mémoire de tas occupant tout ou partie de la mémoire libre laissée lors de l'exécution d'un programme.
Nom | Description |
---|---|
Dispose | Dispose d'une variable dynamique. |
FreeMem | Dispose d'une variable dynamique d'une taille donnée. |
GetMem | Crée une nouvelle variable dynamique d'une taille donnée et définit une variable de pointeur pour qu'elle pointe vers elle. |
MaxAvail | Renvoie la taille du plus grand bloc libre contigu dans la mémoire de tas, indiquant la taille de la plus grande variable dynamique pouvant être allouée au moment de l'appel à MaxAvail. |
MemAvail | Renvoie le nombre d'octets libres d'entreposage dans la mémoire de tas de disponible. |
New | Crée une nouvelle variable dynamique et définit une variable de pointeur pour qu'elle pointe vers elle. |
Fonctions de pointeur et d'adresse
Les fonctions de pointeur et d'adresse sont répertoriées dans ce tableau :
Nom | Description |
---|---|
Addr | Renvoie l'adresse d'un objet spécifié. |
Assigned | Teste pour déterminer si un pointeur ou une variable procédurale est nul. |
CSeg | Renvoie la valeur actuelle du registre CS. |
DSeg | Renvoie la valeur actuelle du registre DS. |
Ofs | Renvoie le déplacement (OFFSET) d'un objet spécifié. |
Ptr | Convertit une base de segment et une adresse de déplacement en une valeur de type pointeur. |
Seg | Renvoie le segment d'un objet spécifié. |
SPtr | Renvoie la valeur actuelle du registre SP. |
SSeg | Renvoie la valeur actuelle du registre SS. |
Routines diverses
Vous trouverez ci-dessous les procédures et fonctions ne rentrant dans aucune autre catégorie :
Nom | Description |
---|---|
Exclude | Exclut un élément d'un ensemble. |
FillChar | Remplit un nombre spécifié d'octets contigus avec une valeur spécifiée. |
Hi | Renvoie l'octet de poids fort du paramètre. |
Include | Inclut un élément dans un ensemble. |
Lo | Renvoie l'octet de poids faible du paramètre. |
Move | Copie un nombre spécifié d'octets contigus d'un intervalle source vers un intervalle de destination. |
ParamCount | Renvoie le nombre de paramètres passés au programme sur la ligne de commande. |
ParamStr | Renvoie un paramètre de ligne de commande spécifié. |
Random | Renvoie un nombre aléatoire. |
Randomize | Initialise le générateur aléatoire intégré avec une valeur aléatoire. |
SizeOf | Renvoie le nombre d'octets occupés par le paramètre. |
Swap | Échange les octets de poids fort et de poids faible du paramètre. |
TypeOf | Pointe vers la table de méthodes virtuelles d'un type d'objet. |
UpCase | Convertit un caractère en majuscules. |
Variables prédéclarées
L'unité System fournit également plusieurs variables prédéclarées :
Variable | Type | Description |
---|---|---|
ErrorAddr | Pointer | Adresse d'erreur d'exécution |
ExitCode | Integer | Code de sortie |
ExitProc | Pointer | Procédure de sortie |
FileMode | Byte | Mode d'ouverture de fichier |
FreeList | Pointer | Liste de blocs de mémoire de tas libres |
FreeZero | Pointer | Zéro libre |
HeapEnd | Pointer | Fin de la mémoire de tas |
HeapError | Pointer | Fonction d'erreur de mémoire de tas |
HeapOrg | Pointer | Origine de la mémoire de tas |
HeapPtr | Pointer | Pointeur de la mémoire de tas |
Input | Text | Fichier standard d'entrée |
InOutRes | Integer | Tampon de résultat d'entrée/sortie |
Output | Text | Fichier standard de sortie |
OvrCodeList | Word | Liste des segments de code de recouvrements |
OvrDebugPtr | Pointer | Crochet vers le débogage de recouvrement |
OvrDosHandle | Word | Identificateur de descripteur DOS de recouvrements. |
OvrEmsHandle | Word | Identificateur de descripteur EMS de recouvrements |
OvrHeapEnd | Word | Fin du tampon de recouvrement |
OvrHeapOrg | Word | Origine du tampon de recouvrement |
OvrHeapPtr | Word | Pointeur de tampon de recouvrement |
OvrHeapsize | Word | Taille initiale du tampon de recouvrement |
OvrLoadList | Word | Liste des recouvrements chargées |
Prefixseg | Word | Préfixe de segment de programme |
Randseed | Longint | Graine aléatoire |
SaveInt00 | Pointer | Sauvegarde de l'interruption $00 |
saveInt02 | Pointer | Sauvegarde de l'interruption $02 |
saveInt1B | Pointer | Sauvegarde de l'interruption $1B |
saveInt21 | Pointer | Sauvegarde de l'interruption $21 |
saveInt23 | Pointer | Sauvegarde de l'interruption $23 |
saveInt24 | Pointer | Sauvegarde de l'interruption $24 |
saveInt34 | Pointer | Sauvegarde de l'interruption $34 |
saveInt35 | Pointer | Sauvegarde de l'interruption $35 |
saveInt36 | Pointer | Sauvegarde de l'interruption $36 |
saveInt37 | Pointer | Sauvegarde de l'interruption $37 |
saveInt38 | Pointer | Sauvegarde de l'interruption $38 |
saveInt39 | Pointer | Sauvegarde de l'interruption $39 |
saveInt3A | Pointer | Sauvegarde de l'interruption $3A |
saveInt3B | Pointer | Sauvegarde de l'interruption $3B |
saveInt3C | Pointer | Sauvegarde de l'interruption $3C |
saveInt3D | Pointer | Sauvegarde de l'interruption $3D |
saveInt3E | Pointer | Sauvegarde de l'interruption $3E |
saveInt3F | Pointer | Sauvegarde de l'interruption $3F |
saveInt75 | Pointer | Sauvegarde de l'interruption $75 |
seg0040 | Word | Sélecteur de segment $0040 |
segA000 | Word | Sélecteur de segment $A000 |
segB000 | Word | Sélecteur de segment $B000 |
segB800 | Word | Sélecteur de segment $B800 |
SelectorInc | Word | Incrémentateur du sélecteur |
StackLimit | Word | Pointeur de pile minimum |
Test8087 | Byte | Résultat du test 80x87 |