{$codepage utf8} {$ifdef win32} Uses sysutils; {$endif} {$ifdef Unix} Uses sysutils,cwstring; {$endif} Var Arch:File; b:array of longint; i:integer; bloquesleidos,bloquesescritos:longint; Begin Setlength(b,11); //de 0 a 10 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 High(b) do b[i]:=i; Blockwrite(Arch,b,length(b),bloquesescritos); //si se escribieron los 11 bloques entonces mostrarlos Writeln('Mostrando'); if bloquesescritos=11 then Begin Reset(Arch,4); Blockread(Arch,b,length(b),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,length(b),bloquesleidos); //Se intenta leer 11 bloques for i:=0 to bloquesleidos-1 do Writeln(b[i]); End; close(Arch) End.