АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Доступ к файлам

Читайте также:
  1. File — единственный объект в java.io, который работает непосредственно с дисковыми файлами.
  2. Russian/ China/ Org/ Cn – Режим доступа:http://russian.china.org.cn/exclusive/txt/2011-10/18/content_23658835.htm
  3. Wadmerger: назначение звуков wad-файлам и объектам
  4. Базова (транспортна) мережа та мережа доступу
  5. Биологическая доступность не определяется
  6. Виды прав доступа
  7. Вимоги для системи контролю доступу
  8. Выберите доступный продукт ПриватБанка
  9. Доступ к параметрам
  10. Доступна «дешевша» пропозиція по Рашгардам (Без надпису «UKR»)
  11. Доступная и качественная медицинская помощь

Файлы

Под файломпонимается именованная область внешней памяти компьютера (жест­кого диска, дискеты, компакт-диска и т. п.).

Любой файл имеет три характерные особенности. Во-первых, у него есть имя, что дает возможность программе работать одновременно с несколькими файлами. Во-вторых, он содержит компоненты одного типа. Типом компонентов может быть любой тип Delphi, кроме файлов. Иными словами, нельзя создать «файл файлов». В-третьих, длина вновь создаваемого файла никак не оговаривается при его объяв­лении и ограничивается только емкостью устройств внешней памяти.

Файловый тип можно задать одним из трех способов:

<имя> = File of <тип>;

<имя> = TextFile;

<имя> = File;

Здесь <имя> – имя файлового типа (правильный идентификатор); File, of – зарезервированные слова (файл, из); TextFile – имя стандартного типа тексто­вых файлов; <тип> – любой тип Delphi, кроме файлов.

Например:

Type

Product = record

Name: String;

Code: Word;

Cost: Comp

end;

Text80 = File of String [80];

Var

Fl: File of Char;

F2: TextFile;

F3: File;

F4: Text80;

F5: File of Product;

В зависимости от способа объявления можно выделить три вида файлов:

  • типизированные файлы (задаются предложением File of...);
  • текстовые файлы (определяются типом TextFile);
  • нетипизированные файлы (определяются типом File).

В представленном выше примере F1, F4 и F5 – типизированные файлы, F2 – текстовый файл, F3 – нетипизированный файл. Вид файла опре­деляет способ хранения в нем информации. Однако в Delphi нет средств контроля вида ранее созданных файлов. При объявлении уже существующих файлов программист должен сам следить за соответствием вида объявления характеру храня­щихся в файле данных.

Доступ к файлам

Файлы становятся доступны программе только после выполнения особой проце­дуры открытия файла. Эта процедура заключается в связывании ранее объявлен­ной файловой переменной с именем существующего или вновь создаваемого фай­ла, а также в указании направления обмена информацией: чтение из файла или запись в него.

Файловая переменная связывается с именем файла в результате обращения к стандартной процедуре AssignFile:

AssignFile (<ф.п.>, <имя файла>);

Здесь <ф. п. > – файловая переменная (правильный идентификатор, объяв­ленный в программе как переменная файлового типа); <имя файла> – тек­стовое выражение, содержащее имя файла и, если это необходимо, маршрут доступа к нему.

Инициализировать файл означает указать для этого файла направление пере­дачи данных. В Delphi можно открыть файл для чтения, для записи информации, а также для чтения и записи одновременно.

Для чтения файл инициализируется с помощью стандартной процедуры Reset:

Reset (<ф.п.>);

Здесь <ф. п. > – файловая переменная, связанная ранее процедурой AssignFile с уже существующим файлом.

При выполнении этой процедуры дисковый файл подготавливается к чтению информации. В результате специальная переменная-указатель, связанная с этим файлом, будет указывать на начало файла, то есть на компонент с порядковым но­мером 0.

В Delphi разрешается обращаться к типизированным файлам, открытым про­цедурой Reset (то есть для чтения информации), с помощью процедуры Write (то есть для записи информации). Такая возможность позволяет легко обновлять ранее созданные типизированные файлы и при необходимости расширять их. Для текстовых файлов, открытых процедурой Reset, нельзя использовать процедуру Write или WriteLn.

Если делается попытка инициировать чтение из несуществующего файла, воз­буждается исключительная ситуация. Чтобы проверить, существует ли диско­вый файл, можно использовать стандартную функцию FileExists, которая возвращает True, если указанный при обращении к этой функции файл суще­ствует, и False – если не существует. Например:

Begin

if FileExists(FileName) then

... // Файл существует

Else

... // Файл не существует

end;

Следующая стандартная процедура инициирует запись информации в файл, связанный с файловой переменной <ф. п. >:

Rewrite (<ф.п.>);

Процедурой Rewrite нельзя инициировать запись информации в ранее суще­ствовавший дисковый файл: при выполнении этой процедуры старый файл (если он был) уничтожается и никаких сообщений об этом в программу не передается. Новый файл подготавливается к приему информации и его указатель принимает значение 0.

Следующая стандартная процедура инициирует запись в ранее существовав­ший текстовый файл для его расширения, при этом указатель файла устанавлива­ется в его конец:

Append (<ф.п.>)

Процедура Append применима только к текстовым файлам, то есть их файло­вая переменная должна иметь тип TextFile. Процедурой Append нельзя инициировать запись в типизированный или нетипизированный файл. Если текстовый файл ранее уже был открыт с помощью процедуры Reset или Rewrite, использование процедуры Append приведет к закрытию этого файла и открытию его вновь, но уже для добавления записей.


1 | 2 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)