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.

Ikona opombe

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