Contents
Index 🔎︎

# Open Statement

Avataan tietokanava.

## Syntaksi:

    Open tiedostonimi1 As String [For tapa1] [Access saanti1] [suojattu1] As [#]tiedostonro1 As Integer [Len = tietuepituus1]

## Parametrit:

FileName: Name and path of the file to open. If you try to read a file that does not exist (Access = Read), an error message appears. If you try to write to a file that does not exist (Access = Write), a new file is created.

Tapa1: avainsana, joka määrittää tiedoston käyttötavan. Kelvolliset arvot: Append (lisätään peräkkäistiedoston loppuun), Binary (tietoa voidaan hakea tavuina Get- ja Put-lauseilla), Input (tietokanava avataan lukua varten), Output (tietokanava avataan kirjoittamista varten) ja Random (muokataan "suhteellisia" suorasaantitiedostoja).

Saanti1: avainsana, joka määrittää tiedoston käsittelytyypin. Kelvolliset arvot: Read (kirjoitussuojattu luku), Write (vain kirjoitus), Read Write (luku ja kirjoitus).

Suojattu1: avainsana, jolla määritetään tietoturvan taso ( muiden sovellusten suhteen) tiedoston avauksen jälkeen. Kelvolliset arvot: Shared (tiedosto on avattavissa muillakin sovelluksilla), Lock Read (tiedosto on lukusuojattu), Lock Write (tiedosto on kirjoitussuojattu), Lock Read Write (tiedoston saanti on estetty).

Tiedostonro1: mikä tahansa kokonaislukulauseke 0...511, joka osoittaa vapaan tietokanavan numeron. Tämä tekee mahdolliseksi tiedoston käsittelykomennot tietokanavan numerolla. Tiedostonumero pitää määrittää FreeFile-funktiolla välittömästi ennen Open-lausetta.

Tietuepituus1: asettaa suorasaantitiedostoille (tapa1=Random) tietuepituuden.

Käyttäjä voi muokata vain sellaisen tiedoston sisältöä, joka on avattu Open-lauseella. Yritettäessä avata tiedostoa, joka on jo auki, saadaan virheilmoitus.

## Esimerkki:

    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, "Tämä on tekstirivi."
        Print #iNumber, "Tässä on toinen rivi tekstiä"
        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