Програмирование на Visual Basic
Информация - Компьютеры, программирование
Другие материалы по предмету Компьютеры, программирование
?иси которых могут быть переменной длины;
3.7.1.Последовательные файлы
Каждая запись последовательного файла представляет собой строку символов, в конце которой содержится символ , обозначающий переход на другую строку (line feed, ASCII-код равен 10). Последовательное действие этих двух символов обеспечивает переход к новой записи. После последней записи записывается признак конца файла (end of file), который может проверяться встроенной функцией EOF (возвращает значение True. если обнаружен конец файла, и False, в противном случае).
Для получения доступа к файлу для операции ввода-вывода используется оператор открытия файла, синтаксис которого следующий
Open имя_файла For {Append Input | Output} As #номер_фаила fLen = размер буфера памяти}
где Open, For. Append. Input. Output, As ключевые слова.
Input файл открывается для ввода.
Output файл открывается для вывода.
Append устанавливает считывающе-записывающее устройство на конец файла и выводимая информация записывается в файл после существующих записей (при значении параметра Output выводимая информация записывается с начала файла, т.е. происходит перезапись файла, если в нем существовали записи).
Имя_файла имя файла (символьная константа или переменная) или путь. Имя файла в DOS и Windows 3.1 состоит из не более чем восьми буквенных (латинских) или цифровых символов (первый символ буква), за которым может следовать расширение, определяющее тип файла (VBPART3.DOC, Project. MAC). В Windows 95 допускаются длинные имена файлов до 255 символов, включая специальные символы (в русской версии для записи имени файла можно использовать русские буквы) Путь определяет местонахождение файла в иерархической системе каталогов (C:\CONF1G.SYS, C:\WINDOWS\VB).
Номер файла целочисленное выражение, значение которого должно лежать в диапазоне от 1 до 255 (присваиваемый файлу номер).
Len определяет размер буфера операций ввода-вывода (по умолчанию 512 Кб).
Примеры:
Open “С:\CONFIC.SYS” For Input As tt5 открывается
файл с именем CONFIG.SYS в директории С: для ввода
и ему присваивается номер 5
Doc$ = “a:\Utilits\NC.DOC”
присвоение значения константе
Open Doc$ For Input A.s ft 5
открытие файла NC.DOC на диске А: в директории Utilits для ввода, файлу присваивается номер 2
Open “Resulc. t:-:t “ For Output As tt7
открытие файла для вывода.
Если открывается для вывода несуществующий файл. то он создается при значениях параметров Append и Output. Если для ввода открывается несуществующий файл, то Visual Basic сообщает об ошибке. Если файл скрывается для вывода Visual Basic всегда создает новый файл, перезаписывая в него любой имеющийся на диске файл с тем же именем.
Существование файла перед открытием можно проверить с помощью встроенной функции Dir$ (возвращает строку с копией имени файла, если указанный файл существует, либо пустую строку в противном случае).
Пример.
If Dir$">(“FilePrim.Txt”) <> “” Then
.Open “FilePrim.Txt” For Input As #12
End If
После завершения операций ввода вывода файл должен быть закрыт. Для этого используется оператор
Close #номер_фачла где Close ключевое слово;
номер_ файла соответствует номеру в операторе Open.
Для ввода информации из последовательного файла используется оператор
Line Input #номер_файла, имя_переменной где Line Input ключевое слово;
номер_файла номер файла, совпадающий с номером в операторе Open (вводится информация из открытого файла);
имя_переменной имя переменной, которая принимает значение записи файла, типа String или Variant.
При выполнении оператора считывается одна запись файла и помещается в ячейку оперативной памяти, адрес которой соответствует имени переменной в операторе ввода (переменная получает значение, совпадающее с введенной записью файла). Последовательное выполнение операторов ввода обеспечивает последовательное считывание записей файла.
Встроенная функция EOF (аббревиатура английских слов End Of File - конец файла) позволяет проверять при чтении файла: достигнут конец файла или нет. Значением аргумента функции EOF является номер считываемого файла. Функция возвращает значение True, если достигнут конец файла, и False - в противном случае.
Пример.
Dim FileYura, Sr.rokaVvoda As String
объявление символьных переменных
Open FileYura For Input As #5
открытие файла FileYura для ввода Do While Not EOF(5)цикл последовательного чтения
записей файла пока не достигнут конец Line Input #5, StrokaVvodaввод считанной записи
в переменную StrokaVvoda LineRead StrokaVvoda обращение к
процедуре обработки строки LineRead аргументом которой является переменная StrokaVvoda Loop
Close #5 закрытие файла
Для вывода информации в последовательный файл используется оператор
{Print* Write} ”номер_файла,[[{8рс(ч) |Tab(n)}]
[ выражение}[{,\;}}} где Print, Write ключевые слова.
Print# обеспечивает вывод в последовательный файл в формате дисплея (т.е. аналогично выводу на печать, например, на форме).
выражение - выражение, значение которого записывается в файл.
Если выражения разделяются “;”, то в файл они записываются без пробелов сл