Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Топ:
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Интересное:
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Дисциплины:
2021-04-18 | 43 |
5.00
из
|
Заказать работу |
|
|
1) Назначение файловой переменной физического файла
Связь файловой переменной с файлом устанавливается с помощью процедуры Assingfile.
Формат процедуры:
Assingfile(файловая переменная, имя файла);
Имя файла – это параметр, тип которого string. Имя файла создается по правилу операционной системы. Если файл находится в одной папке с программой, то достаточно указать только имя файла, в противном случае надо указать полный путь к файлу, например: D:\User\lab\A.txt. Когда связь с файлом установлена, его можно открыть для ввода или вывода информации.
Примеры связывания файла с файловой переменной:
Var
F: textfile;
Filename: String;
Begin
//Имя файла задано непосредственно в вызове процедуры
Assignfile (F,’A.txt’);
//Имя файла вводит пользователь в переменную Filename.
Assignfile (F,Filename);
End.
2) Открытие файла для чтения
Существующей текстовый файл можно открыть только для чтения с помощью процедуры Reset.
Формат процедуры
Reset(файловая переменная);
Открытие файла означает: разрешить доступ к данным связанного с файловой переменной физического файла. После открытия файла, операции чтения доступен первый компонент файла, т.е. текущая позиция в файле устанавливается на начало файла. После открытия данные файла можно читать. Если файловая переменная связана с несуществующем файлом, то система выдаст прерывание - Файл не существует.
Если открывается уже открытый файл, то он сначала закроется, а затем вновь откроется. Пример процедуры открытия файла для чтения: Reset(F);
3)Открытие файла для записи (создание нового файла)
Осуществляется процедурой Rewrite. Процедура rewrite создает новый внешний файл, имя которого связанно с файловой переменной. Если внешний файл с указанным именем уже существует, то он удаляется и на его месте создается новый пустой файл и для операции записи доступен первый символ. Текущая позиция файла устанавливается на начало файла. В текстовый файл, открытый процедурой Rewrite возможна только запись данных.
|
Формат процедуры
Rewrite(файловая переменная);
Пример создания нового файла с именем B.txt в текущей папке:
Assignfile(F,’B.txt’);
Rewrite(F);
3) Открытие файла для добавления новой записи
Текстовый файл – это файл с последовательной организацией, поэтому новая запись может быть добавлена в конец файла, после последней записи. Для перемещения указателя файла в конец файла используется процедура Append. В файл, открытый процедурой Append можно производить только запись данных.
Формат процедуры
Append(Файловая переменная);
Пример открытия существующего файла B.txt для добавления новых записей:
Assignfile(F,’B.txt’);
Append(F);
4) Вывод данных в текстовый файл
Вывод данных в текстовый файл может быть выполнен процедурами write и writeln.
Форматы процедур ввода данных в файл:
Write (Ф.п, список выражений);
Writeln(Ф.п, список выражений);
Writeln(Ф.п.);
Список выражений может содержать: переменные, константы, сложные выражения. Значение списка будут записаны в текстовый файл в символьном формате, например, число 123 будет записано как последовательность из 3 символов.
Процедура writeln после вывода в файл значений списка выражений запишет в файл маркер конца строки включающий символы #13(символ конца строки) и #10(перевод каретки на новую строку).
Процедура Writeln(Ф.п.) записывает в файл только маркер конца строки.
Пример использования процедур вывода данных в файл
Var
F:Textfile;
Begin
Assignfile(F,’A.txt’);
Rewrite(F);
Write(F,125,¢ ¢);
Write(F,126, ¢ ¢);
Writeln(F);
Writeln(F,127);
End.
Содержимое файла A.txt после выполнения программы
125 126 #13#10127#13#10
5)Чтение данных из файла
Чтение данных из текстового файла осуществляется процедурами Read или Readln.
Форматы процедур
Read(Ф.п., Список переменных);
|
Readln(Ф.п., Список переменных);
Readln(Ф.п.);
При чтении данных из текстового файла автоматически происходить преобразование прочитанных данных из символьного формата в формат соответствующей переменной. Для корректного чтения, данные должны быть правильно подготовлены:
· Числовые данные должны отделяться от других данных символами пробел или Enter или табуляцией.
· Символьная информация должна следовать без разделителей за числовой информацией.
· Если в файле должна храниться информация различных типов, то ее лучше располагать на различных строках.
Процедура Read читает данные из файла и записывает их в переменные, но маркер конца строки не читает. Readln читает данные и читает маркер конца.
Пример чтения данных из текстового файла.
Пусть файл A.txt содержит данные
125 126 #13#10127#13#10
//код программы
Var
F:Textfile;
A,B,C:integer;
Begin
Assignfile(F,’A.txt’);
Reset(F);
Readln(F,A,B);
Readln (F,C);
Writeln(A,’ ‘,B,’ ‘,C)
End.
В результате на монитор будут выведены значения:
125 126 127
6) Закрытие файла
Данная операция прекращает доступ к данным. Освобождает буфер файла.
Формат команды.
Closefile(Ф.п.);
Пример использования:
Var
F:Textfile;
A,B,C:integer;
Begin
Assignfile(F,’A.txt’);
Reset(F);
Readln(F,A,B);
Readln (F,C);
Closefile(F);
Writeln(A, ¢ ¢, B, ¢ ¢, C)
End.
7) Проверка существования файла
Перед открытием файла для чтения или при создании нового файла следует проверить файл на существование и обработать результат проверки.
Способы:
· Использование функции i oresult которая возвращает результат операции открытия файла. Если файл открылся, то функция вернет 0, иначе - код прерывания (число больше 0). При использовании функции i oresult следует использовать директиву компилятора {$I+/-}.
Пример использования функции
Begin
Assignfile(F,’A.txt’);
{$I-} //отключить контроль над операциями ввода/вывода
Reset(F);
{$I+} //включить контроль над операциями ввода/вывода.
If ioresult = 0 then Обработка данных файла.
End.
· Использование функции FileExists(имя внешнего файла).
Функция возвращает true если файл, имя которого указано в вызове функции, существует. В противном случае функция возвращает false.
var
F:textFile;
begin
Assignfile(F,'A.txt');
if FileExists('A.txt') then
begin
Reset(F);
writeln('существует ');
|
end
else
writeln(' Не существует ');
Readln
end.
8) Обнаружение символа - конец файла
В текстовом файле количество компонентов может быть заранее неизвестно. Чтобы обработать все компоненты файла необходимо найти символ - конец файла (код 26). Для нахождения этого символа в языке Pascal используется функция Eof(Ф.п.):boolean, которая возвращает значение true если следующий читаемый символ - символ конца строки, в противном случае функция возвращает значение false.
Пример использования функции Eof.
Пусть текстовый файл A.txt содержит последовательность целых чисел разделенных пробелами. Вывести на монитор все числа.
Var
F:Textfile;
A:integer;
Begin
Assignfile(F,’A.txt’);
if FileExists('A.txt') then
begin
Reset(F);
While not Eof(F) do
Begin
Read(F,A);
Writeln(A);
end
end
else
writeln('Файл не существует ');
Closefile(F);
End.
9) Проверка конца строки файла
Для обнаружения символа конца сроки используется функция Eoln(Ф.п.):Boolean, которая возвращает true если следующий читаемый символ- символ конца строки и false в противном случае.
Пример использования
Пусть файл хранит последовательность чисел. Числа расположены в нескольких строках текстового файла. Количество чисел в строке неизвестно.
Var
F:Textfile;
A:integer;
Begin
Assignfile(F,’A.txt’);
if FileExists('A.txt') then
begin
Reset(F);
While not Eof(F) do
While not Eoln(F) do
|
Begin
Read(F,A);
Writeln(A);
End;
Readln(F);
end
else
writeln('Файл не существует ');
Closefile(F);
End.
Типизированный файл
Типизированный файл - это файл, в котором записаны идентичные структуры. Типизированный файл можно создать только программным путем. Он состоит из записей фиксированной длины. Содержимое файла - это машинное представление данных. Типизированные файлы так же называют двоичными т.к. они содержат информацию в двоичном коде. С каждым типизированным файлом связана переменная - указатель. Указатель определяет смещение от начала файла в количестве прочитанных или записанных записей. При открытии файла значение указателя равно нулю, т.е. не выполнено ни одной операции ввода/вывода. Если только одна запись записана или прочитана, то значение указателя равно единице.
Формат объявление файловой переменной
Var
Имя ф.п.: file of Тип записи файла;
Тип записи это любой тип языка Pascal кроме файлового.
|
|
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!