Share via


Funzione FileOpen

Aggiornamento: novembre 2007

Apre un file per l'input o l'output

Nelle operazioni di I/O dei file la funzionalità My offre un più elevato livello di produttività e prestazioni rispetto a FileOpen. Per ulteriori informazioni, vedere Oggetto My.Computer.FileSystem.

Public Sub FileOpen( _
   ByVal FileNumber As Integer, _
   ByVal FileName As String, _
   ByVal Mode As OpenMode, _
   Optional ByVal Access As OpenAccess = OpenAccess.Default, _
   Optional ByVal Share As OpenShare = OpenShare.Default, _
   Optional ByVal RecordLength As Integer = -1 _
)

Parametri

  • FileNumber
    Obbligatorio. Qualsiasi numero di file valido. Utilizzare la funzione FreeFile per ottenere il primo numero di file disponibile.

  • FileName
    Obbligatorio. Espressione String nella quale è specificato un nome di file. Può includere la directory o la cartella e l'unità.

  • Mode
    Obbligatorio. Enumerazione che specifica la modalità file: Append, Binary, Input, Output o Random. Per ulteriori informazioni, vedere Enumerazione OpenMode.

  • Access
    Facoltativo. Enumerazione che specifica le operazioni consentite sul file aperto: Read, Write o ReadWrite. Il valore predefinito è ReadWrite. Per ulteriori informazioni, vedere Enumerazione OpenAccess.

  • Share
    Facoltativo. Enumerazione che specifica le operazioni non consentite sul file aperto da altri processi: Shared, Lock Read, Lock Write e Lock Read Write. Il valore predefinito è Lock Read Write. Per ulteriori informazioni, vedere Enumerazione OpenShare.

  • RecordLength
    Facoltativo. Numero minore di o uguale a 32.767 (byte). In caso di file aperti con accesso Random, questo valore sarà uguale alla lunghezza del record. Se l'accesso ai file utilizza la modalità Sequential, tale valore sarà uguale al numero di caratteri memorizzati nel buffer.

Eccezioni

Tipo di eccezione

Numero di errore

Condizione

ArgumentException

5

Parametro Access, Share o Mode non valido.

ArgumentException

5

File WriteOnly aperto per Input.

ArgumentException

5

File ReadOnly aperto per Output.

ArgumentException

5

File ReadOnly aperto per Append.

ArgumentException

5

Lunghezza del record negativa (e diversa da -1).

IOException

52

FileNumber non valido (<-1 o >255) oppure già in uso.

IOException

55

FileName già aperto oppure non valido.

Se si esegue l'aggiornamento delle applicazioni Visual Basic 6.0 che utilizzano la gestione degli errori non strutturata, vedere la colonna "Numero di errore". È possibile confrontare il numero di errore con la Proprietà Number (oggetto Err). Se possibile, tuttavia, si consiglia di sostituire il controllo dell'errore con la procedura illustrata nella sezione Cenni preliminari sulla gestione strutturata delle eccezioni per Visual Basic.

Note

La funzione FileOpen viene fornita a scopo di compatibilità con le versioni precedenti e può influire sulle prestazioni. Per le applicazioni non preesistenti, l'oggetto My.Computer.FileSystem garantisce prestazioni migliori. Per ulteriori informazioni, vedere Accesso ai file con Visual Basic.

Per eseguire operazioni di I/O su un file, è necessario aprirlo. FileOpen alloca un buffer per l'I/O nel file e determina la modalità di accesso da utilizzare con il buffer.

Nota sulla sicurezza:

Durante un'operazione di scrittura può essere necessario creare un file in un'applicazione se quello in cui si tenta di scrivere non esiste. Per eseguire questa operazione, è necessario che sia disponibile l'autorizzazione di accesso alla directory in cui creare il file. Tuttavia, se il file specificato da FileName esiste già, sarà necessaria l'autorizzazione Write solo per l'accesso al file. Per migliorare la protezione si consiglia, se possibile, di creare il file durante la distribuzione e concedere l'autorizzazione Write per l'accesso solo al file anziché a tutta la directory. Si consiglia inoltre di scrivere dati nelle directory utente anziché nella directory principale o nella directory Programmi.

È possibile trovare il canale da aprire utilizzando la funzione FreeFile().

Nota sulla sicurezza:

La funzione FileOpen richiede l'accesso Read dall'enumerazione FileIOPermissionAccess, che può influenzarne l'esecuzione in situazioni di attendibilità parziale. Per ulteriori informazioni, vedere l'enumerazione FileIOPermissionAccess e Richiesta di autorizzazioni.

Esempio

Nell'esempio riportato di seguito vengono illustrati i diversi utilizzi della funzione FileOpen per attivare operazioni di input e output in un file.

Nel codice seguente il file TestFile viene aperto in modalità Input.

FileOpen(1, "TESTFILE", OpenMode.Input)
' Close before reopening in another mode.
FileClose(1)

Nell'esempio seguente il file viene aperto in modalità Binary solo per operazioni di scrittura.

FileOpen(1, "TESTFILE", OpenMode.Binary,OpenAccess.Write)
' Close before reopening in another mode.
FileClose(1)

Nell'esempio seguente il file viene aperto in modalità Random. Il file contiene record della struttura Person.

Structure Person
    <VBFixedString(30)> Dim Name As String
    Dim ID As Integer
End Structure
Public Sub ExampleMethod()
    ' Count 30 for the string, plus 4 for the integer.
    FileOpen(1, "TESTFILE", OpenMode.Random, , , 34)
    ' Close before reopening in another mode.
    FileClose(1)
End Sub

Nell'esempio di codice seguente il file viene aperto in modalità Output. Tale modalità consente operazioni di lettura o scrittura nel file a qualsiasi processo.

FileOpen(1, "TESTFILE", OpenMode.Output, OpenAccess.Default, OpenShare.Shared)
' Close before reopening in another mode.
FileClose(1)

Nell'esempio di codice seguente il file viene aperto in modalità Binary per la lettura. Tale operazione viene impedita ad altri processi.

FileOpen(1, "TESTFILE", OpenMode.Binary, OpenAccess.Read, _
   OpenShare.LockRead)

Note per gli sviluppatori di applicazioni per Smart Device

Questa funzione non è supportata.

Requisiti

Spazio dei nomi:Microsoft.VisualBasic

**Modulo:**FileSystem

**Assembly:**Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)

Vedere anche

Riferimenti

Funzione FileClose

Funzione FreeFile

Altre risorse

Lettura da file in Visual Basic

Scrittura su file in Visual Basic