Цитата
procedure FFind(var f:filetype);
...
begin
for i:=0 to filesize(f - 1) do { не до последней, а до предпоследней записи }
...
...
begin
for i:=0 to filesize(f - 1) do { не до последней, а до предпоследней записи }
...
А можно поинтересоваться, почему до предпоследней?
procedure FSortByPrice(var f:filetype);
var
i, j:integer;
rec1, rec2:DC;
begin
for i:=0 to filesize(f)-1 do
for j:=i+1 to filesize(f) do begin
seek(f,i); read(f,rec1);
seek(f,j); read(f,rec2); {тут выдаёт ошибку Error 100: Disk read error}
if (rec1.cena<rec2.cena) then begin
seek(f,j); write(f,rec1);
seek(f,i); write(f,rec2); { меняем местами }
{ в противном случае - ничего делать не надо: записи остаются на своих местах }
end;
end; { for }
...
Остальное всё подправил, вроде работает











