Instrucció Open

Obre un canal de dades.

Sintaxi:


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

Paràmetres:

FileName: nom i camí del fitxer que voleu obrir. Si intenteu llegir un fitxer que no existeix (Accés = Lectura), apareix un missatge d'error. Si intenteu escriure en un fitxer que no existeix (Accés = Escriptura), es crea un fitxer nou.

Mode: Paraula clau que especifica el mode del fitxer. Valors vàlids: Afegeix (afegeix a un fitxer seqüencial), Binari (els bytes poden accedir a les dades amb Get i Put), Entrada (obre el canal de dades per a la lectura), Sortida (obre el canal de dades per a l'escriptura) i Aleatori (edita els fitxers relatius).

IOMode: Paraula clau que defineix el tipus d'accés. Valors vàlids: Lectura (només de lectura), Escriptura (només d'escriptura), Lectura Escriptura (ambdós).

Protegit: Paraula clau que defineix l'estat de seguretat d'un fitxer després d'obrir-lo. Valors vàlids: Compartit (el fitxer es pot obrir amb altres aplicacions) Bloqueig de lectura (el fitxer està protegit contra la lectura), Bloqueig d'escriptura (el fitxer està protegit contra l'escriptura), Bloqueig de lectura i d'escriptura (denega l'accés al fitxer).

FileNumber: Qualsevol expressió d'enter de 0 a 511 per indicar el nombre d'un canal de dades lliure. Podeu passar ordres a través del canal de dades per accedir al fitxer. El nombre del fitxer ha d'estar determinat per la funció FreeFile immediatament abans de l'expressió Open.

DatasetLength: Per a fitxers d'accés aleatori, defineix la longitud dels registres.

Icona de nota

Podeu modificar el contingut d'un fitxer que es va obrir amb l'expressió Open. Si intenteu obrir un fitxer que ja està obert, apareix un missatge d'error.


Exemple:


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, "Això és una línia de text"
    Print #iNumber, "Això és una altra línia de text"
    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

Ens cal la vostra ajuda!