BLOCKREAD |
Lecture d'un bloc |
---|---|
Free Pascal | System |
Syntaxe
Procedure BlockRead(Var f:;Var Buf;count:Int64;Var Result:Int64); |
Procedure BlockRead(Var f:;Var Buf;count:LongInt;Var Result:LongInt); |
Procedure BlockRead(Var f:;Var Buf;count:Cardinal;Var Result:Cardinal); |
Procedure BlockRead(Var f:;Var Buf;count:Word;Var Result:Word); |
Procedure BlockRead(Var f:;Var Buf;count:Word;Var Result:Integer); |
Procedure BlockRead(Var f:;Var Buf;count:Int64); |
Paramètres
Nom | Description |
---|---|
f | Ce paramètre permet d'indiquer l'identificateur de fichier. |
Buf | Ce paramètre permet d'indiquer le tampon de réception des données. |
count | Ce paramètre permet d'indiquer le nombre d'enregistrement à lire. |
Result | Ce paramètre retourne le nombre d'enregistrement lu. |
Description
Cette instruction permet d'effectuer la lecture d'enregistrement dans un fichier.
Remarques
- La procédure Blockread lit un nombre d'enregistrements ou moins à partir du fichier f. Un enregistrement est un bloc d'octets dont la taille est spécifiée par l'instruction Rewrite ou Reset. Le résultat est placé dans Buf, devant contenir suffisamment de place pour les enregistrements count. La fonction ne peut pas lire les enregistrements partiels. Si Result est spécifié, il contient le nombre d'enregistrements réellement lus. Si Result n'est pas spécifié et que moins de Count enregistrements ont été lus, une erreur d'exécution est générée. Ce comportement peut être contrôlé par la directive {$I}.
- En fonction de l'état de la directive {$I}, une erreur d'exécution peut être générée en cas d'erreur. Dans l'état {$I-}, utilisez IOResult pour rechercher les erreurs.
Exemple
Voici quelques exemples typiques de l'utilisation de cette fonction contenu dans le fichier «BLOCREAD.PAS» :
- Program BlocRead;
-
- Var
- Handle:File;
- Buffer:Array[0..1023]of Char;
- I:Word;
- ByteRead:Word;
-
- BEGIN
- WriteLn('---- Debut du fichier ---- ');
- Assign(Handle,'BLOCREAD.PAS');
- Reset(Handle,1);
- Repeat
- BlockRead(Handle,Buffer,1024,ByteRead);
- For I:=0 to ByteRead do Write(Buffer[I]);
- Until ByteRead < 1024;
- Close(Handle);
- WriteLn('---- Fin du fichier ----');
- END.
on obtiendra le résultat suivant :
---- Debut du fichier ----Program BlocRead;
Var
Handle:File;
Buffer:Array[0..1023]of Char;
I:Word;
ByteRead:Word;
BEGIN
WriteLn('---- Debut du fichier ---- ');
Assign(Handle,'BLOCREAD.PAS');
Reset(Handle,1);
Repeat
BlockRead(Handle,Buffer,1024,ByteRead);
For I:=0 to ByteRead do Write(Buffer[I]);
Until ByteRead < 1024;
Close(Handle);
WriteLn('---- Fin du fichier ----');
END.
---- Fin du fichier ----
Voir également
Langage de programmation - Free Pascal - Référence de procédures et fonctions - BLOCKWRITE
Langage de programmation - Free Pascal - Référence de procédures et fonctions - CLOSE
Langage de programmation - Free Pascal - Référence de procédures et fonctions - RESET
Langage de programmation - Free Pascal - Référence de procédures et fonctions - ASSIGN
Dernière mise à jour : Samedi, le 18 juillet 2015