Показать сообщение отдельно
Старый 12.05.2008, 19:00   #1 (permalink)
drfresh
Новичок
 
Регистрация: 12.05.2008
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Здравствуйте! Ситуация:

Дана процедура сортировки файла с записями (qf - file of group, group - запись с 4 полями)

Код:
procedure sortirovka(var e : qf);
var list,list0,min,h: group;
     ind             : boolean;
     i,j:integer;
begin
     Reset(e);
     Repeat
           ind := true;
           Seek(e,0);
           Read(e,list0);
           While not EOF(e) do
                 begin
                   Read(e,list);
                         writeln(z,') ',list0.cena,' - ',list.cena);
                         z:=z+1;
                         if List.cena < List0.cena then
                      begin
                         Seek(e,filepos(e) - 2);  
                         Write(e,list);

                         Write(e,list0);
                           ind := false;
                      end
                      else list0 := list;
               end;
     Until ind;
     close(e);
end;
Вобщем вопрос: Я так понимаю (да и препод на лекции говорил), что reset() открывает файл ТОЛЬКО для чтения и при этом в этот файл НЕЛЬЗЯ ничего вписывать. НО Этот код работает и файл "e" изменяется этой процедурой! Препод говорит, что так не бывает, но РЕАЛЬНО работает и все сортируется! Почему так?


З.Ы. Вопрос уже решен :)
drfresh вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070