Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 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; просмотров: 339; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.006 с.) |