Module
Contents
Index 🔎︎

# Open Statement

Открывает канал данных.

## Синтаксис

    Open ИмяФайла As String [For Режим] [Access Режим_ввода/вывода] [Защита] As [#]НомерФайла As Integer [Len = ДлинаБД]

## Параметры:

Имя файла: имя и путь к файлу, который требуется открыть. При попытке открытия несуществующего файла (Access = Read) выдаётся сообщение об ошибке. При попытке записи в несуществующий файл (Access = Write) создаётся новый файл.

Режим: ключевое слово, указывающее файловый режим. Допустимые значения: Append (добавление к концу существующего файла), Binary (данные могут быть доступны побайтно с помощью инструкций Get и Put), Input (открытие канала данных для чтения), Output (открытие канала данных для записи) и Random (редактирование файлов с произвольным доступом).

Режим_ввода/вывода. Ключевое слово, которое определяет тип доступа. Допустимые значения: Read (только для чтения), Write (только для записи), Read Write (и то, и другое).

Защита. Ключевое слово, которое определяет статус безопасности файла после открытия. Допустимые значения: Shared (файл может быть открыт другими приложениями), Lock Read (файл защищён от чтения), Lock Write (файл защищён от записи), Lock Read Write (доступ к файлу запрещен).

НомерФайла. Любое целое число от 0 до 511, указывающее номер свободного канала данных, который может быть использован для доступа к файлу посредством различных команд. Номер файла должен определяться непосредственно перед инструкцией Open с помощью функции FreeFile.

ДлинаЗаписи: устанавливает длину записи для файлов с произвольным доступом.

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

## Пример:

    Sub ExampleWorkWithAFile

    Dim iNumber As Integer

    Dim sLine As String

    Dim aFile As String

    Dim sMsg As String

        aFile = "c:\data.txt"

        iNumber = Freefile

        Open aFile For Output As #iNumber

        Print #iNumber, "Это строка текста"

        Print #iNumber, "Это еще одна строка текста"

        Close #iNumber

        iNumber = Freefile

        Open aFile For Input As iNumber

        While Not eof(iNumber)

            Line Input #iNumber, sLine

            If sLine <>"" Then

                sMsg = sMsg & sLine & chr(13)

            End If

        Wend

        Close #iNumber

        MsgBox sMsg

    End Sub