Тип данных файл 1 курс

Содержание

Слайд 2

План: Понятие типа данных файл. Дескриптор файла. Классификация файлов в Паскале.

План:

Понятие типа данных файл. Дескриптор файла.
Классификация файлов в Паскале.
Структура описания типа

данных файл.
Действия с типом данных файл в Паскале.
Функции для удобства работы с файлами.
Слайд 3

Файл – это … Называется совокупность данных, записанных во внешней памяти

Файл – это …

Называется совокупность данных, записанных во внешней памяти под

определенным именем.
Паскаль не работает напрямую с файлами, работает с дескрипторами файла
(это переменная, которая описывает конкретный файл, который Вы собираетесь обрабатывать. Дескриптор Вы должны создать сами, точно так же как Вы описываете любую другую переменную).
Слайд 4

Классификация файлов

Классификация файлов

Слайд 5

Классификация файлов по лог. структуре Типизированная информация - в файле находится

Классификация файлов по лог. структуре

Типизированная информация - в файле находится (или будет

находиться) информация любого рода. Но структура такой информации обязательно должна повторяться. То есть, файл должен состоять из 1 и более одинаково устроенных частей. 
<имя_переменной_дескриптора>: File of <любой_тип_данных_паскаля>;
Не типизированная информация - файл содержит любую информацию, не поддающуюся какой либо классификации. Например набор личных данных, машинный код, закодированный или сжатый блок информации. 
<имя_переменной_дескриптора>: File;
Текстовая информация - в файле находится (или будет находиться) текст. Под текстом я понимаю набор строк из символов. Каждая строка начинается с новой строки.
<имя_переменной_дескриптора>: Text;
Слайд 6

Действия над файлами: Связать дескриптор и конкретный файл на компьютере Открыть

Действия над файлами:

Связать дескриптор и конкретный файл на компьютере
Открыть файл
Записать в

файл или прочесть из него информацию
Закрыть файл
Слайд 7

1.Связать дескриптор и конкретный файл на компьютере Для дескрипторов любого типа

1.Связать дескриптор и конкретный файл на компьютере

Для дескрипторов любого типа связь

с файлом осуществляется одной командой:
Assign(<имя_переменной_дескриптора>, <строка_имя_файла>);
Параметры: <имя_переменной_дескриптора> - это, собственно, и есть дескриптор, который мы объявили ранее;
<строка_имя_файла> - это либо константа, либо переменная-строка, содержащая в себе имя файла.
Например,
assign(f,'ByteData.dat'); { Теперь переменная f - это файл bytedata.dat, и состоит из байт }
assign(tel,s+'\Phones.db'); { tel это файл с телефонами и обонентами. Находится в d:\teldata\phones.dat }
assign(dat,filename1); { dat - это текстовый файл myfile1.txt }
Слайд 8

2.Открыть файл Один и тот же файл нельзя открыть одновременно двумя

2.Открыть файл

Один и тот же файл нельзя открыть одновременно двумя разными

способами.
Rewrite Эта команда создает (если файла с таким именем еще нет) и открывает файл. Reset Эта команда открывает файл, связанный с дескриптором, и позволяет читать или писать в него информацию.
Append Формат такой же как и у двух предыдущих команд с соблюдением всех правил и указаний. Разница между ними в двух вещах: после открытия файла таким образом читать информацию из него нельзя, и второе - последующая запись в файл будет писать информацию после уже существующей в нем.
Синтаксис:
<команда>(<название_дескриптора_файла>[, <размер_записи>]);
Truncate
Синтаксис:
Truncate(<название_дескриптора_файла>);
Слайд 9

3.Записать в файл или прочесть из него информацию В паскале есть

3.Записать в файл или прочесть из него информацию

В паскале есть два

стандартных набора команд для работы с информацией в файлах. Это: 1. Write и Writeln, Read и Readln 2. BlockRead и BlockWrite
Например,
var
  f:text;
  s1,s2,s3:string;
  v1:longint;
  c1,c2,c3:char;
begin
  assign(f,<тут имя файла>);
  reset(f);
  readln(f,s1); {s1 <- "Это строка"}
  readln(f,v1); {v1 <- 12321}
  readln(f,s2); {s2 <- "Это было число"}
  readln(f,s3); {s3 <- "А вот это будет три символа:"}
  readln(f,c1,c2,c3); {c1 <- "№", c2 <- "%", c3 <- "@"}
  ...{остальные действия}
end.
Слайд 10

4. Закрыть файл Файл любого типа закрывается командой Close, которая имеет

4. Закрыть файл

Файл любого типа закрывается командой Close, которая имеет простой синтаксис: procedure

Close(<дескриптор_открытого_файла>);
Попытка закрыть уже закрытый (либо ещё не открытый) файл не приводит ни к каким последствиям. Это бывает в некоторых случаях удобно.
Слайд 11

Функции для удобства работы с файлами: Seek- меняет в открытом файле

Функции для удобства работы с файлами:

Seek- меняет в открытом файле текущее

месторасположение.
FilePos-используется для того чтобы узнать номер текущей записи в файле.
FileSize-позволяет определить количество записей в файле.
Eof-можно узнать, достигли ли мы конца файла.
SeekEof-только для текстовых файлов, аналог предыдущей.
EoLn-временное сохранение.
SeekEoLn-только для текстовых файлов, аналог предыдущей.
Delete-удаление.
Rename-переименовать.