(*$M 32768, 0, 327680 *)

Program CP_BLOC;
Uses
  CRT, DOS;

(*
 *  19.02.1995: Creation TL
 *  12.10.2003: 
 *
 *  1) Completer le programme en utilisant BlockREAD et BlockWRITE
 *
 *  2) Ajouter un traitement evitant d'ecraser un fichier destination 
 *     existant
 *
 *  3) Ajouter une mesure du temps mis pour effectuer la copie
 *     Temps final - Temps initial (Cf. procedure AFF_TIME)
 *
 *  4) Ecrire un fichier BAT avec appel de CP_CHAR
 *     sur 10 differents fichiers d'au moins 1 Mo
 *     Faire la moyenne des resultats obtenus
 *
 *  5) Trouver une bonne valeur de MaxBF
 *
 *  6) Utiliser un pointeur et faire une allocation dynamique
 *)

(*-----*)

Const MaxBF = 8192;

Var KR :Integer;
    BF :Array[ 1..MaxBF ] Of Byte;
    NomENT, NomSOR :String;  FdENT, FdSOR :FILE;

Begin  (* Debut *)
  If ParamCOUNT < 2 Then Begin
    WriteLN; WriteLN('Usage: CP_BLOC  ifile  ofile'); HALT;
  End;

  NomENT:=ParamSTR(1);
  (*$I-*) Assign(FdENT, NomENT); ReSET(FdENT, 1); (*$I+*) KR:=IOResult;
  If KR <> 0 Then Begin
  End;
  
  NomSOR:=ParamSTR(2);
  (*$I-*) Assign(FdSOR, NomSOR); ReWRITE(FdSOR, 1); (*$I+*) KR:=IOResult;
  If KR <> 0 Then Begin
  End;

  (* Boucle WHILE a ecrire... *)

  CLOSE(FdENT);
  CLOSE(FdSOR);
End.   (* CP_BLOC *)
