Студопедия

Главная страница Случайная страница

Разделы сайта

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






Текстовые файлы. Различают физические и логические файлы.






Файлы

Различают физические и логические файлы.

Физический файл – это именованная область носителя, предназначенная для хранения информации. Имя физического файла состоит из пути к файлу, имени и расширения, например: “D: \temp\imv\file1.dat”.

Логический файл – положительное целое число (дескриптор файла), которое при выполнении процедуры открытия файла связывается с физическим файлом.

Во время работы приложения могут быть одновременно открыты несколько файлов. С каждым открытым файлом связан свой файловый дескриптор. После закрытия файла его дескриптор освобождается и может быть использован для открытия другого файла.

Относительно программ, разработанных на языке BASIC, файлы можно подразделить на следующие группы: типизированные (файлы произвольного доступа), текстовые (файлы последовательного доступа) и нетипизированные (бинарные) файлы. Файлы произвольного доступа можно создать только с помощью программы, написанной на языке BASIC. Текстовые файлы создает программа Блокнот. Все остальные физические файлы относятся к группе нетипизированных.

В пособии рассматривается обработка текстовых файлов.

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

Текстовый файл представляет собой последовательность строк произвольной длины (длина строки не больше 255 символов).

Данные в текстовом файле хранятся в символьном представлении. Поэтому создать файл или просмотреть его можно в текстовом редакторе «Блокнот».

Текстовый файл – это файл последовательного доступа. Чтобы найти произвольную строку файла, необходимо просмотреть все строки, находящиеся до нее.

После открытия текстового файла в режиме OpenMode.Input из файла можно только читать данные в приложение, после открытия текстового в режимах OpenMode.Output или OpenMode.Append в файл можно только записывать информацию из приложения.

Для обмена информацией с файлом можно использовать переменные строкового типа.

Структура текстового файла имеет вид, представленный на рис.2.

1-я строка EOL 2-я строка EOL EOL N-я строка EOL EOF

Указатель файла

Рис.2

В конце каждой строки ставится признак конца строки (End Of Line). В конце файла ставится признак конца файла (EOF). Каждый файл имеет указатель. При чтении из файла или при записи в файл указатель сдвигается вперед, реализуя последовательный доступ к строкам файла

В таблице 1 приведены процедуры и функции для работы с текстовыми файлами.

Таблица 1. Процедуры для работы с текстовыми файлами

Имя процедуры Выполняемая работа и примеры
FileOpen(< дескриптор файла>, < имя физического файла>, < режим работы>) § Связывает имя физического файла с дескриптором. После выполнения этой процедуры у файла в программе появится «псевдоним» - дескриптор файла. Далее все подпрограммы обращаться к файлу должны, задавая дескриптор. < дескриптор файла> - целое положительное число. < имя физического файла> - строка, содержащая имя файла, которое может включать имена папок и имя устройства. § < Режим работы> - необходимо выбрать один из 3 режимов работы: 1. OpenMode.Input. Это позволяет открыть файл только для чтения данных из него в программу. Указатель файла ставится на начало файла. Если файла, с которым должна выполняться работа, нет, работа приложения будет прервана с сообщением, что файл не найден. 2. OpenMode.Output. Это позволяет открыть файл только для записи данных в файл из программы. Если файла, с которым должна выполняться работа, нет, он будет создан. Если файл есть, его содержимое будет удалено. Указатель файла ставится на начало файла. 3. OpenMode.Append. Это позволяет открыть файл только для дозаписи данных в файл из программы. Если файла, с которым должна выполняться работа, нет, работа приложения будет прервана с сообщением, что файл не найден. Если файл есть, то указатель файла ставится на признак конца файла.   FileOpen(1, ”D: \Temp\A.txt”, OpenMode.Input)
PrintLine(< дескриптор файла>, < строка >) § Записывает в конец файл строку. Строка может быть задана как константа и как переменная. § Указатель сдвигается на следующую строку. Dim S as string FileOpen(1, ”D: \Temp\A.txt”, OpenMode.Output) PrintLine(1, ”Создание файла”) S=InputBox(“Введите строку”) PrintLine(1, S)
Kill(< имя физического файла>) Удаляет физический файл из папки. Перед использованием Kill(fn) необходимо файл закрыть. FileClose(1) Kill(fn)
Rename(< старое физическое имя файла>, < новое физическое имя файла>); Переименовывает внешний физический файл. Rename(Fn, ”A: \b.dat”);
Fileclose((< дескриптор файла>) § Прерывает связь между дескриптором и физическим файлом. § Файл окончательно обновляется и закрывается. FileClose(1)

 

 

Таблица 2. Функции для работы с текстовыми файлами

Имя функции Выполняемая работа и примеры
Eof(< дескриптор файла>) as Boolean; Проверяет, стоит ли указатель файла на признаке конца файла? Если да, возвращает True, иначе False. FileOpen(1, ”D: \Temp\A.txt”, OpenMode.Input) If Eof(1) then …
Eol(< дескриптор файла >) as Boolean; Проверяет, стоит ли указатель файла на признаке конца строки? Если да, возвращает True, иначе False. FileOpen(1, ”D: \Temp\A.txt”, OpenMode.Input) If Eol(1) then …
LineInput(< дескриптор файла>) as string § Читает из файла строку § Указатель файла сдвигается на следующую строку § Если указатель достиг признака конца файла (EOF) и делается попытка чтения из файла, то происходит прерывание работы программы. Dim S as string FileOpen(1, ”D: \Temp\A.txt”, OpenMode.Input) S=LineInput(1)

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.