Программирование в среде Delphi. Часть 3. Файлы. Садовская О.Б. - 6 стр.

UptoLike

Составители: 

6
var f1: textfile; f2: file of integer; f3: file of char; f4: file;
Здесь f1 текстовый файл , f2 и f3 типизированные файлы, f4 не-
типизированный файл .
3.3 Стандартные подпрограммы для доступа к файлам
Работа с файлами заключается в записи и считывании информа-
ции. Для того чтобы указать, с каким элементом будет производиться
очередная операция чтения или записи, существует понятие указателя
на доступный элемент файла . После каждого чтения или записи ука -
затель перемещается на следующий элемент файла .
Перед использованием файловой переменной она должна быть
связана с внешним файлом ( файлом на диске) с помощью вызова
процедуры
AssignFile(< файловая переменная>, < имя файла >);
здесь <файловая переменная> имя переменной файлового типа , объ-
явленной в программе; <имя файла > символьная строка , содержащая
имя файла . Если файл находится в одной папке с обрабатывающей
его программой, то достаточно указать только имя файла , в против-
ном случае надо указать полный путь к файлу , например:
c:\files\z1.txt
Когда связь с внешним файлом установлена, его можно открыть
для ввода или вывода информации. Существующий файл можно от-
крыть с помощью процедуры
Reset(<файловая переменная>);
Процедура reset открывает существующий внешний файл , имя ко-
торого было связано с файловой переменной. Если внешний файл с
указанным именем отсутствует , то возникает ошибка периода выпол-
нения программы. Если файл уже открыт, то он сначала закрывается ,
а затем открывается вновь. Файловый указатель устанавливается на
элемент файла с порядковым номером 0.
Текстовый файл , открытый процедурой reset, доступен только для
чтения . Для типизированных и нетипизированных файлов, открытых
процедурой reset, допускается выполнять операции чтения и записи в
файл .
Новый файл можно создать и открыть для записи с помощью
процедуры
Rewrite(<файловая переменная>);
Процедура rewrite создаёт новый файл , имя которого связано с
файловой переменной. Если файл с указанным именем уже существу -
ет , то он удаляется и на его месте создаётся новый пустой файл . Те-
кущая позиция в файле устанавливается на начало файла , т.е. указа -
тель будет указывать на элемент с порядковым номером 0.
Если процедура rewrite открывает текстовый файл , то он стано-
вится доступным только для записи. Для типизированных и нетипизи -
                                          6
     var f1: textfile; f2: file of integer; f3: file of char; f4: file;
Зд есь f1 – т екст овый ф а йл, f2 и f3 – т ипизирова н н ые ф а йлы, f4 – н е-
т ипизирова н н ый ф а йл.


     3.3 С тандартные подпрограммы для досту па к ф айлам
       Ра б от а с ф а йла м и за клю ча ет ся в за писи и считыва н ии ин ф орм а -
ции. Для т ого чтоб ы у ка за т ь, с ка ким э лем ен том б у д ет производ ит ься
очеред н а я опера ция чтен ия или за писи, су щест ву ет пон я т ие у ка за т еля
н а д ост у пн ый э лем ен т ф а йла . П осле ка ж д ого чт ен ия или за писи у ка -
за т ель перем еща ет ся н а след у ю щий э лем ен т ф а йла .
       П еред использова н ием ф а йловой перем ен н ой он а д олж н а б ыт ь
свя за н а с вн еш н им ф а йлом ( ф а йлом н а д иске) с пом ощью вызова
процед у ры
                AssignFile(< ф а йлова я перем ен н а я >, < им я ф а йла >);
зд есь <ф а йлова я перем ен н а я > – им я перем ен н ой ф а йлового т ипа , об ъ-
я влен н ой в програ м м е; <им я ф а йла > – сим вольн а я ст рока , сод ерж а ща я
им я ф а йла . Е сли ф а йл н а ход ится в од н ой па пке с об ра б а тыва ю щей
его програ м м ой, то д ост а точн о у ка за т ь т олько им я ф а йла , в прот ив-
н ом слу ча е н а д о у ка за т ь полн ый пу т ь к ф а йлу , н а прим ер:
                                      ′c:\files\z1.txt′
      Когд а свя зь с вн еш н им ф а йлом у ст а н овлен а , его м ож н о от крыт ь
д ля ввод а или вывод а ин ф орм а ции. Су щест ву ю щий ф а йл м ож н о от -
крыт ь с пом ощью процед у ры
                           Reset(<ф а йлова я перем ен н а я >);
      П роцед у ра reset открыва ет су щест ву ю щий вн еш н ий ф а йл, им я ко-
т орого б ыло свя за н о с ф а йловой перем ен н ой. Е сли вн еш н ий ф а йл с
у ка за н н ым им ен ем от су т ст ву ет , т о возн ика ет ош иб ка период а выпол-
н ен ия програ м м ы. Е сли ф а йл у ж е от крыт , то он сн а ча ла за крыва ет ся ,
а за тем от крыва ется вн овь. Ф а йловый у ка за т ель у ст а н а влива ется н а
э лем ен т ф а йла с поря д ковым н ом ером 0.
      Т екст овый ф а йл, от крыт ый процед у рой reset, д ост у пен т олько д ля
чт ен ия . Для т ипизирова н н ых и н етипизирова н н ых ф а йлов, от крыт ых
процед у рой reset, д опу ска ет ся выполн я т ь опера ции чт ен ия и за писи в
ф а йл.
      Новый ф а йл м ож н о созд а ть и от крыт ь д ля за писи с пом ощью
процед у ры
                          Rewrite(<ф а йлова я перем ен н а я >);
      П роцед у ра rewrite созд а ёт н овый ф а йл, им я которого свя за н о с
ф а йловой перем ен н ой. Е сли ф а йл с у ка за н н ым им ен ем у ж е су щест ву -
ет , т о он у д а ля ет ся и н а его м ест е созд а ёт ся н овый пу ст ой ф а йл. Т е-
ку ща я позиция в ф а йле у ст а н а влива ет ся н а н а ча ло ф а йла , т.е. у ка за -
т ель б у д ет у ка зыва т ь н а э лем ен т с поря д ковым н ом ером 0.
      Е сли процед у ра rewrite от крыва ет т екст овый ф а йл, то он ста н о-
вится д ост у пн ым только д ля за писи. Для типизирова н н ых и н етипизи-