Vsebina
Kazalo 🔎︎

# Ukaz Open

Odpre kanal za podatke.

### Skladnja:

    Open pathname For mode [Access io] [locking] As [#]filenum [Len=recLen]

### Parametri:

PotIme: pot in ime 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).

zaklepanje: 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).

štDatoteke: celoštevilski izraz z vrednostjo 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 (Random) 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:\Users\ThisUser\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

      Sub ExampleWorkWithAFile
          Dim iNumber As Integer
          Dim sLine As String
          Dim aFile As String
          Dim sMsg As String
          aFile = "~/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

Če skušate z ukazom Open odpreti datoteko, za katero trenutni uporabnik nima pravic branja/pisanja, bo javljena V/I-napaka.

Podobne teme

Ukaz Close

Funkcija FreeFile

Ukaz Input#

Ukaz Print#