READ |
Lecture |
---|---|
Turbo Pascal 3+ | System |
Syntaxe
Procedure Read(var1, var2,...); |
Procedure Read(var fich:Text;var1, var2,...); |
Procedure Read(var fich:File;var1, var2,...); |
Paramètres
Nom | Description |
---|---|
fich | Ce paramètre permet d'indiquer l'identificateur de fichier |
var1, var2 | Ce paramètre permet d'indiquer des variables ou du texte à lire |
Description
Cette procédure permet de lire différentes données à partir d'une périphérique, d'un fichier ou de la console.
Remarques
- Si le paramètre fich est spécifié, la variable doit être de type de données de fichier texte. Si le paramètre fich est omis, la variable de fichier standard Input est supposée. Chaque paramètre var est une variable de type Char, Integer, Real ou String.
- Avec une variable de type de données Char, la procédure Read lit un caractère du fichier et affecte ce caractère à la variable. Si la fonction EOF(F) était True avant que Read soit exécuté, la valeur Chr(26) (soit le caractère Ctrl+Z) est affectée à la variable. Si la fonction EOLN(F) était True, la valeur Chr(13) (un caractère de retour chariot) est affectée à la variable. La prochaine lecture commencera par le caractère suivant du fichier.
- Avec une variable de type de données Integer, la procédure Read attend une séquence de caractères formant un nombre signé. Tous les blancs, les tabulations ou les marqueurs de fin de ligne précédant la chaîne de caractères numérique sont ignorés. La lecture cesse au premier marqueur vide, tabulation ou fin de ligne suivant la chaîne de caractères numérique ou si la fonction EOF(F) devient True. Si la chaîne de caractères numérique n'est pas conforme au format attendu, une erreur d'entrée/sortie se produit, autrement, la valeur est assignée à la variable. Si la fonction EOF(F) était True avant que Read soit exécuté ou si EOF(F) devient True tout en ignorant les espaces, les tabulations et les marqueurs de fin de ligne initiaux, la valeur 0 est affectée à la variable. La prochaine lecture commencera par le marqueur vide, tabulation ou fin de ligne ayant terminé la chaîne de caractères numérique.
- Avec une variable de type de données Real, la fonction Read attend une séquence de caractères formant un nombre entier signé (sauf que la notation hexadécimale n'est pas autorisée). Tous les blancs, les tabulations ou les marqueurs de fin de ligne précédant la chaîne de caractères numérique sont ignorés. La lecture cesse au premier marqueur vide, tabulation ou fin de ligne suivant la chaîne de caractères numérique ou si EOF(F) devient True. Si la chaîne de caractères numérique n'est pas conforme au format attendu, une erreur d'entrée/sortie se produit, sinon, la valeur est affectée à la variable. Si EOF(F) était True avant que Read soit exécuté ou si EOF(F) devient True en ignorant les espaces, les onglets et les marqueurs de fin de ligne initiaux, la valeur 0 est affectée à la variable. La prochaine lecture commencera par le marqueur vide, tabulation ou fin de ligne ayant terminé la chaîne de caractères numérique.
- Avec une variable de type chaîne de caractères, la procédure Read lit tous les caractères jusqu'au marqueur de fin de ligne suivant, sans l'inclure, ou jusqu'à ce que EOF(F) devienne True. La chaîne de caractères résultante est assignée à la variable. Si la chaîne de caractères résultante est plus longue que la longueur maximale de la variable chaîne de caractères, elle est tronquée. La prochaine lecture commencera par le marqueur de fin de ligne ayant terminé la chaîne de caractères.
- Avec la directive de compilation {$I-}, la fonction IOResult renvoie 0 si l'opération a réussi, sinon, il retourne un code d'erreur différent de zéro.
- Lire avec une variable de type chaîne de caractères ne passe pas à la ligne suivante après la lecture. Pour cette raison, vous ne pouvez pas utiliser d'appels de lecture successifs pour lire une séquence de chaînes de caractères, car vous ne dépasserez jamais la première ligne, après la première lecture, chaque lecture suivante verra le marqueur de fin de ligne et renverra une chaîne de caractères de longueur nulle. Au lieu de cela, utilisez plusieurs appels ReadLn pour lire les valeurs de chaîne de caractères successives.
- Si le paramètre fich est une variable de fichier de tout type, à l'exception du texte, et chaque paramètre var est une variable du même type que le type de composante de fich, pour chaque variable lue, la position actuelle du fichier est avancée vers la composante suivante. C'est une erreur d'essayer de lire à partir d'un fichier lorsque la position actuelle du fichier se trouve à la fin du fichier, c'est-à-dire lorsque EOF(F) est à True.
- Si vous utilisé le paramètre fich, le fichier doit d'abord avoir été ouvert.
- La lecture d'un caractère à partir d'un périphérique de clavier est disponible que jusqu'à la version 3 du Turbo Pascal (après elle est fut remplacé par ReadKey) ou sinon vous devrez inclure l'unité de compatibilité Turbo3 :
- Read(Kbd,Variable);
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 340 à 341.
Dernière mise à jour : Dimanche, le 25 janvier 2015