BlockRead |
Lecture d'un bloc |
---|---|
HighSpeed Pascal | System |
Syntaxe
Procedure BlockRead(var F,Buf;Cnt:Integer[;var Res:Integer]); |
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 |
Cnt | Ce paramètre permet d'indiquer le nombre d'enregistrement à lire |
Res | Ce paramètre retourne le nombre d'enregistrement lu |
Description
Cette procédure permet d'effectuer la lecture d'enregistrement dans un fichier.
Remarques
- La procédure BlockRead lit les octets Cnt du fichier F dans la variable Buf.
- Le paramètre F est une variable de fichier (typée ou non typée) ayant été ouverte. Le paramètre Cnt spécifie le nombre d'octets à lire dans le fichier. Le nombre réel d'octets lus sera renvoyé dans le paramètre facultatif Res.
- Si le paramètre Res n'est pas spécifié et que les octets Cnt n'ont pas pu être lus, une erreur d'entrée/sortie se produit. Sinon, le nombre d'octets réellement lus est renvoyé dans le paramètre Res.
Exemple
L'exemple suivant permet d'écrire le contenu d'un fichier dans un autre fichier selon les paramètres spécifiés :
- Program BlockReadSamples;
- Uses DOS;
- Var
- F_In,F_Out:FILE;
- Buf:Array[1..4096]of Byte;
- ActualRead,ActualWritten:Integer;
- BEGIN
- Reset(F_In,ParamStr(1));
- {$I-} Erase(ParamStr(2)); {$I+}
- Rewrite(F_Out,ParamStr(2));
- Repeat
- BlockRead(F_In,Buf.SizeOf(Buf),ActualRead) ;
- BlockWrite(F_Out,Buf.ActualRead,ActualWritten);
- Until(ActualRead=0)or(ActualWritten<>ActualRead);
- Close(F_In);
- Close(FOut);
- END.
Dernière mise à jour : Lundi, le 20 avril 2020