ВУЗ:
Составители:
Рубрика:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 86
- 87
- 88
- 89
- 90
- …
- следующая ›
- последняя »