uses crt; const num_map = 6; var fich_exe, fich_map, fich_rec, fich_d : file of byte; buffer : byte; j : integer; i : longint; nom : string; total : longint; etiqueta : string; begin ClrScr; asm { hide cursor } mov ax,0100h mov cx,0100h int 10h end; etiqueta := '*mapa*'; Assign(fich_exe,'codi.exe'); Writeln('CODI.EXE'); Assign(fich_map,'total.map'); Writeln('TOTAL.MAP'); Assign(fich_rec,'records'); Writeln('RECORDS'); Assign(fich_d,'runner.exe'); Reset(fich_exe); Reset(fich_map); Reset(fich_rec); Rewrite(fich_d); Writeln; Writeln; Writeln('Escribint...'); GotoXY(14,6); Write('RUNNER.EXE'); total := FileSize(fich_exe); for i:=1 to FileSize(fich_exe) do begin Read(fich_exe,buffer); Write(fich_d,buffer); GotoXY(20,1); Write(((i*100) div total):3,'%'); end; for i:=1 to length(etiqueta) do begin buffer := ord(etiqueta[i]); Write(fich_d,buffer); end; total := FileSize(fich_map); for i:=1 to FileSize(fich_map) do begin Read(fich_map,buffer); Write(fich_d,buffer); GotoXY(20,2); Write(((i*100) div total):3,'%'); end; total := FileSize(fich_rec); for i:=1 to FileSize(fich_rec) do begin Read(fich_rec,buffer); Write(fich_d,buffer); GotoXY(20,3); Write(((i*100) div total):3,'%'); end; close(fich_exe); close(fich_map); close(fich_rec); close(fich_d); GotoXY(1,6); Writeln('Complet. '); GotoXY(14,6); Writeln('RUNNER.EXE'); Writeln; Writeln('Pulsa una tecla per a eixir'); ReadKey; end.