Open-udtryk

√Öbner en datakanal.

Syntaks:


Open FileName As String [For Mode] [Access IOMode] [Protected] As [#]FileNumber As Integer [Len = DatasetLength]i37502

Parametre:

Filnavn: Navn og sti p√• den fil, du vil √•bne. Hvis du fors√łger at l√¶se en fil, som ikke eksisterer (adgang = l√¶serettighed), kommer en fejlmeddelelse frem. Hvis du fors√łger at skrive til en fil, som ikke eksisterer (adgang = skriverettighed), oprettes der en ny fil.

Mode: N√łgleord som angiver filens tilstand. Gyldige v√¶rdier: Append (tilf√łj til sekventiel fil), binary (data kan tilg√•s af bytes ved brug af Get og Put), Input (√•bner datakanal for l√¶sning), Output (√•bner datakanal for skrivning), og Random (redigerer relative filer).

IOMode: N√łgleord, som definerer adgangstypen. Gyldige v√¶rdier: Read (l√¶s-kun), Write (skriv-kun), Read Write (begge).

Protected: N√łgleord som definerer sikkerhedsstatus for en fil efter √•bning. Gyldige v√¶rdier: Shared (fil kan √•bnes af andre programmer), Lock Read (fil er beskyttet imod l√¶sning), Lock Write (fil er beskyttet imod skrivning), Lock Read Write (n√¶gter filadgang).

FileNumber: Hvilket som helst heltalsudtryk mellem 0 og 511 der indiker nummeret p√• en fri datakanal. Du kan s√• passere kommandoer gennem datakanalen for at tilg√• filen. Filtallet skal bestemmes af funktionen FreeFile straks f√łr s√¶tningen Open.

DatasetLength: For filer med vilkårlig adgang, sæt længden af dataposterne.

note

Du kan kun √¶ndre indholdet af en fil, som blev √•bnet med Open-s√¶tningen. Hvis du fors√łger at √•bne en fil der allerede er √•bnet, vil en fejlmeddelelse fremkomme.


Eksempel:


Sub ExampleWorkWithAFile
Dim iNumber As Integer
Dim sLine As String
Dim aFile As String
Dim sMsg As String
    aFile = "c:\data.txt"
    iNumber = Freefile
    Open aFile For Output As #iNumber
    Print #iNumber, "Dette er en linje tekst"
    Print #iNumber, "Dette er en anden tekstlinje"
    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

St√łt os venligst!