Öppna uttryck

Öppnar en datakanal.

Syntax:

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

Parametrar:

Filnamn: Namn och sökväg för den fil du vill öppna. Om du försöker läsa en fil som inte existerar (Access = Read) visas ett felmeddelande. Om du försöker skriva till en fil som inte finns (Access = Write) skapas en ny fil.

Läge: Nyckelord som anger filläge. Giltiga värden: Append (lägg till i sekventiell fil), Binary (data kan kommas åt med byte med Get och Put), Input (öppnar datakanal för att läsa), Output (öppnar datakanal för att skriva) och Random (redigerar relativa filer).

IOMode: Nyckelord som definierar typ av åtkomst. Giltiga värden: Read (bara läsning), Write (bara skriva), Read Write (båda).

Protected: Nyckelord som definierar säkerhetsstatus för en fil när den har öppnats. Valid values: Shared (filen kan öppnas av andra program), Lock Read (filen är lässkyddad), Lock Write (filen är skrivskyddad), Lock Read Write (nekar filåtkomst).

FileNumber: Ett heltalsuttryck från 0 till 511 som anger numret på en ledig datakanal. Du kan sedan överföra kommandon via datakanalen för att komma åt filen. Filnumret måste bestämmas av funktionen FreeFile omedelbart före Open-satsen.

DatasetLength: Ange posternas längd för filer med Random-åtkomst.

Symbolen Info

Du kan bara ändra innehållet i en fil som är öppnad med en Open-sats. Om du försöker öppna en fil som redan är öppen visas ett felmeddelande.


Exempel:

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, "Det här är en textrad"

    Print #iNumber, "Det här är ytterligare en textrad"

    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