Студопедия

КАТЕГОРИИ:

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


Работа с файлами




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

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

Реализуются три типа доступа к файлам: 1) последовательный (Sequential) – для чтения и записи текстовых файлов, 2) произвольный (Random) – для чтения и записи текста или структурированных двоичных файлов с записями фиксированной длины, 3) двоичный (Binary) – для чтения и записи произвольно структурированных файлов.

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

Open ИМЯ_ФАЙЛА For РЕЖИМ_РАБОТЫ As #НОМЕР_ФАЙЛА,

где – ИМЯ_ФАЙЛА – имя с расширением и маршрутом (полным путем); режимы работы: 1) Append: – файл открывается для помещения в него записей, если он уже содержит какие то записи, то новые помещаются в конец файла; 2) Input – файл открывается для чтения из него записей; 3) Output: – файл открывается для помещения в него записей; НОМЕР_ФАЙЛА – целое число между 1 и 255, предварительно определяемое с помощью функции FreeFile; обращение к файлу из программы выполняется под этим номером.

После того, как файл обработан, его закрывают командой Close #НОМЕР_ФАЙЛА.

Доступ к файлу возможен между командами Open и Close.

Для помещения записи в файл используется команда

Print #НОМЕР_ФАЙЛА, ПЕРЕМЕННАЯ [, ПЕРЕМЕННАЯ ]...

Для чтения записи из файла используются следующие команды:

1) чтение одной строки:

Line Input #НОМЕР_ФАЙЛА, str_Переменная

2) чтение всего файла в строковую переменную (strText):

strText = Input$ (LOF(НОМЕР_ФАЙЛА), НОМЕР_ФАЙЛА),

где LOF() – функция определения длины файла в байтах;

3) чтение последовательности определенного количества символов:

Input #НОМЕР_ФАЙЛА, ПОЛЕ_ДАННЫХ_1 [, ПОЛЕ_ДАННЫХ_2]...

Функция EOF(#НОМЕР_ФАЙЛА) возвращает логическое значение ИСТИНА (1), если достигнуто окончание файла, и значение ЛОЖЬ (0) – в противном случае.

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

Open ИМЯ_ФАЙЛА For Random [ Acces ДОСТУП ] As #НОМЕР_ФАЙЛА [Len = ДЛИНА_ЗАПИСИ],

где параметр Acces задает режим доступа к файлу: Read - чтение, Write - запись, Read Write - чтение и запись (без указания параметра также чтение и запись).

Для записи используется команда

Put #НОМЕР_ФАЙЛА, НОМЕР_ЗАПИСИ, ПЕРЕМЕННАЯ

для считывания команда

Get #НОМЕР_ФАЙЛА, НОМЕР_ЗАПИСИ, ПЕРЕМЕННАЯ

Открытие файла для двоичного доступа осуществляется командой

Open ИМЯ_ФАЙЛА For Binary [ Acces ДОСТУП ] As #НОМЕР_ФАЙЛА,

длина записи не указывается, т. к. обмен происходит побайтно; для ввода и вывода используются те же операторы Get и Put, но вместо номера записи указывается номер байта.



Поделиться:

Дата добавления: 2014-11-13; просмотров: 138; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты