Turinys

# Atvertas sakinys

Atveria duomenų kanalą.

### Sintaksė:

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

### Parametrai:

kelio pavadinimas: Atveriamo failo kelias ir pavadinimas. Jei bandote skaityti neegzistuojantį failą („Access = Read“), pasirodys klaidos pranešimas. Jei bandote rašyti į neegzistuojantį failą (Access = Write), sukuriamas naujas failas.

mode: raktinis žodis, kuris nurodo failo būseną. Galiojančios reikšmės: Pridėti (pridėti prie nuoseklaus failo), Dvejetainis (duomenys gali būti pasiekiami baitais, naudojant „Get“ ir „Put“), Įvestis (atveria duomenų kanalą skaitymui), Išvestis (atveria duomenų kanalą rašymui), ir Atsitiktinis (taiso atitinkamus failus).

io: Raktažodis apibrėžia prieigos tipą. Galiojančios reikšmės: Skaityti (tik skaitymui), Rašyti (tik rašymui), Skaityti ir rašyti (abu).

locking: Raktažodis, kuris apibrėžia atveriamo failo saugumo būseną. Galiojančios reikšmės: Bendrinama (failas gali būti atvertas kita programa), Užrakinta skaitymui (failo neleidžiama skaityti), Užrakinta rašymui (failas apsaugotas nuo rašymo), Užrakinta skaitymui ir rašymui (atmetama failo prieiga).

filenum: Bet kuri sveikojo skaičiaus išraiška nuo 0 iki 511, nurodo nemokamo duomenų kanalo numerį. Tada galite perduoti komandas šiuo duomenų kanalu ir pasiekti failą. Failo numerį turi nustatyti „FreeFile“ funkcija prieš pat atliekant atvėrimo sakinį.

recLen: Esant atsitiktinei failų prieigai, nustato įrašų ilgį.

Galite modifikuoti tik failo, kuris buvo atvertas naudojant atvėrimo sakinį, turinį. Jei bandysite atverti jau atvertą failą, pasirodys klaidos pranešimas.

### Pavyzdys:

      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 #iNumber, "Pirmoji teksto eilutė"
          Print #iNumber, "Kita teksto eilutė"
          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 #iNumber, "This is a line of text"
          Print #iNumber, "This is another line of text"
          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

If the Open statement tries to open a file to which the current user does not have read/write permissions, an I/O error will be raised.

Susijusios temos

Uždarymo sakinys

FreeFile Function

Input# Statement

Print# sakinys