Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Позиционирование на запись в файле




Ввод информации из файла

1. Чтение данных из последовательного файла Чтение выполняется оператором:

Input #номер_файла; <список_переменных>

Двойные кавычки при считывании игнорируются, выполняется проверка соответствия типов данных переменных и файла.

Пример 19.32. Запись в файл произвольного доступа

Текст программы Комментарий
Open "FILE" For Input As #1 Do While Not EOF(1) Input #1; MyString; MyNumber Debug.Print MyString; MyNumber Loop Close #1 Открытие файла Цикл до конца файла Чтение данных записи в переменные Печать считанных данных Конец цикла Закрытие файла

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

Line Input #номер_файла; <переменная>

Оператор обеспечивает посимвольное считывание данных строки по файлу до обнаружения символа "возврат каретки" (Сhг(13)) и присвоение этих данных указанной переменной символьного типа.

Пример 19.33. Построчное чтение из файла последовательного доступа

Текст программы Комментарий
Open "TESTFILE" For Input As #1 Do While Not EOF(1) Line Input #1, TestLine Debug.Print TextLine Loop Close #1 Открытие файла Цикл, пока не достигнут конец файла Чтение строки в переменную Печать в окне Debug Конец цикла Закрытие файла

2. Чтение данных из файла произвольного доступа

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

Get Put [#номер_файла; [#записи],<переменная>

Пример 19.34. Чтение из файла произвольного доступа

Текст программы Комментарий
Type Record Объявление пользовательского типа данных для записи
ID As Integer Name As String * 20 End Type  
Dim MyRecord As Record Объявление переменной на основе пользовательского типа данных
Open "FILE" For Random As #1 Len=Len(MyRecord) Открытие файла произвольного доступа с длиной, соответствующей длине объявленного типа
Psition=3 Get #1, Position, MyRecord Close #1 Задание номера (индекс) записи Формирование содержимого записи Закрытие файла

Позиция в записи (номер байта или номер записи) для очередного чтения или записи в файл устанавливается оператором:

Seek [#] номер_файла; позиция

где позиция.- число в диапазоне номеров байтов (1-2147483 647) файла.

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

Пример 19.35. Позиционирование в файле последовательного доступа

Текст программы Комментарий
Dim MyChar As String Объявление переменной на основе пользовательского типа данных
Open "FILE" For Input As #1 Открытие файла произвольного доступа с длиной, соответствующей длине объявленного типа
MaxSize=LOF(1) Вычисление количества байтов в файле
For NextChar- MaxSize To Step -1 Организация цикла для последовательного считывания записей от конца файла к его началу
Seek #1, NextChar MyChar= Input(1,#1) Next NextChar  
Close #1 Закрытие файла

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

Пример 19.36. Позиционирование в файле произвольного доступа

Текст программы Комментарий
Type Record Объявление пользовательского типа данных для записи
ID As Integer Name As String * 20 End Type  
Dim MyRecord As Record Объявление переменной на основе пользовательского типа данных
Open "FILE" For Random As #1 Len=Len(MyRecord) Открытие файла произвольного доступа с длиной, соответствующей длине объявленного типа
MaxSize=LOF(1)\ Len(MyRecord) Get For RecordNumber=MaxSize To 1 Step-1 Вычисление количества записей в файле Организация цикла для последовательного считывания записей от конца файла к его началу
Seek #1, RecordNumber Get #1,, MyRecord Next RecordNumber  
Close #1 Закрытие файла



Поделиться с друзьями:


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


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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