Технический форум

Технический форум (http://www.tehnari.ru/)
-   Форум программистов (http://www.tehnari.ru/f22/)
-   -   В чем подвох? (http://www.tehnari.ru/f22/t11286/)

drfresh 12.05.2008 19:00

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

Дана процедура сортировки файла с записями (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" изменяется этой процедурой! Препод говорит, что так не бывает, но РЕАЛЬНО работает и все сортируется! Почему так?


З.Ы. Вопрос уже решен :)

ww01031977 13.05.2008 13:10

Цитата из книжки.

Поцедура reset открывает существующий файл данных на диске, имя которого перед этим было связано процедурой assign с некоторой файловой переменной, для его чтения или записи в него данных.

Совет. Купи книжку по паскалю и не очень то слушай препода, он наверное теоретик. Пробуй сам.

bubuka 13.05.2008 16:01

не давай советов если не знаешь или знаешь не точно
Reset(f)
открывает для чтения файл, с которым связана файловая переменная f. После успешного выполнения процедуры Reset файл готов к чтению из него первого элемента. Процедура завершается с сообщением об ошибке, если указанный файл не найден.

а ответ вот чем
Если f - типизированный файл, то процедурой reset он открывается для чтения и записи одновременно

а у автора была именно типизированная

AlexZir 13.05.2008 16:12

Цитата:

Сообщение от ww01031977
Купи книжку по паскалю и не очень то слушай препода, он наверное теоретик

Ну да, а книжки пишутся исключительно практиками :D :D :D. Интересно в какой именно книжке написано вами процитированная фраза?

trewoga07 07.12.2009 14:29

После 10 минут работы монитор выключается
 
После 10 минут работы монитор выключается, или комп перезагружается( может несколько раз перезагрузится при загрузке винды)и иногда когда такое случается появляется синий экран. помогите ! объясните в чем тут проблема пожалуйста!

set of letters 07.12.2009 15:21

Цитата:

Сообщение от Jazz (Сообщение 127628)
появляется синий экран

http://pchelpforum.ru/f5/t7824/


Часовой пояс GMT +4, время: 02:05.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.