{$codepage utf8} {$ifdef win32} Uses sysutils; {$endif} {$ifdef Unix} Uses sysutils,cwstring; {$endif} Var Arch:File; b:array [0..10] of longint; i:integer; bloquesleidos,bloquesescritos:longint; Begin Assign(Arch,'numeros.dat'); {$ifdef Unix} Assign(Arch,'の番号.dat'); {$endif} Writeln('Creando el archivo'); Rewrite(Arch,4); //cada bloque de 4 bytes Randomize; for i:=0 to 10 do b[i]:=i; Blockwrite(Arch,b,11,bloquesescritos); //grabar los diez bloques Writeln('Mostrando'); if bloquesescritos=11 then Begin //si se escribieron los 11 bloques entonces continuar Reset(Arch,4); Blockread(Arch,b,11,bloquesleidos); for i:=0 to bloquesleidos-1 do Writeln(b[i]); Writeln('Truncando hasta 5'); seek(Arch,5); truncate(Arch); Reset(Arch,4); Blockread(Arch,b,11,bloquesleidos); //Se intenta leer 11 bloques for i:=0 to bloquesleidos-1 do Writeln(b[i]); End; close(Arch) End.