Vsebina
Kazalo 🔎︎

# Ukaz Open

Odpre kanal za podatke.

## Skladnja:

    Open ImeDatoteke As String [For Način] [Access VInačin] [Protected] As [#]ŠtevilkaDatoteke As Integer [Len = DolžinaZapisa]

## Parametri:

ImeDatoteke: Ime in pot do datoteke, ki jo želite odpreti. Če poskusite prebrati datoteko, ki ne obstaja (Access = Read), se pojavi sporočilo o napaki. Če poskusite pisati v datoteko, ki ne obstaja (Access = Write), se ustvari nova datoteka.

Način: ključna beseda, ki določa vrsta dostopa do datoteke. Veljavne vrednosti: Append ( dodajanje v obstoječo datoteko), Binary (podatki so dostopni po bajtih z uporabo funkcij Get in Put), Input (odpre podatkovni kanal za branje), Output (odpre podatkovni kanal za pisanje) in Random (urejanje relativne datoteke).

VInačin: ključna beseda, ki določa način dostopa: Veljavne vrednosti: Read (samo za branje), Write (samo za pisanje), Read Write (oboje).

Protected: ključna beseda, ki določa stanje zaščite za datoteko, potem ko se jo je odprlo. Veljavne vrednosti: Shared (datoteko smejo odpreti tudi drugi programi), Lock Read (datoteka je zavarovana proti branju), Lock Write (datoteka je zavarovana proti pisanju), Lock Read Write (ne dovoljuje dostopa do datoteke).

iŠtevilka: Izraz, ki vrača celoštevilčno vrednost med 0 in 511, s katero se označuje prosti kanal za podatke. Po tem kanalu lahko potem pošiljamo podatke, s katerimi dostopamo do datoteke. Številko datoteke moramo določiti tik pred ukazom Open s pomočjo funkcije FreeFile.

DolžinaZapisa: Za datoteke z naključnim dostopom nastavi dolžino zapisov.

Spreminjate lahko vsebino datoteke samo, če je najprej odprta z ukazom Open. Če skušate odpreti datoteko, ki je že odprta, se prikaže sporočilo o napaki.

## Primer:

    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 #iStevilka, "To je vrstica z besedilom"
        Print #iStevilka, "To je še ena vrstica z besedilom"
        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