Module
Contents
Index 🔎︎

# Open Statement

Avataan tietokanava.

## Syntaksi:

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

## Parametrit:

Tiedostonimi1: avattavan tiedoston nimi ja polku. Jos yritetään lukea tiedostoa, jota ei ole (Access = Read), saadaan virheilmoitus. Jos yritetään kirjoittaa tiedostoon, jota ei ole (Access = Write), uusi tiedosto tulee luoduksi.

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