русс | укр

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

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

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

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


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

Работа с файлом произвольного доступа


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


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

 

Put Записывает содержимое переменной в файл произвольного доступа. Синтаксис: Put [#]НомерФайла, [НомерЗаписи], ИмяПеременной - НомерФайла — номер файла НомерЗаписи — номер записи (режим Random) или номер байта (режим Binary), с которого следует начать запись или аргумент НомерЗаписи опущен, то записывается на то место, где был установлен указатель после выполнения по­следней инструкции Get или Put, либо куда он переведен с помощью функции Seek ИмяПеременной — имя переменной, содержащей данные, ко­торые следует записать в файл
Get Читает данные из открытого файла произвольного доступа в переменную. Синтаксис: Get [#]Номерфайла, [НомерЗаписи], ИмяПеременной - Номерфайла — номер файла - НомерЗаписи — номер записи (для файлов в режиме Random) или номер байта (для файлов в режиме Binary), с которого следует начать чтение - ИмяПеременной — имя переменной, в которую следует помес­тить считанные данные
Seek Функция возвращает значение типа Long, определяющее теку­щее положение указателя чтения/записи внутри файла, откры­того с помощью инструкции Open. Синтаксис: Seek(Номерфайла)
LOF Функция возвращает значение типа Long, представляющее раз­мер файла в байтах, открытого с помощью инструкции Open. Для определения размера закрытого файла следует использовать функцию FileLen. Синтаксис: LOF(Номерфайла)
FileLen Возвращает значение типа Long, содержащее размер файла в байтах. Синтаксис: FileLen(Путь)

 

Как видно из приведенного в предыдущем разделе примера для считывания информации при помощи инструкции Input # из файла ГруппаЭкономистов, файл последовательного доступа иногда удобно задавать как последо­вательность записей (в данном случае, записей о студентах), причем каждая из записей формируется из группы полей (в данном случае из полей Фами­лия и Оценка). Отметим, что такая группировка по записям не является чем-то присущим файлам последовательного доступа. Это просто подход, позволяющий упростить процесс последовательного считывания записей. В файле последовательного доступа существует только одна внутренняя структура, образованная разделителями (запятыми или специальными сим­волами, обозначающими переход на новую строку).



 

В противоположность файлам последовательного доступа, в файлах произ­вольного доступа запись является встроенным элементом. Файл произволь­ного доступа — это файл, упорядоченный по записям, что позволяет быстро перереместиться на любую запись минуя предыдущие.

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

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

информация о структуре файла произвольного доступа: структура записи, ее Длина и заголовки полей.

Отметим, что при открытии файла произвольного доступа, в отличие от файла последовательного доступа, не надо специально указывать, открыва­ется он для ввода или вывода информации. Ввод и вывод информации оп­ределяют команды Put и Get.

Приведем один пример работы с файлом произвольного доступа ГруппаЭкономистов, который имеет ту же структуру, что и в предыдущем примере. файл создается с помощью процедуры ЗаписьВФайл, которая последователь­но считывает данные из первого и второго столбца рабочего листа и затем вводит их в файл. В этой процедуре число вводимых записей фиксировано и равно 5. Процедура СчитываниеИзФайла производит обратное действие — счи­тывает данные из файла и вводит их в ячейки третьего и четвертого столбца рабочего листа. Интересной особенностью файла произвольного доступа является то, что при работе с ним можно определить число записей не пе­ресчитывая их. Число записей равно отношению размера файла к длине од­ной записи. Длина записи устанавливается при создании файла произволь­ного доступа и определяется типом переменной, при помощи которой файл был создан, размер открытого файла возвращается функцией lof, а еще не открытого — функцией FileLen. В рассматриваемом случае число записей в файле равно lof (l) / Len (Студент).

Type Студенты

Фамилия As;String * 20 Оценка As String * 3

End Type

Sub ЗаписьВФайл()

Dim Студент As Студенты

Dim i As Integer

Open "ГруппаЭкономистов" For Random As #1 Len = Len(Студент)

For i = 1 To 5

 

With Студент

.Фамилия = Cells (i, 1).Value .

Оценка = Cells(i, 2).Value

End With

Put #1, i. Студент

Next i

Close #1

End Sub

Sub СчитываниеИзФайла() Dim Студент As Студенты Dim i As Integer

Dim n As Integer

Open "ГруппаЭкономистов" For Random As #1 Len = Len(Студент)

n = LOF(l) / Len(Студент)

For i = 1 To n

Get #1, i. Студент

With Студент

Cells(i, 3).Value = .Фамилия

Cells(i, 4).Value = .Оценка

End With

Next i Close #1 End Sub


 



<== предыдущая лекция | следующая лекция ==>
Вывод данных из файла последовательного доступа | Объект FileSearch


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


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

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

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


 


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

 
 

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

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