Вот мои наработки только я не пойму как мне сделать чтобы можно было найти например begin и после него все операторы были смещены вправо до end. Мне можно и словами))
program pr;
var
newfile,oldfile:file;
newname,oldname:string[20];
oblbuf:array[1..200,1..128] of byte;
count,result,res:word;
begin
repeat
writeln('vvedite imya ishodnogo file');
read(oldname);
assign(oldfile,oldname);
{$I-}
reset(oldfile);
{$I+}
res:=result;
if res <> 0
then
writeln('file no found');
until res=0;
writeln('vvedite imya vihodnogo file');
readln(newname);
assign(newfile,newname);
{$I-}
rewrite(newfile);
{$I+}
if result <> 0
then
begin
writeln('error ',newname);
HALT;
end;
repeat
blockread(oldfile,oblbuf,200,count);
{ вставка }
until count<200;
close(oldfile);
close(newfile);
end.