Програмирование на Visual Basic

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

?иси которых могут быть переменной длины;

  • прямого доступа (random access), записи которых могут быть только одинаковой длины;
  • двоичные (Ьупагу) файлы с произвольной группировкой байтов, что позволяет организовать гибкий доступ к данным.
  • 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# обеспечивает вывод в последовательный файл в формате дисплея (т.е. аналогично выводу на печать, например, на форме).

    выражение - выражение, значение которого записывается в файл.

    Если выражения разделяются “;”, то в файл они записываются без пробелов сл