Лабораторный практикум по программированию на языке Паскаль. Найханова Л.В - 88 стр.

UptoLike

88
Последовательный доступ - это есть доступ к компоненте файла только после перебора всех
предыдущих.
Прямой доступ - это есть доступ сразу к указанной компоненте.
Так как типизированные файлы обладают компонентами фиксированной длины, существует
возможность организовать прямой доступ. Для организации прямого доступа к
компонентам файла существуют стандартные процедуры Seek, FilePos, FileSize :
Seek(< файловая переменная >,< номер компоненты >);
FilePos(< файловая переменная >);
FileSize(< файловая переменная >).
Процедура Seek осуществляет прямой доступ к любой компоненте файла.
Здесь < номер компоненты > - позиция указателя компонент файла.
Она может принимать следующие значения:
+1 - установить указатель на следующую компоненту;
-1 - установить указатель на предыдущую компоненту;
i - установить указатель на i-ую компоненту.
Процедура FilePos определяет номер текущей позиции в файле, а точнее номер текущей
компоненты.
Процедура FileSize определяет размер указанного файла - количество компонент.
Нумерация компонент начинается с нуля.
Пример.
Type
RecFile = record { запись данных по студенту }
Fam, Name, Otch : string[15];
GodR : word;
NGrup : string[10];
end;
Var
i : integer;
Buf : RecFile;
FilStud : file of RecFile;
Begin
Assign(FilStud, 'Stud.dat');
Reset(FilStud);
i:= FileSize;
WriteLn('В файле ', i, ' компонент');
Seek(FilStud, i-1); { встали перед последней записью }
Read(FilStud, Buf); { прочитали ее }
{ можно ее скорректировать и записать вновь в файл }
Buf.GodR:= '1973';
{ перед записью нужно вновь установить указатель перед этой
записью }
Seek(FilStud, -1);
Write(FilStud, Buf);
Close(FilStud);
End.
Примечание
: Открывая типизированный файл процедурой RESET, можно этот файл не
только читать, но и записывать в него новую информацию. При этом файл должен уже
существовать на диске.
12.6. Нетипизированные файлы
Нетипизированные файлы могут содержать в своем составе любые типы компонент. При
этом правильность записи и считывание этих компонент полностью возлагается на
Последовательный доступ - это есть доступ к компоненте файла только после перебора всех
предыдущих.
Прямой доступ - это есть доступ сразу к указанной компоненте.
Так как типизированные файлы обладают компонентами фиксированной длины, существует
возможность организовать прямой доступ. Для организации прямого              доступа  к
компонентам файла существуют стандартные процедуры Seek, FilePos, FileSize :
        Seek(< файловая переменная >,< номер компоненты >);
        FilePos(< файловая переменная >);
        FileSize(< файловая переменная >).
Процедура Seek осуществляет прямой доступ к любой компоненте файла.
Здесь < номер компоненты > - позиция указателя компонент файла.
Она может принимать следующие значения:
   +1 - установить указатель на следующую компоненту;
   -1 - установить указатель на предыдущую компоненту;
     i - установить указатель на i-ую компоненту.
Процедура FilePos определяет номер текущей позиции в файле, а точнее номер текущей
компоненты.
Процедура FileSize определяет размер указанного файла - количество компонент.
Нумерация компонент начинается с нуля.
Пример.
   Type
    RecFile = record { запись данных по студенту }
             Fam, Name, Otch : string[15];
             GodR         : word;
             NGrup        : string[10];
            end;
   Var
    i     : integer;
    Buf : RecFile;
    FilStud : file of RecFile;
   Begin
    Assign(FilStud, 'Stud.dat');
    Reset(FilStud);
    i:= FileSize;
    WriteLn('В файле ', i, ' компонент');
    Seek(FilStud, i-1); { встали перед последней записью }
    Read(FilStud, Buf); { прочитали ее }
    { можно ее скорректировать и записать вновь в файл }
    Buf.GodR:= '1973';
    { перед записью нужно вновь установить указатель перед этой
    записью }
    Seek(FilStud, -1);
    Write(FilStud, Buf);
    Close(FilStud);
   End.
Примечание: Открывая типизированный файл процедурой RESET, можно этот файл не
только читать, но и записывать в него новую информацию. При этом файл должен уже
существовать на диске.
12.6. Нетипизированные файлы
Нетипизированные файлы могут содержать в своем составе любые типы компонент. При
этом правильность записи и считывание этих компонент полностью возлагается на


                                                                                    88