Innhald

# Open-uttrykket

Opnar ein datakanal.

### Syntaks:

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

### Parametrar:

pathname: Sti til og namn på fila du vil opna.Viss du prøver å lesa ei fil som ikkje finst (Access = Read), får du ei feilmelding. Prøver du å skriva til ei fil som ikkje finst, vert denne fila laga som ny fil.

Mode: Nøkkelord som bestemmer filmodus. Gyldige verdiar: Append (legg til i sekvensiell fil), Binary (data er tilgjengelege som byte med Get og Put), Input (opnar datakanal for lesing), Output (opnar datakanal for skriving) og Random (redigerar relative filer).

io: nøkkelord som definerer tilgangstypen. Gyldige verdiar er: Read only (kan berre lesast frå, skrivesperra), Write (kan berre skrivast til, lesesperra), Read Write (begge).

locking: nøkkelord som definerer tryggingsstatusen til fila etter at ho er opna. Gyldige verdiar er: Shared (fila kan opnast av andre program), Lock Read (fila er verna mot lesing), Lock Write (fila er verna mot skriving), Lock Read Write (nektar filtilgang).

filenum: Kva heiltal som helst frå 0 til 511 for å indikera nummeret på ein fri datakanal. Du kan deretter overføra kommandoar gjennom datakanalen for å få tilgang til fila. Filnummeret må bestemmast av funksjonen FreeFile like før Open-kommandoen.

recLen: Set lengda på postane i Random access-filer.

Du kan endra innhaldet i ei fil berre viss ho er opna med uttrykket Open. Viss du prøver å opna ei fil som er opna frå før, får du ei feilmelding.

### Eksempel:

      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, "Dette er ei tekstlinje"
          Print #iNumber, "Dette er ei tekstlinje til"
          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, "Dette er ei tekstlinje"
          Print #iNumber, "Dette er ei tekstlinje til"
          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

Viss uttrykket Open (opna) prøver å opna ei fil som den gjeldande brukaren ikkje har lese-/skrive-rettar til, vert det sett eit I/O-feilflag.

Liknande emne

Close-uttrykket

FreeFile-funksjonen

Input#-uttrykket

Print#-uttrykket

Støtt oss!