русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Текстовые файлы


Дата добавления: 2013-12-23; просмотров: 2084; Нарушение авторских прав


После закрытия файла связь файловой переменной с физическим файлом не нарушается, и файл повторно может открываться без дополнительного вызова процедуры Assign.

Процедура close закрывает открытый файл

close(файловая_переменная);

Закрытие файла гарантирует сохранность и полноту заполнения физического файла.

Если программа прервалась из-за ошибки до закрытия файла, то он все-таки будет создан на носителе, но содержимое последнего буфера не будет перенесено в файл.

То же самое случится и в том случае, если вообще забыть поставить в программу вызова Close.


 

Текстовый файл это совокупность символьных строк переменной длины.

Строки состоят из символов в коде ASCII для MS-DOS и ANSI для Windows.

Его можно создавать и редактировать с помощью любого текстового редактора кода Dеlphi, Lazarus или Word, WorPad или NotePad.

(При создании в Delphi в главном меню следует выбрать File ÞNew ÞOther, при этом открывается диалоговое окно New Items. Во вкладыше New следует выделить пиктограмму Text и нажать клавишу Оk

При создании в Lazarus в главном меню следует выбрать Файл ÞСоздать, при этом открывается диалоговое окно Создать... . В диалоговом огне следует выбрать МодульÞТекст и нажать клавишу Оk).

 



 



Текстовые файлы имеют расширение *.txt.

 



Схематическое изображение текстового файла:

 



 



Управляющие символы #13 и #10 (возвращение каретки – ввод следующих символов начнется из первой позиции, и перевод строки – ввод начнется с пустой строки.).

Символы #13 и #10 – маркер конца строки.

Пустая строка содержит только символы #13 и #10 .

В конце файла стоит признак конца файла – управляющий символ #26 (маркер конца файла).

Пустой текстовый файл содержит один символ #26.

 



 



При записи чисел, строк и логических значений они превращаются в символьный (текстовый) вид.

При чтении чисел и строк они автоматически превращаются из текстового представления в машинное.

Для работы с текстовым файлом необходимо определить файловую переменную:

var f : Text;

и дальше связать ее с физическим файлом стандартной процедурой assign после чего файл возможно открыть.

 



 



Если файл открыт для записи (процедура Rewrite) – разрешена только запись данных.

 



Если файл открыт для чтения (процедура Reset) – разрешено только чтение.

 



Считывание данных из текстового файла осуществляется процедурами Read и Readln:

Read(файловая_переменная, список_ввода);

Readln(файловая_переменная, список_ввода);

Здесь файловая_переменная – переменная типа text;

список_ввода – перечень переменных символьного, строкового, целого и действительного типов.

Сложные структурированные типы (такие, как массивы, множества, записи и др.) могут быть введенны только по элементам (по полям записей).

 



После считывания определенного компонента файловый указатель сдвигается к следующему компоненту.


 

Если выполняется считывание файла в переменную типа char, то процедура Read считывает один символ. Когда достигнут конец строки, результатом считывания являются символы конца строки, #13 и #10, а когда достигнут конец файла, считывается символ конца файла, #26.

Во время считывания значения в переменную целого или действительного типа сначала выделяется подстрока, в которой удалены все ведущие пробелы, символы табуляции (#9) и маркеры конца строки.

Дальше считываются все символы, которые образуют число со знаком.

Считывания прекращается при обнаружении первого пробела, маркера конца строки или символа табуляции.

Считанная строка цифровых символов превращается в число, которое присваивается соответствующей переменной.

Следующая операция считывания начинается с пробела (маркера конца строки, символа табуляции и т.п.).

Если выделенная подстрока содержит нецифровые символы, то возникает ошибка ввода-вывода.

Во время считывания данных в переменную типа stringпроцедура Read считывает все символы до маркера конца строки.

Если количество символов строки в файле больше количества, указанного в объявлении строковой переменной, то лишние символы не считываются.

Если процедурой Read определенную строку прочитали полностью, то во время следующего ее вызова считывание начинается с маркера конца строки, а значит, будет считана строка нулевой длины.

 



Процедура Read не переводит файловый указатель на следующую строку символов и потому ее нельзя использовать для считывания последовательности строк.

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

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

Применяя процедуру Readln для считывания чисел, следует учитывать, что после считывания последней цифры числа все символы текста, которые остались до маркера конца строки, будут пропущены, и доступным станет первый символ следующей строки текстового файла.


 

Запись в текстовый файл осуществляется с помощью процедур Write и Writeln:

Write(файловая_переменная , список_вывода);

Writeln(файловая_переменная, список_вывода);

Здесь файловая_переменная – переменная типа text;

список_вывода – перечень переменных или выражений символьного, строкового, целого, действительного или логического типа.

Различие между процедурами Write и Writeln заключается в том, что строка, которая записывается в файл с помощью процедуры Writeln, завершается символом конца строки.

Если процедура Writeln используется без списка вывода, то в файл записывается пустая строка.

 



Для считывания из текстового файла всех данных нужно использовать функцию Eof, которая определяет, достигнут ли конец файла. Синтаксис вызова этой функции.

Eof(файловая_переменная);

Она возвращает значение булевого типа. Если файловый указатель находится за последним элементом файла, или если файл пустой функция возвращает значение True. Иначе она возвращает значение False.

 





<== предыдущая лекция | следующая лекция ==>
Связывание логического и физического файлов (указание пути доступа к физическому файлу) осуществляется процедурой | Физический и логический файлы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.