Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Последовательный файл состоит из текстовых строк ASCII- формата. Любая информация считывается или сохраняется в текстовом виде построчно. Последовательные файлы могут обрабатываться любым текстовым редактором.
Способ открытия файла с последовательным доступом (для чтения, записи или добавления) задается при вызове оператора открытия файла:
Open имяФайла For режим As дескрипторФайла
Где: имяФайла определяет имя открываемого файла; это либo строка символов, заключенная в кавычки, либо выражение, значением которого является строка символов. Она представляет собой путь к открываемому файлу;
режим - это режим доступа, который может иметь значения:
Input (Ввод) - если файл открывается для чтения из него текстовых данных.
Output (Вывод)- если файл открывается для записи в него данных, начиная с первой позиции. Вся имевшаяся в нем старая информация будет стерта.
Append (Дополнение) - если файл открывается для записи в него данных не с первой, а с конечной позиции, так что вся имевшаяся в нем старая информация будет сохранена.
дескрипторФайла - целое число, по которому идентифицируется открываемый файл. Файловые номера используются при выполнении файловых операций в программе.
Все открытые файлы закрываются оператором:
Close [ списокДескрипторов ]
списокДескрипторов - это записанные через запятую дескрипторы файлов, которые должны быть закрыты. При отсутствии этого параметра будут закрыты все открытые файлы.
Для записи в файл используются операторы:
Print # ДескрипторФайла, [ СписокЗначений ]
Write # ДескрипторФайла, [ СписокЗначений ]
Где: СписокЗначений - это записанные через разделитель значения (или выражения).
Оба оператора записывают данные в файл текстовыми строками. Текстовая строка - это последовательность символов, которая заканчивается символом перехода на новую текстовую строку или символом возврата каретки (коды 13 и 10). Текстовый файл представляет собой последовательность текстовых строк.
Логика работы операторов Write и Print различна.
Оператор Write
Разделителем в списке значений является запятая. Список значений просматривается последовательно, и элементы этого списка записываются в одну текстовую строку файла через запятую. Элементы типа String заключаются в кавычки. После записи последнего элемента записывается символ перехода на новую строку.
Пример: Напишем программу записи в текстовый файл следующих строк:
"Иванов", 1982
"Петров", 1984
"Сидорова", 1983
"Крылов", 1980
В каждой строке - фамилия и год рождения.
На рис. 2.23. в окне редактора кодов приведен текст процедуры создания текстового файла с использованием оператора Write.
Оператор Print
Элементы списка значений в этом операторе должны быть разделены либо точкой с запятой, либо запятой. От этого зависит, как они будут записаны в текстовую строку файла:
- если (;) - значения будут записываться подряд, без промежутков между ними;
- если (,) - значения будут записываться в 14-символьные зоны вывода.
Кроме того, в списке значений оператора могут присутствовать функции:
1) Spc(n) - для вставки n пробелов между значениями в текстовой строке;
2) Tab(n) - для указания номера n позиции для записи следующего значения.
На рис. 2.24. в окне редактора кодов приведен текст процедуры создания текстового файла с использованием оператора Print.
Для чтения из файла используются:
- оператор Input # ДескрипторФайла СписокПеременных
-оператор Line Input # ДескрипторФайла Переменная
- функция Input ( ЧислоСимволов, дескрипторФайла )
Оператор Input
Список переменных - это записанные через запятую переменные любого типа. В каждой текстовой строке файла количество и тип значений должны совпадать с количеством и типом переменных в списке переменных.
Оператор Line Input
Переменная - это переменная типа String или Variant. Результатом работы этого оператора является присвоение Переменной значения - всей очередной текстовой строки файла.
Функция Input
ЧислоСимволов - это количество символов, которое надо прочесть из входного файла. Функция возвращает текст в виде символьной строки. Чаще всего эту функцию используют для одновременного чтения всего текстового файла и размещения его в текстовом поле экранной формы.
Аналогичный результат дает работа программы, использующей оператор Line Input:
Private Sub Command3_Click()
Dim ts As String
Open "c:\ГодР1.txt" For Input As #1
Do Until EOF(1)
Line Input #1, ts
Print ts
Loop
Close #1
End Sub
Пример использования функции Input:
Private Sub Command3_Click()
Dim ks As Integer
Open "c:\ГодР1.txt" For Input As #1
ks = LOF(1)
Print Input(ks, #1)
Close #1
End Sub
При обработке файлов также используются функции: EOF (дескрипторФайла) - возвращает значение True, если обнаружен конец файла и False - в противном случае.
LOF (дескрипторФайла) - возвращает размер текстового файла в символах.
Дата публикования: 2014-11-02; Прочитано: 967 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!