Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Типичный цикл посимвольной обработки
var f: TextFile; // объявлена файловая переменная f типа TextFile begin AssignFile(f, <имя файла>); // открыть файл Reset(f); // подготовить файл к работе
While not(eof(f)) do // пока файл не кончится выполнять цикл begin Read (f, char); // посимвольное чтение //или Readln (f, string); // читать строку end; close(f); // закрыть файл end; В лекциях написаны фрагменты кода без Try\Finallу,но мы должны иметь представление где их поставить.после того,как что-то открыли (сделали Reset\Rewrite) поставить Try,потом идет работа с файлом Finally и Close.
В ЧЕМ РАЗНИЦА МЕЖДУ ТЕКСТОВЫМИ И БИНАРНЫМИ ФАЙЛАМИ(текстовые могут быть связаны с какими-то внешними устройствами.можем узнать когда будет конец файла,сколько в нем символов,где длина…. Работа с бинарными файлами. Работа с файлами Способы работы с файлами в системе Delphi 7 При работе с файлами в системе Delphi 7 возможны два принцип иально разных подхода. Первый состоит в использовании стандартных подпрограмм (они имелись еще в классической версии Паскаля тридцатилетней давности), позволяющих запи- сывать содержимое переменных в файлы и считывать их обратно из файлов в пере- менные. К этим средствам добавились также библиотеки стандартных функций по работе с файлами, основанные на системных функциях Windows. В связи с появлением версии Object Pascal и реализации понятия класса в языке появились средства объектной работы с данными. Это второй подход к работе с файлами в системе Delphi 7. В свою очередь в рамках каждого из подходов приме- няются также существенно различающиеся приемы. Например, при классическом подходе в работе с файлами могут использоваться прямые обращения к функциям Windows или обращения к функциям BIOS. Общая технология работы с файлами в Delphi 7 Несмотря на все различия, независимо от используемого подхода технология работы с файлами в системе Delphi 7 требует определенного порядка действий. 1. Прежде всего файл должен быть открыт. Это означает, что операционная сис- тема дает добро на внесение изменений в данный файл (например, на запись данных) и следит, чтобы обращения других пользователей и программ к этому файлу (если компьютер подключен к сети) выполнялись корректно. Так, считы- вание данных из файла, в который другой пользователь в этот момент вносит
изменения, невозможно. При открытии файла системе управления файлами обычно сообщается, в каком режиме файл будет открыт: планируется ли вносить изменения в его содержимое или же файл открывается только для считывания из него данных. В последнем случае к файлу, как правило, могут обращаться и другие пользователи. Обычно указывается также, какова внутренняя структура открываемого файла — это требуется, чтобы выполнять операции с ним максимально быстро. . i После того как файл успешно открыт, в программу возвращается его идентифи- катор — переменная, которая будет использоваться для идентификации этого файла во всех процедурах обработки. 2. Начинается работас файлом. Это может быть считывание из него данных, запись, поиск и другие операции. 3. Файл закрывается. Это означает, что он снова доступен другим приложениям без ограничений. Кроме того, закрытие файла гарантирует, что все внесенные в него изменения не пропадут, потому что для повышения скорости работы результаты промежуточных действий обычно сохраняются в специальных буферах операционной системы. Типы файлов В системе Delphi 7 имеется стандартный тип File (ключевое слово), на основе кото- рого можно создавать новые файловые типы для работы со структурированными данными. Если переменная описана так: var F: File; то она считается нетипизированной файловой переменной, позволяющей работать с файлами на низком уровне (структура файла неизвестна). При этом данные будут считываться и записываться блоками по 128 байт (значение по умолчанию). Размер блока можно изменить в момент открытия файла. Рекомендуется назначать этот размер равным 1 байту, чтобы корректно обрабатывать файлы любой структуры. Чаше всего в программах используются файлы, состоящие из последовательности одинаковых записей. Для работы с ними применяется следующая форма описания. var имя-переменной: File of тип,- Б качестве типа файла должен быть указан тип, для которого точно известен фик- сированный размер в байтах. К таковым относятся все базовые типы (за исключе- нием типа String, если для него явно не задан размер), структуры, статические мас-
сивы и прочие, например: type TMyFile = record Name: String[20]; Number: integer; end; var F: File of TMyFile,- ВНИМАНИЕ Файловые типы нельзя использовать в качестве элементов массивов и полей структур. Открытие файлов Перед тем как выполнить физическое открытие файла, программе надо сообщить, где он расположен. Для этого файловая переменная должна быть связана с именем файла с помощью процедуры AssignFile. Первый параметр этой процедуры — имя переменной, а второй — строка, содержащая название файла. Если полный путь поиска не указан, то файл будет разыскиваться в текущем каталоге. AssignFilef F, 'test.daf I; AssignFilei F, 'c:\projects\test.dat1 ]; Процедур открытия файлов в Паскале две. Первая из них, Rewrite, используется для открытия файла в режиме записи (при этом происходит полное уничтожение его содержимого, а размер файла становится равным нулю), а вторая, Reset, — для открытия файла в режиме чтения (при этом вносить изменения в содержимое файла не разрешается). Процедура Rewrite может также применяться для создания нового файла. Каждая из этих процедур может иметь второй необязательный параметр, который определяет длину записи нети пикированного файла в байтах. var F: File; Rewrite! F, 1 ЗАМЕЧАНИЕ В программе одновременно может быть открыто большое число фойлов (до нескольких сотен). Конкретное значение определяется настройками Windows. Запись в файл Для записи данных в файл, имеющий определенную структуру (описанный с помощью ключевых слов File of...), применяется процедура Write. В качестве пер- вого параметра указывается файловая переменная, а далее следует список пере- менных типа, соответствующего типу файла. var F: File of TMyFile; A, MyData, N5: TMyFile; Rewrite(F }; Write! F, N5, MyData |; Значения из этих переменных будут последовательно записаны в конец файла. Считывание из файла Чтобы считать данные из файла, надо использовать процедуру Read. Она записы- вается аналогично процедуре Write. var F: File of TMyFile; A, MyData, N5: TMyFile; Reset (F); Read(F, MyData, A); Начиная с текущей позиции в файле F (исходно это начало файла) из него будут последовательно считаны блоки данных, соответствующие размерам экземпляра класса TMyFile, и записаны в переменные MyData и А. По окончании операции ввода текущая позиция в файле F сдвинется на два элемента. Специальная процедура procedure Truncate(var F); позволяет отсечь (удалить) все содержимое файла, начиная с текущей позиции до его конца. Закрытие файла По завершении работы с файлом его надо закрыть. Это выполняется вызовом про- цедуры CloseFile: CloseFilef (F);
|
||||||
Последнее изменение этой страницы: 2017-02-21; просмотров: 223; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 44.222.212.138 (0.007 с.) |