BLOCKREAD |
Lecture d'un bloc |
---|---|
QuickPascal | System |
Syntaxe
Procedure BlockRead(fich:File; var x;enrs:Word;Var enrs_lus:Word); |
Paramètres
Nom | Description |
---|---|
fich | Ce paramètre permet d'indiquer l'identificateur de fichier |
x | Ce paramètre permet d'indiquer le tampon de réception des données |
enrs | Ce paramètre permet d'indiquer le nombre d'enregistrement à lire |
enrs_lus | Ce paramètre retourne le nombre d'enregistrement lu |
Description
Cette instruction permet d'effectuer la lecture d'enregistrement dans un fichier.
Remarque
- La procédure BlockRead lit enrs ou moins d'enregistrements (blocs) du fich non typé dans une zone x de n'importe quel type. Une fois la procédure BlockRead terminé, le paramètre facultatif enrs_lus contient le nombre réel d'enregistrements complets ayant été copiés. Si la taille du fichier n'est pas un multiple de la taille d'enregistrement spécifiée dans la procédure Reset ou Rewrite, les enregistrements partiels resteront non lus. Une erreur d'entrée/sortie se produira si enrs_lus n'est pas présent et que le nombre réel d'enregistrements copiés est inférieur à enrs.
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 ----
Dernière mise à jour : Dimanche, le 4 mai 2014