Instructie Open

Inhoud
Index 🔎︎

# Open-instructie

Opent een gegevenskanaal.

### Syntaxis:

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

### Parameters:

padnaam: Pad en naam van het te openen bestand. Als bij het lezen het bestand (Access: Read), treedt er een fout op. Als het bestand niet bestand bij het schrijven (Access: Write), wordt er een bestand aangemaakt.

mode: Hier wordt de bestandsmode aangegeven. Mogelijke waarden zijn: Append (toevoegen aan sequentieel bestand), Binary (gegevens kunnen benaderd worden op niveau van een byte met behulp van Get en Put), Input (opent gegevenskanaal voor lezen), Output (opent gegevenskanaal voor schrijven) en Random (wijzigen relatieve bestanden).

io: Hier wordt het toegangstype aangegeven. Mogelijke waarden zijn: Read (read-only), Write (write-only), Read Write (beide).

vergrendeling: Hier wordt de veiligheidsstatus na het openen van een bestand aangegeven. Mogelijke waarden zijn: Shared (bestand kan door een andere applicatie worden geopend), Lock Read (bestand wordt beschermd tegen het lezen), Lock Write (bestand wordt beschermd tegen het schrijven), Lock Read Write (bestand wordt beschermd tegen toegang).

bestandnummer: Een getal tussen 0-511 dat een vrij gegevenskanaal aangeeft. U kunt commando's via het gegevenskanaal doorgeven om het bestand te benaderen. Het bestandsnummer moet met de functie FreeFile worden bepaald direct voor de instructie Open.

recordLengte: Bepaalt de lengte van records bij het Random benaderen van bestanden.

Een bestand moet worden geopend met het Open statement vóór de bestandsinhoud kan worden gewijzigd. Als u probeert een bestand te openen dat al geopend is verschijnt een foutboodschap.

### Voorbeeld:

      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 #iGetal, "Dit is een tekstregel"
          Print #iGetal, "Dit is een andere tekstregel"
          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 #iGetal, "Dit is een tekstregel"
          Print #iGetal, "Dit is een andere tekstregel"
          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

Als met de instructie Open een bestand wordt geprobeerd te open waartoe de huidige gebruiker geen lees/schrijfrechten heeft, dan treedt er een I/O-fout op.

Verwante onderwerpen

Instructie Close

functie FreeFile

Instructie Input#

Instructie Print#