Instructie Open

Opent een gegevenskanaal.

Syntaxis:

Diagram instructie Open

toegang fragment diagram

vergrendelen fragment diagram

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

bestandsnummer: 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.

note

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 = "~/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
note

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.


Help ons, alstublieft!