Condividi tramite


FileSystem.FileGet Metodo

Definizione

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

Overload

FileGet(Int32, Array, Int64, Boolean, Boolean)

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

FileGet(Int32, String, Int64, Boolean)

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

FileGet(Int32, ValueType, Int64)

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

FileGet(Int32, Single, Int64)

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

FileGet(Int32, Int64, Int64)

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

FileGet(Int32, Int32, Int64)

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

FileGet(Int32, Decimal, Int64)

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

FileGet(Int32, Double, Int64)

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

FileGet(Int32, DateTime, Int64)

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

FileGet(Int32, Char, Int64)

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

FileGet(Int32, Byte, Int64)

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

FileGet(Int32, Boolean, Int64)

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

FileGet(Int32, Int16, Int64)

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

FileGet(Int32, Array, Int64, Boolean, Boolean)

Source:
FileSystem.vb
Source:
FileSystem.vb
Source:
FileSystem.vb

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

public static void FileGet (int FileNumber, ref Array Value, long RecordNumber = -1, bool ArrayIsDynamic = false, bool StringIsFixedLength = false);
static member FileGet : int * Array * int64 * bool * bool -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As Array, Optional RecordNumber As Long = -1, Optional ArrayIsDynamic As Boolean = false, Optional StringIsFixedLength As Boolean = false)

Parametri

FileNumber
Int32

Obbligatorio. Qualsiasi numero di file valido.

Value
Array

Obbligatorio. Nome valido della variabile in cui vengono letti i dati.

RecordNumber
Int64

facoltativo. Numero di record (file in modalità Random) o numero di byte (file in modalità Binary) in corrispondenza del quale viene avviata la lettura.

ArrayIsDynamic
Boolean

facoltativo. Si applica solo durante la scrittura di una matrice. Specifica se la matrice deve essere considerata una matrice dinamica e se è necessario un descrittore della matrice che descrive le dimensioni e i limiti della matrice.

StringIsFixedLength
Boolean

facoltativo. Si applica solo durante la scrittura di una stringa. Specifica se scrivere un descrittore a due byte per la stringa che descrive la lunghezza. Il valore predefinito è False.

Eccezioni

RecordNumber< 1 e diverso da -1.

La modalità File non è valida.

Commenti

FileGet è valido solo in Random e Binary modalità.

I dati letti con FileGet vengono in genere scritti in un file usando FilePut.

Il primo record o byte in un file è in posizione 1, il secondo record o byte è in posizione 2 e così via. Se si omette RecordNumber, il record o il byte successivo che segue l'ultima o FilePut funzione (o puntata all'ultima FileGetSeek funzione) viene letto.

Importante

Quando si legge da file, non prendere decisioni sul contenuto di un file in base all'estensione del nome file. Ad esempio, un file denominato Form1.vb potrebbe non essere un file di origine di Visual Basic.

Modalità casuale

Per i file aperti in Random modalità, si applicano le regole seguenti:

  • Se la lunghezza dei dati letti è minore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, FileGet legge i record successivi sui limiti di lunghezza record. Lo spazio compreso tra la fine di un record e l'inizio del record successivo viene riempito con il contenuto esistente del buffer del file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile avere la lunghezza del record corrispondente alla lunghezza dei dati letti.

  • Per impostazione predefinita, se la variabile in lettura è una stringa, FileGet legge un descrittore a due byte che contiene la lunghezza della stringa e quindi legge i dati che passano alla variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola della FileOpen funzione deve essere almeno due byte maggiore della lunghezza effettiva della stringa. Visual Basic 6.0 e versioni precedenti supportano stringhe a lunghezza fissa; quando viene inserito in un file, il descrittore di lunghezza non viene scritto. Se si vuole leggere una stringa senza il descrittore, è necessario passare True al StringIsFixedLength parametro e la stringa in cui si legge deve essere la lunghezza corretta.

  • Se la variabile in lettura è una matrice, è possibile scegliere se leggere un descrittore per le dimensioni e la dimensione della matrice. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si legge la matrice, è necessario corrispondere al modo in cui è stata scritta la matrice. Se è stato scritto con il descrittore, è necessario leggere il descrittore. Se il descrittore non viene usato, le dimensioni e i limiti della matrice passati determinano FileGet cosa leggere.

    Il descrittore specifica il rango della matrice, le dimensioni e i limiti inferiori per ogni rango. La lunghezza è uguale a 2 più 8 volte il numero di dimensioni: (2 + 8 * NumberOfDimensions). La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere maggiore o uguale alla somma di tutti i byte necessari per scrivere i dati della matrice e il descrittore della matrice. Ad esempio, la dichiarazione di matrice seguente richiede 218 byte quando la matrice viene scritta su disco.

    Dim MyArray(4, 9) As Integer
    

    I 218 byte vengono distribuiti come segue:

    • 18 byte per il descrittore: (2 + 8 * 2)

    • 200 byte per i dati: (5 * 10 * 4).

  • Se la variabile in lettura è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FileGet legge solo i dati delle variabili. La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla lunghezza dei dati letti.

  • FileGet legge elementi di strutture come se ognuno fosse letto singolarmente, ad eccezione del fatto che non vi è alcuna spaziatura interna tra gli elementi. Su disco, una matrice dinamica in un tipo definito dall'utente (scritta con FilePut) è preceduta da un descrittore la cui lunghezza è uguale a 2 più 8 volte il numero di dimensioni: (2 + 8 * NumberOfDimensions). La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla somma di tutti i byte necessari per leggere i singoli elementi. Sono incluse le matrici e i relativi descrittori. L'attributo VBFixedString può essere applicato ai campi stringa nelle strutture per indicare le dimensioni di una stringa quando viene scritta su disco.

Modalità binaria

Per i file aperti in Binary modalità, la maggior parte delle regole di Random modalità si applica, con alcune eccezioni. Le regole seguenti per i file aperti in Binary modalità differiscono dalle regole per Random la modalità:

  • La RecordLength clausola nella FileOpen funzione non ha alcun effetto. FileGet legge tutte le variabili dal disco in modo contiguo; ovvero, senza spaziatura interna tra i record.

  • Per qualsiasi matrice diversa da una matrice in una struttura, FileGet legge solo i dati. Non viene letto alcun descrittore.

  • FileGet legge stringhe a lunghezza variabile che non sono elementi di strutture senza aspettarsi il descrittore di lunghezza a due byte. Il numero di byte letti equivale al numero di caratteri già nella stringa.

    Importante

    La lettura da un file usando la FileGet funzione richiede Read l'accesso dall'enumerazione FileIOPermissionAccess .

Vedi anche

Si applica a

FileGet(Int32, String, Int64, Boolean)

Source:
FileSystem.vb
Source:
FileSystem.vb
Source:
FileSystem.vb

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

public static void FileGet (int FileNumber, ref string Value, long RecordNumber = -1, bool StringIsFixedLength = false);
static member FileGet : int * string * int64 * bool -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As String, Optional RecordNumber As Long = -1, Optional StringIsFixedLength As Boolean = false)

Parametri

FileNumber
Int32

Obbligatorio. Qualsiasi numero di file valido.

Value
String

Obbligatorio. Nome valido della variabile in cui vengono letti i dati.

RecordNumber
Int64

facoltativo. Numero di record (file in modalità Random) o numero di byte (file in modalità Binary) in corrispondenza del quale viene avviata la lettura.

StringIsFixedLength
Boolean

facoltativo. Si applica solo durante la scrittura di una stringa. Specifica se scrivere un descrittore a due byte per la stringa che descrive la lunghezza. Il valore predefinito è False.

Eccezioni

RecordNumber< 1 e diverso da -1.

La modalità File non è valida.

Commenti

FileGet è valido solo in Random e Binary modalità.

I dati letti con FileGet vengono in genere scritti in un file usando FilePut.

Il primo record o byte in un file è in posizione 1, il secondo record o byte è in posizione 2 e così via. Se si omette RecordNumber, il record o il byte successivo che segue l'ultima o FilePut funzione (o puntata all'ultima FileGetSeek funzione) viene letto.

Importante

Quando si legge da file, non prendere decisioni sul contenuto di un file in base all'estensione del nome file. Ad esempio, un file denominato Form1.vb potrebbe non essere un file di origine di Visual Basic.

Modalità casuale

Per i file aperti in Random modalità, si applicano le regole seguenti:

  • Se la lunghezza dei dati letti è minore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, FileGet legge i record successivi sui limiti di lunghezza record. Lo spazio compreso tra la fine di un record e l'inizio del record successivo viene riempito con il contenuto esistente del buffer di file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile avere la lunghezza del record corrispondente alla lunghezza dei dati letti.

  • Per impostazione predefinita, se la variabile in lettura è una stringa, FileGet legge un descrittore a due byte che contiene la lunghezza della stringa e quindi legge i dati che passano alla variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola della FileOpen funzione deve essere almeno due byte maggiore della lunghezza effettiva della stringa. Visual Basic 6.0 e versioni precedenti supportano stringhe a lunghezza fissa; quando viene inserito in un file, il descrittore di lunghezza non viene scritto. Se si vuole leggere una stringa senza il descrittore, è necessario passare True al StringIsFixedLength parametro e la stringa in cui si legge deve essere la lunghezza corretta.

  • Se la variabile in lettura è una matrice, è possibile scegliere se leggere un descrittore per le dimensioni e la dimensione della matrice. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si legge la matrice, è necessario corrispondere al modo in cui è stata scritta la matrice. Se è stato scritto con il descrittore, è necessario leggere il descrittore. Se il descrittore non viene usato, le dimensioni e i limiti della matrice passati determinano FileGet cosa leggere.

    Il descrittore specifica il rango della matrice, le dimensioni e i limiti inferiori per ogni rango. La lunghezza è uguale a 2 più 8 volte il numero di dimensioni: (2 + 8 * NumberOfDimensions). La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere maggiore o uguale alla somma di tutti i byte necessari per scrivere i dati della matrice e il descrittore della matrice. Ad esempio, la dichiarazione di matrice seguente richiede 218 byte quando la matrice viene scritta su disco.

    Dim MyArray(4, 9) As Integer
    

    I 218 byte vengono distribuiti come segue:

    • 18 byte per il descrittore: (2 + 8 * 2)

    • 200 byte per i dati: (5 * 10 * 4).

  • Se la variabile in lettura è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FileGet legge solo i dati delle variabili. La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla lunghezza dei dati letti.

  • FileGet legge elementi di strutture come se ognuno fosse letto singolarmente, ad eccezione del fatto che non vi è alcuna spaziatura interna tra gli elementi. Su disco, una matrice dinamica in un tipo definito dall'utente (scritta con FilePut) è preceduta da un descrittore la cui lunghezza è uguale a 2 più 8 volte il numero di dimensioni: (2 + 8 * NumberOfDimensions). La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla somma di tutti i byte necessari per leggere i singoli elementi. Sono incluse le matrici e i relativi descrittori. L'attributo VBFixedString può essere applicato ai campi stringa nelle strutture per indicare le dimensioni di una stringa quando viene scritta su disco.

Modalità binaria

Per i file aperti in Binary modalità, la maggior parte delle regole di Random modalità si applica, con alcune eccezioni. Le regole seguenti per i file aperti in Binary modalità differiscono dalle regole per Random la modalità:

  • La RecordLength clausola nella FileOpen funzione non ha alcun effetto. FileGet legge tutte le variabili dal disco in modo contiguo; vale a dire, senza spaziatura interna tra record.

  • Per qualsiasi matrice diversa da una matrice in una struttura, FileGet legge solo i dati. Non viene letto alcun descrittore.

  • FileGet legge stringhe a lunghezza variabile che non sono elementi di strutture senza aspettarsi il descrittore di lunghezza a due byte. Il numero di byte letti è uguale al numero di caratteri già presenti nella stringa.

    Importante

    La lettura da un file tramite la FileGet funzione richiede Read l'accesso dall'enumerazione FileIOPermissionAccess .

Vedi anche

Si applica a

FileGet(Int32, ValueType, Int64)

Source:
FileSystem.vb
Source:
FileSystem.vb
Source:
FileSystem.vb

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

public static void FileGet (int FileNumber, ref ValueType Value, long RecordNumber = -1);
static member FileGet : int * ValueType * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As ValueType, Optional RecordNumber As Long = -1)

Parametri

FileNumber
Int32

Obbligatorio. Qualsiasi numero di file valido.

Value
ValueType

Obbligatorio. Nome valido della variabile in cui vengono letti i dati.

RecordNumber
Int64

facoltativo. Numero di record (file in modalità Random) o numero di byte (file in modalità Binary) in corrispondenza del quale viene avviata la lettura.

Eccezioni

RecordNumber< 1 e diverso da -1.

La modalità File non è valida.

Commenti

FileGet è valido solo in Random modalità e Binary .

I dati letti con FileGet vengono in genere scritti in un file usando FilePut.

Il primo record o byte in un file si trova nella posizione 1, il secondo record o byte si trova nella posizione 2 e così via. Se si omette RecordNumber, viene letto il record o il byte successivo all'ultima FileGet funzione o FilePut a cui punta l'ultima Seek funzione.

Importante

Durante la lettura dai file, non prendere decisioni sul contenuto di un file in base all'estensione del nome file. Ad esempio, un file denominato Form1.vb potrebbe non essere un file di origine di Visual Basic.

Modalità casuale

Per i file aperti in Random modalità, si applicano le regole seguenti:

  • Se la lunghezza dei dati letti è minore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, FileGet legge i record successivi sui limiti di lunghezza record. Lo spazio tra la fine di un record e l'inizio del record successivo viene riempito con il contenuto esistente del buffer del file. Poiché la quantità di dati di spaziatura interna non può essere determinata con certezza, è in genere consigliabile che la lunghezza del record corrisponda alla lunghezza dei dati letti.

  • Per impostazione predefinita, se la variabile in lettura è una stringa, FileGet legge un descrittore a due byte che contiene la lunghezza della stringa e quindi legge i dati che passano alla variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola della FileOpen funzione deve essere di almeno due byte maggiore della lunghezza effettiva della stringa. Visual Basic 6.0 e versioni precedenti supportano stringhe a lunghezza fissa; quando viene inserito in un file, il descrittore di lunghezza non viene scritto. Se si vuole leggere una stringa senza il descrittore, è necessario passare True al StringIsFixedLength parametro e la stringa in cui si legge deve essere la lunghezza corretta.

  • Se la variabile in lettura è una matrice, è possibile scegliere se leggere un descrittore per le dimensioni e la dimensione della matrice. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si legge la matrice, è necessario trovare la corrispondenza con la modalità di scrittura della matrice. Se è stato scritto con il descrittore, è necessario leggere il descrittore. Se il descrittore non viene usato, le dimensioni e i limiti della matrice passati determinano FileGet cosa leggere.

    Il descrittore specifica il rango della matrice, le dimensioni e i limiti inferiori per ogni rango. La lunghezza è uguale a 2 più 8 volte il numero di dimensioni: (2 + 8 * NumberOfDimensions). La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere maggiore o uguale alla somma di tutti i byte necessari per scrivere i dati della matrice e il descrittore di matrice. Ad esempio, la dichiarazione di matrice seguente richiede 218 byte quando la matrice viene scritta su disco.

    Dim MyArray(4, 9) As Integer
    

    I 218 byte vengono distribuiti nel modo seguente:

    • 18 byte per il descrittore: (2 + 8 * 2)

    • 200 byte per i dati: (5 * 10 * 4).

  • Se la variabile in lettura è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FileGet legge solo i dati della variabile. La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla lunghezza dei dati letti.

  • FileGet legge gli elementi delle strutture come se ognuno fosse letto singolarmente, ad eccezione del fatto che non esiste una spaziatura interna tra gli elementi. Su disco, una matrice dinamica in un tipo definito dall'utente (scritta con FilePut) è preceduta da un descrittore la cui lunghezza è uguale a 2 più 8 volte il numero di dimensioni: (2 + 8 * NumberOfDimensions). La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla somma di tutti i byte necessari per leggere i singoli elementi. Sono incluse le matrici e i relativi descrittori. L'attributo VBFixedString può essere applicato ai campi stringa nelle strutture per indicare le dimensioni di una stringa quando viene scritta su disco.

Modalità binaria

Per i file aperti in Binary modalità, la maggior parte delle regole della Random modalità si applica, con alcune eccezioni. Le regole seguenti per i file aperti in Binary modalità differiscono dalle regole per Random la modalità:

  • La RecordLength clausola nella FileOpen funzione non ha alcun effetto. FileGet legge tutte le variabili dal disco in modo contiguo; vale a dire, senza spaziatura interna tra record.

  • Per qualsiasi matrice diversa da una matrice in una struttura, FileGet legge solo i dati. Non viene letto alcun descrittore.

  • FileGet legge stringhe a lunghezza variabile che non sono elementi di strutture senza aspettarsi il descrittore di lunghezza a due byte. Il numero di byte letti è uguale al numero di caratteri già presenti nella stringa.

    Importante

    La lettura da un file tramite la FileGet funzione richiede Read l'accesso dall'enumerazione FileIOPermissionAccess .

Vedi anche

Si applica a

FileGet(Int32, Single, Int64)

Source:
FileSystem.vb
Source:
FileSystem.vb
Source:
FileSystem.vb

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

public static void FileGet (int FileNumber, ref float Value, long RecordNumber = -1);
static member FileGet : int * single * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As Single, Optional RecordNumber As Long = -1)

Parametri

FileNumber
Int32

Obbligatorio. Qualsiasi numero di file valido.

Value
Single

Obbligatorio. Nome valido della variabile in cui vengono letti i dati.

RecordNumber
Int64

facoltativo. Numero di record (file in modalità Random) o numero di byte (file in modalità Binary) in corrispondenza del quale viene avviata la lettura.

Eccezioni

RecordNumber< 1 e diverso da -1.

La modalità File non è valida.

Commenti

FileGet è valido solo in Random modalità e Binary .

I dati letti con FileGet vengono in genere scritti in un file usando FilePut.

Il primo record o byte in un file si trova nella posizione 1, il secondo record o byte si trova nella posizione 2 e così via. Se si omette RecordNumber, viene letto il record o il byte successivo all'ultima FileGet funzione o FilePut a cui punta l'ultima Seek funzione.

Importante

Durante la lettura dai file, non prendere decisioni sul contenuto di un file in base all'estensione del nome file. Ad esempio, un file denominato Form1.vb potrebbe non essere un file di origine di Visual Basic.

Modalità casuale

Per i file aperti in Random modalità, si applicano le regole seguenti:

  • Se la lunghezza dei dati letti è minore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, FileGet legge i record successivi sui limiti di lunghezza record. Lo spazio tra la fine di un record e l'inizio del record successivo viene riempito con il contenuto esistente del buffer del file. Poiché la quantità di dati di spaziatura interna non può essere determinata con certezza, è in genere consigliabile che la lunghezza del record corrisponda alla lunghezza dei dati letti.

  • Per impostazione predefinita, se la variabile in lettura è una stringa, FileGet legge un descrittore a due byte che contiene la lunghezza della stringa e quindi legge i dati che passano alla variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola della FileOpen funzione deve essere di almeno due byte maggiore della lunghezza effettiva della stringa. Visual Basic 6.0 e versioni precedenti supportano stringhe a lunghezza fissa; quando viene inserito in un file, il descrittore di lunghezza non viene scritto. Se si vuole leggere una stringa senza il descrittore, è necessario passare True al StringIsFixedLength parametro e la stringa in cui si legge deve essere la lunghezza corretta.

  • Se la variabile in lettura è una matrice, è possibile scegliere se leggere un descrittore per le dimensioni e la dimensione della matrice. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si legge la matrice, è necessario trovare la corrispondenza con la modalità di scrittura della matrice. Se è stato scritto con il descrittore, è necessario leggere il descrittore. Se il descrittore non viene usato, le dimensioni e i limiti della matrice passati determinano FileGet cosa leggere.

    Il descrittore specifica il rango della matrice, le dimensioni e i limiti inferiori per ogni rango. La lunghezza è uguale a 2 più 8 volte il numero di dimensioni: (2 + 8 * NumberOfDimensions). La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere maggiore o uguale alla somma di tutti i byte necessari per scrivere i dati della matrice e il descrittore di matrice. Ad esempio, la dichiarazione di matrice seguente richiede 218 byte quando la matrice viene scritta su disco.

    Dim MyArray(4, 9) As Integer
    

    I 218 byte vengono distribuiti nel modo seguente:

    • 18 byte per il descrittore: (2 + 8 * 2)

    • 200 byte per i dati: (5 * 10 * 4).

  • Se la variabile in lettura è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FileGet legge solo i dati della variabile. La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla lunghezza dei dati letti.

  • FileGet legge gli elementi delle strutture come se ognuno fosse letto singolarmente, ad eccezione del fatto che non esiste una spaziatura interna tra gli elementi. Su disco, una matrice dinamica in un tipo definito dall'utente (scritta con FilePut) è preceduta da un descrittore la cui lunghezza è uguale a 2 più 8 volte il numero di dimensioni: (2 + 8 * NumberOfDimensions). La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla somma di tutti i byte necessari per leggere i singoli elementi. Sono incluse le matrici e i relativi descrittori. L'attributo VBFixedString può essere applicato ai campi stringa nelle strutture per indicare le dimensioni di una stringa quando viene scritta su disco.

Modalità binaria

Per i file aperti in Binary modalità, la maggior parte delle regole della Random modalità si applica, con alcune eccezioni. Le regole seguenti per i file aperti in Binary modalità differiscono dalle regole per Random la modalità:

  • La RecordLength clausola nella FileOpen funzione non ha alcun effetto. FileGet legge tutte le variabili dal disco in modo contiguo; vale a dire, senza spaziatura interna tra record.

  • Per qualsiasi matrice diversa da una matrice in una struttura, FileGet legge solo i dati. Non viene letto alcun descrittore.

  • FileGet legge stringhe a lunghezza variabile che non sono elementi di strutture senza aspettarsi il descrittore di lunghezza a due byte. Il numero di byte letti è uguale al numero di caratteri già presenti nella stringa.

    Importante

    La lettura da un file tramite la FileGet funzione richiede Read l'accesso dall'enumerazione FileIOPermissionAccess .

Vedi anche

Si applica a

FileGet(Int32, Int64, Int64)

Source:
FileSystem.vb
Source:
FileSystem.vb
Source:
FileSystem.vb

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

public static void FileGet (int FileNumber, ref long Value, long RecordNumber = -1);
static member FileGet : int * int64 * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As Long, Optional RecordNumber As Long = -1)

Parametri

FileNumber
Int32

Obbligatorio. Qualsiasi numero di file valido.

Value
Int64

Obbligatorio. Nome valido della variabile in cui vengono letti i dati.

RecordNumber
Int64

facoltativo. Numero di record (file in modalità Random) o numero di byte (file in modalità Binary) in corrispondenza del quale viene avviata la lettura.

Eccezioni

RecordNumber< 1 e diverso da -1.

La modalità File non è valida.

Commenti

FileGet è valido solo in Random modalità e Binary .

I dati letti con FileGet vengono in genere scritti in un file usando FilePut.

Il primo record o byte in un file si trova nella posizione 1, il secondo record o byte si trova nella posizione 2 e così via. Se si omette RecordNumber, viene letto il record o il byte successivo all'ultima FileGet funzione o FilePut a cui punta l'ultima Seek funzione.

Importante

Durante la lettura dai file, non prendere decisioni sul contenuto di un file in base all'estensione del nome file. Ad esempio, un file denominato Form1.vb potrebbe non essere un file di origine di Visual Basic.

Modalità casuale

Per i file aperti in Random modalità, si applicano le regole seguenti:

  • Se la lunghezza dei dati letti è minore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, FileGet legge i record successivi sui limiti di lunghezza record. Lo spazio tra la fine di un record e l'inizio del record successivo viene riempito con il contenuto esistente del buffer del file. Poiché la quantità di dati di spaziatura interna non può essere determinata con certezza, è in genere consigliabile che la lunghezza del record corrisponda alla lunghezza dei dati letti.

  • Per impostazione predefinita, se la variabile in lettura è una stringa, FileGet legge un descrittore a due byte che contiene la lunghezza della stringa e quindi legge i dati che passano alla variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola della FileOpen funzione deve essere di almeno due byte maggiore della lunghezza effettiva della stringa. Visual Basic 6.0 e versioni precedenti supportano stringhe a lunghezza fissa; quando viene inserito in un file, il descrittore di lunghezza non viene scritto. Se si vuole leggere una stringa senza il descrittore, è necessario passare True al StringIsFixedLength parametro e la stringa in cui si legge deve essere la lunghezza corretta.

  • Se la variabile in lettura è una matrice, è possibile scegliere se leggere un descrittore per le dimensioni e la dimensione della matrice. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si legge la matrice, è necessario trovare la corrispondenza con la modalità di scrittura della matrice. Se è stato scritto con il descrittore, è necessario leggere il descrittore. Se il descrittore non viene usato, le dimensioni e i limiti della matrice passati determinano FileGet cosa leggere.

    Il descrittore specifica il rango della matrice, le dimensioni e i limiti inferiori per ogni rango. La lunghezza è uguale a 2 più 8 volte il numero di dimensioni: (2 + 8 * NumberOfDimensions). La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere maggiore o uguale alla somma di tutti i byte necessari per scrivere i dati della matrice e il descrittore di matrice. Ad esempio, la dichiarazione di matrice seguente richiede 218 byte quando la matrice viene scritta su disco.

    Dim MyArray(4, 9) As Integer
    

    I 218 byte vengono distribuiti nel modo seguente:

    • 18 byte per il descrittore: (2 + 8 * 2)

    • 200 byte per i dati: (5 * 10 * 4).

  • Se la variabile in lettura è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FileGet legge solo i dati della variabile. La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla lunghezza dei dati letti.

  • FileGet legge gli elementi delle strutture come se ognuno fosse letto singolarmente, ad eccezione del fatto che non esiste una spaziatura interna tra gli elementi. Su disco, una matrice dinamica in un tipo definito dall'utente (scritta con FilePut) è preceduta da un descrittore la cui lunghezza è uguale a 2 più 8 volte il numero di dimensioni: (2 + 8 * NumberOfDimensions). La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla somma di tutti i byte necessari per leggere i singoli elementi. Sono incluse le matrici e i relativi descrittori. L'attributo VBFixedString può essere applicato ai campi stringa nelle strutture per indicare le dimensioni di una stringa quando viene scritta su disco.

Modalità binaria

Per i file aperti in Binary modalità, la maggior parte delle regole della Random modalità si applica, con alcune eccezioni. Le regole seguenti per i file aperti in Binary modalità differiscono dalle regole per Random la modalità:

  • La RecordLength clausola nella FileOpen funzione non ha alcun effetto. FileGet legge tutte le variabili dal disco in modo contiguo; vale a dire, senza spaziatura interna tra record.

  • Per qualsiasi matrice diversa da una matrice in una struttura, FileGet legge solo i dati. Non viene letto alcun descrittore.

  • FileGet legge stringhe a lunghezza variabile che non sono elementi di strutture senza aspettarsi il descrittore di lunghezza a due byte. Il numero di byte letti è uguale al numero di caratteri già presenti nella stringa.

    Importante

    La lettura da un file tramite la FileGet funzione richiede Read l'accesso dall'enumerazione FileIOPermissionAccess .

Vedi anche

Si applica a

FileGet(Int32, Int32, Int64)

Source:
FileSystem.vb
Source:
FileSystem.vb
Source:
FileSystem.vb

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

public static void FileGet (int FileNumber, ref int Value, long RecordNumber = -1);
static member FileGet : int * int * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As Integer, Optional RecordNumber As Long = -1)

Parametri

FileNumber
Int32

Obbligatorio. Qualsiasi numero di file valido.

Value
Int32

Obbligatorio. Nome valido della variabile in cui vengono letti i dati.

RecordNumber
Int64

facoltativo. Numero di record (file in modalità Random) o numero di byte (file in modalità Binary) in corrispondenza del quale viene avviata la lettura.

Eccezioni

RecordNumber< 1 e diverso da -1.

La modalità File non è valida.

Commenti

FileGet è valido solo in Random modalità e Binary .

I dati letti con FileGet vengono in genere scritti in un file usando FilePut.

Il primo record o byte in un file è in posizione 1, il secondo record o byte è in posizione 2 e così via. Se si omette RecordNumber, il record o il byte successivo che segue l'ultima o FilePut funzione (o puntata all'ultima FileGetSeek funzione) viene letto.

Importante

Quando si legge da file, non prendere decisioni sul contenuto di un file in base all'estensione del nome file. Ad esempio, un file denominato Form1.vb potrebbe non essere un file di origine di Visual Basic.

Modalità casuale

Per i file aperti in Random modalità, si applicano le regole seguenti:

  • Se la lunghezza dei dati letti è minore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, FileGet legge i record successivi sui limiti di lunghezza record. Lo spazio compreso tra la fine di un record e l'inizio del record successivo viene riempito con il contenuto esistente del buffer di file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile avere la lunghezza del record corrispondente alla lunghezza dei dati letti.

  • Per impostazione predefinita, se la variabile in lettura è una stringa, FileGet legge un descrittore a due byte che contiene la lunghezza della stringa e quindi legge i dati che passano alla variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola della FileOpen funzione deve essere almeno due byte maggiore della lunghezza effettiva della stringa. Visual Basic 6.0 e versioni precedenti supportano stringhe a lunghezza fissa; quando viene inserito in un file, il descrittore di lunghezza non viene scritto. Se si vuole leggere una stringa senza il descrittore, è necessario passare True al StringIsFixedLength parametro e la stringa in cui si legge deve essere la lunghezza corretta.

  • Se la variabile in lettura è una matrice, è possibile scegliere se leggere un descrittore per le dimensioni e la dimensione della matrice. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si legge la matrice, è necessario corrispondere al modo in cui è stata scritta la matrice. Se è stato scritto con il descrittore, è necessario leggere il descrittore. Se il descrittore non viene usato, le dimensioni e i limiti della matrice passati determinano FileGet cosa leggere.

    Il descrittore specifica il rango della matrice, le dimensioni e i limiti inferiori per ogni rango. La lunghezza è uguale a 2 più 8 volte il numero di dimensioni: (2 + 8 * NumberOfDimensions). La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere maggiore o uguale alla somma di tutti i byte necessari per scrivere i dati della matrice e il descrittore della matrice. Ad esempio, la dichiarazione di matrice seguente richiede 218 byte quando la matrice viene scritta su disco.

    Dim MyArray(4, 9) As Integer
    

    I 218 byte vengono distribuiti come segue:

    • 18 byte per il descrittore: (2 + 8 * 2)

    • 200 byte per i dati: (5 * 10 * 4).

  • Se la variabile in lettura è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FileGet legge solo i dati delle variabili. La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla lunghezza dei dati letti.

  • FileGet legge elementi di strutture come se ognuno fosse letto singolarmente, ad eccezione del fatto che non vi è alcuna spaziatura interna tra gli elementi. Su disco, una matrice dinamica in un tipo definito dall'utente (scritta con FilePut) è preceduta da un descrittore la cui lunghezza è uguale a 2 più 8 volte il numero di dimensioni: (2 + 8 * NumberOfDimensions). La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla somma di tutti i byte necessari per leggere i singoli elementi. Sono incluse le matrici e i relativi descrittori. L'attributo VBFixedString può essere applicato ai campi stringa nelle strutture per indicare le dimensioni di una stringa quando viene scritta su disco.

Modalità binaria

Per i file aperti in Binary modalità, la maggior parte delle regole di Random modalità si applica, con alcune eccezioni. Le regole seguenti per i file aperti in Binary modalità differiscono dalle regole per Random la modalità:

  • La RecordLength clausola nella FileOpen funzione non ha alcun effetto. FileGet legge tutte le variabili dal disco in modo contiguo; ovvero, senza spaziatura interna tra i record.

  • Per qualsiasi matrice diversa da una matrice in una struttura, FileGet legge solo i dati. Non viene letto alcun descrittore.

  • FileGet legge stringhe a lunghezza variabile che non sono elementi di strutture senza aspettarsi il descrittore di lunghezza a due byte. Il numero di byte letti equivale al numero di caratteri già nella stringa.

    Importante

    La lettura da un file usando la FileGet funzione richiede Read l'accesso dall'enumerazione FileIOPermissionAccess .

Vedi anche

Si applica a

FileGet(Int32, Decimal, Int64)

Source:
FileSystem.vb
Source:
FileSystem.vb
Source:
FileSystem.vb

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

public static void FileGet (int FileNumber, ref decimal Value, long RecordNumber = -1);
static member FileGet : int * decimal * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As Decimal, Optional RecordNumber As Long = -1)

Parametri

FileNumber
Int32

Obbligatorio. Qualsiasi numero di file valido.

Value
Decimal

Obbligatorio. Nome valido della variabile in cui vengono letti i dati.

RecordNumber
Int64

facoltativo. Numero di record (file in modalità Random) o numero di byte (file in modalità Binary) in corrispondenza del quale viene avviata la lettura.

Eccezioni

RecordNumber< 1 e diverso da -1.

La modalità File non è valida.

Commenti

FileGet è valido solo in Random e Binary modalità.

I dati letti con FileGet vengono in genere scritti in un file usando FilePut.

Il primo record o byte in un file è in posizione 1, il secondo record o byte è in posizione 2 e così via. Se si omette RecordNumber, il record o il byte successivo che segue l'ultima o FilePut funzione (o puntata all'ultima FileGetSeek funzione) viene letto.

Importante

Quando si legge da file, non prendere decisioni sul contenuto di un file in base all'estensione del nome file. Ad esempio, un file denominato Form1.vb potrebbe non essere un file di origine di Visual Basic.

Modalità casuale

Per i file aperti in Random modalità, si applicano le regole seguenti:

  • Se la lunghezza dei dati letti è minore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, FileGet legge i record successivi sui limiti di lunghezza record. Lo spazio compreso tra la fine di un record e l'inizio del record successivo viene riempito con il contenuto esistente del buffer di file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile avere la lunghezza del record corrispondente alla lunghezza dei dati letti.

  • Per impostazione predefinita, se la variabile in lettura è una stringa, FileGet legge un descrittore a due byte che contiene la lunghezza della stringa e quindi legge i dati che passano alla variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola della FileOpen funzione deve essere almeno due byte maggiore della lunghezza effettiva della stringa. Visual Basic 6.0 e versioni precedenti supportano stringhe a lunghezza fissa; quando viene inserito in un file, il descrittore di lunghezza non viene scritto. Se si vuole leggere una stringa senza il descrittore, è necessario passare True al StringIsFixedLength parametro e la stringa in cui si legge deve essere la lunghezza corretta.

  • Se la variabile in lettura è una matrice, è possibile scegliere se leggere un descrittore per le dimensioni e la dimensione della matrice. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si legge la matrice, è necessario corrispondere al modo in cui è stata scritta la matrice. Se è stato scritto con il descrittore, è necessario leggere il descrittore. Se il descrittore non viene usato, le dimensioni e i limiti della matrice passati determinano FileGet cosa leggere.

    Il descrittore specifica il rango della matrice, le dimensioni e i limiti inferiori per ogni rango. La lunghezza è uguale a 2 più 8 volte il numero di dimensioni: (2 + 8 * NumberOfDimensions). La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere maggiore o uguale alla somma di tutti i byte necessari per scrivere i dati della matrice e il descrittore della matrice. Ad esempio, la dichiarazione di matrice seguente richiede 218 byte quando la matrice viene scritta su disco.

    Dim MyArray(4, 9) As Integer
    

    I 218 byte vengono distribuiti come segue:

    • 18 byte per il descrittore: (2 + 8 * 2)

    • 200 byte per i dati: (5 * 10 * 4).

  • Se la variabile in lettura è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FileGet legge solo i dati delle variabili. La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla lunghezza dei dati letti.

  • FileGet legge elementi di strutture come se ognuno fosse letto singolarmente, ad eccezione del fatto che non vi è alcuna spaziatura interna tra gli elementi. Su disco, una matrice dinamica in un tipo definito dall'utente (scritta con FilePut) è preceduta da un descrittore la cui lunghezza è uguale a 2 più 8 volte il numero di dimensioni: (2 + 8 * NumberOfDimensions). La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla somma di tutti i byte necessari per leggere i singoli elementi. Sono incluse le matrici e i relativi descrittori. L'attributo VBFixedString può essere applicato ai campi stringa nelle strutture per indicare le dimensioni di una stringa quando viene scritta su disco.

Modalità binaria

Per i file aperti in Binary modalità, la maggior parte delle regole di Random modalità si applica, con alcune eccezioni. Le regole seguenti per i file aperti in Binary modalità differiscono dalle regole per Random la modalità:

  • La RecordLength clausola nella FileOpen funzione non ha alcun effetto. FileGet legge tutte le variabili dal disco in modo contiguo; ovvero, senza spaziatura interna tra i record.

  • Per qualsiasi matrice diversa da una matrice in una struttura, FileGet legge solo i dati. Non viene letto alcun descrittore.

  • FileGet legge stringhe a lunghezza variabile che non sono elementi di strutture senza aspettarsi il descrittore di lunghezza a due byte. Il numero di byte letti è uguale al numero di caratteri già presenti nella stringa.

    Importante

    La lettura da un file tramite la FileGet funzione richiede Read l'accesso dall'enumerazione FileIOPermissionAccess .

Vedi anche

Si applica a

FileGet(Int32, Double, Int64)

Source:
FileSystem.vb
Source:
FileSystem.vb
Source:
FileSystem.vb

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

public static void FileGet (int FileNumber, ref double Value, long RecordNumber = -1);
static member FileGet : int * double * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As Double, Optional RecordNumber As Long = -1)

Parametri

FileNumber
Int32

Obbligatorio. Qualsiasi numero di file valido.

Value
Double

Obbligatorio. Nome valido della variabile in cui vengono letti i dati.

RecordNumber
Int64

facoltativo. Numero di record (file in modalità Random) o numero di byte (file in modalità Binary) in corrispondenza del quale viene avviata la lettura.

Eccezioni

RecordNumber< 1 e diverso da -1.

La modalità File non è valida.

Commenti

FileGet è valido solo in Random modalità e Binary .

I dati letti con FileGet vengono in genere scritti in un file usando FilePut.

Il primo record o byte in un file si trova nella posizione 1, il secondo record o byte si trova nella posizione 2 e così via. Se si omette RecordNumber, viene letto il record o il byte successivo all'ultima FileGet funzione o FilePut a cui punta l'ultima Seek funzione.

Importante

Durante la lettura dai file, non prendere decisioni sul contenuto di un file in base all'estensione del nome file. Ad esempio, un file denominato Form1.vb potrebbe non essere un file di origine di Visual Basic.

Modalità casuale

Per i file aperti in Random modalità, si applicano le regole seguenti:

  • Se la lunghezza dei dati letti è minore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, FileGet legge i record successivi sui limiti di lunghezza record. Lo spazio tra la fine di un record e l'inizio del record successivo viene riempito con il contenuto esistente del buffer del file. Poiché la quantità di dati di spaziatura interna non può essere determinata con certezza, è in genere consigliabile che la lunghezza del record corrisponda alla lunghezza dei dati letti.

  • Per impostazione predefinita, se la variabile in lettura è una stringa, FileGet legge un descrittore a due byte che contiene la lunghezza della stringa e quindi legge i dati che passano alla variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola della FileOpen funzione deve essere di almeno due byte maggiore della lunghezza effettiva della stringa. Visual Basic 6.0 e versioni precedenti supportano stringhe a lunghezza fissa; quando viene inserito in un file, il descrittore di lunghezza non viene scritto. Se si vuole leggere una stringa senza il descrittore, è necessario passare True al StringIsFixedLength parametro e la stringa in cui si legge deve essere la lunghezza corretta.

  • Se la variabile in lettura è una matrice, è possibile scegliere se leggere un descrittore per le dimensioni e la dimensione della matrice. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si legge la matrice, è necessario trovare la corrispondenza con la modalità di scrittura della matrice. Se è stato scritto con il descrittore, è necessario leggere il descrittore. Se il descrittore non viene usato, le dimensioni e i limiti della matrice passati determinano FileGet cosa leggere.

    Il descrittore specifica il rango della matrice, le dimensioni e i limiti inferiori per ogni rango. La lunghezza è uguale a 2 più 8 volte il numero di dimensioni: (2 + 8 * NumberOfDimensions). La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere maggiore o uguale alla somma di tutti i byte necessari per scrivere i dati della matrice e il descrittore di matrice. Ad esempio, la dichiarazione di matrice seguente richiede 218 byte quando la matrice viene scritta su disco.

    Dim MyArray(4, 9) As Integer
    

    I 218 byte vengono distribuiti nel modo seguente:

    • 18 byte per il descrittore: (2 + 8 * 2)

    • 200 byte per i dati: (5 * 10 * 4).

  • Se la variabile in lettura è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FileGet legge solo i dati della variabile. La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla lunghezza dei dati letti.

  • FileGet legge gli elementi delle strutture come se ognuno fosse letto singolarmente, ad eccezione del fatto che non esiste una spaziatura interna tra gli elementi. Su disco, una matrice dinamica in un tipo definito dall'utente (scritta con FilePut) è preceduta da un descrittore la cui lunghezza è uguale a 2 più 8 volte il numero di dimensioni: (2 + 8 * NumberOfDimensions). La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla somma di tutti i byte necessari per leggere i singoli elementi. Sono incluse le matrici e i relativi descrittori. L'attributo VBFixedString può essere applicato ai campi stringa nelle strutture per indicare le dimensioni di una stringa quando viene scritta su disco.

Modalità binaria

Per i file aperti in Binary modalità, la maggior parte delle regole della Random modalità si applica, con alcune eccezioni. Le regole seguenti per i file aperti in Binary modalità differiscono dalle regole per Random la modalità:

  • La RecordLength clausola nella FileOpen funzione non ha alcun effetto. FileGet legge tutte le variabili dal disco in modo contiguo; vale a dire, senza spaziatura interna tra record.

  • Per qualsiasi matrice diversa da una matrice in una struttura, FileGet legge solo i dati. Non viene letto alcun descrittore.

  • FileGet legge stringhe a lunghezza variabile che non sono elementi di strutture senza aspettarsi il descrittore di lunghezza a due byte. Il numero di byte letti è uguale al numero di caratteri già presenti nella stringa.

    Importante

    La lettura da un file tramite laFileGet funzione richiede Read l'accesso dall'enumerazione FileIOPermissionAccess .

Vedi anche

Si applica a

FileGet(Int32, DateTime, Int64)

Source:
FileSystem.vb
Source:
FileSystem.vb
Source:
FileSystem.vb

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

public static void FileGet (int FileNumber, ref DateTime Value, long RecordNumber = -1);
static member FileGet : int * DateTime * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As DateTime, Optional RecordNumber As Long = -1)

Parametri

FileNumber
Int32

Obbligatorio. Qualsiasi numero di file valido.

Value
DateTime

Obbligatorio. Nome valido della variabile in cui vengono letti i dati.

RecordNumber
Int64

facoltativo. Numero di record (file in modalità Random) o numero di byte (file in modalità Binary) in corrispondenza del quale viene avviata la lettura.

Eccezioni

RecordNumber< 1 e diverso da -1.

La modalità File non è valida.

Commenti

FileGet è valido solo in Random modalità e Binary .

I dati letti con FileGet vengono in genere scritti in un file con FilePut.

Il primo record o byte in un file si trova nella posizione 1, il secondo record o byte si trova nella posizione 2 e così via. Se si omette RecordNumber, viene letto il record o il byte successivo all'ultima FileGet funzione o FilePut a cui punta l'ultima Seek funzione.

Importante

Durante la lettura dai file, non prendere decisioni sul contenuto di un file in base all'estensione del nome file. Ad esempio, un file denominato Form1.vb potrebbe non essere un file di origine di Visual Basic.

Modalità casuale

Per i file aperti in Random modalità, si applicano le regole seguenti:

  • Se la lunghezza dei dati letti è minore della lunghezza specificata nella RecordLength clausola della FileOpen funzione,FileGet legge i record successivi sui limiti di lunghezza record. Lo spazio tra la fine di un record e l'inizio del record successivo viene riempito con il contenuto esistente del buffer del file. Poiché la quantità di dati di spaziatura interna non può essere determinata con certezza, è in genere consigliabile che la lunghezza del record corrisponda alla lunghezza dei dati letti.

  • Per impostazione predefinita, se la variabile in lettura è una stringa, FileGet legge un descrittore a due byte che contiene la lunghezza della stringa e quindi legge i dati che passano alla variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola della FileOpen funzione deve essere di almeno due byte maggiore della lunghezza effettiva della stringa. Visual Basic 6.0 e versioni precedenti supportano stringhe a lunghezza fissa; quando viene inserito in un file, il descrittore di lunghezza non viene scritto. Se si vuole leggere una stringa senza il descrittore, è necessario passare True al StringIsFixedLength parametro e la stringa in cui si legge deve essere la lunghezza corretta.

  • Se la variabile in lettura è una matrice, è possibile scegliere se leggere un descrittore per le dimensioni e la dimensione della matrice. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si legge la matrice, è necessario trovare la corrispondenza con la modalità di scrittura della matrice. Se è stato scritto con il descrittore, è necessario leggere il descrittore. Se il descrittore non viene usato, le dimensioni e i limiti della matrice passati determinano FileGet cosa leggere.

    Il descrittore specifica il rango della matrice, le dimensioni e i limiti inferiori per ogni rango. La lunghezza è uguale a 2 più 8 volte il numero di dimensioni: (2 + 8 * NumberOfDimensions). La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere maggiore o uguale alla somma di tutti i byte necessari per scrivere i dati della matrice e il descrittore di matrice. Ad esempio, la dichiarazione di matrice seguente richiede 218 byte quando la matrice viene scritta su disco.

    Dim MyArray(4, 9) As Integer
    

    I 218 byte vengono distribuiti nel modo seguente:

    • 18 byte per il descrittore: (2 + 8 * 2)

    • 200 byte per i dati: (5 * 10 * 4).

  • Se la variabile in lettura è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FileGet legge solo i dati della variabile. La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla lunghezza dei dati letti.

  • FileGet legge gli elementi delle strutture come se ognuno fosse letto singolarmente, ad eccezione del fatto che non esiste una spaziatura interna tra gli elementi. Su disco, una matrice dinamica in un tipo definito dall'utente (scritta con FilePut) è preceduta da un descrittore la cui lunghezza è uguale a 2 più 8 volte il numero di dimensioni: (2 + 8 * NumberOfDimensions). La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla somma di tutti i byte necessari per leggere i singoli elementi. Sono incluse le matrici e i relativi descrittori. L'attributo VBFixedString può essere applicato ai campi stringa nelle strutture per indicare le dimensioni di una stringa quando viene scritta su disco.

Modalità binaria

Per i file aperti in Binary modalità, la maggior parte delle regole della Random modalità si applica, con alcune eccezioni. Le regole seguenti per i file aperti in Binary modalità differiscono dalle regole per Random la modalità:

  • La RecordLength clausola nella FileOpen funzione non ha alcun effetto. FileGet legge tutte le variabili dal disco in modo contiguo; vale a dire, senza spaziatura interna tra record.

  • Per qualsiasi matrice diversa da una matrice in una struttura, FileGet legge solo i dati. Non viene letto alcun descrittore.

  • FileGet legge stringhe a lunghezza variabile che non sono elementi di strutture senza aspettarsi il descrittore di lunghezza a due byte. Il numero di byte letti è uguale al numero di caratteri già presenti nella stringa.

    Importante

    La lettura da un file tramite la FileGet funzione richiede Read l'accesso dall'enumerazione FileIOPermissionAccess .

Vedi anche

Si applica a

FileGet(Int32, Char, Int64)

Source:
FileSystem.vb
Source:
FileSystem.vb
Source:
FileSystem.vb

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

public static void FileGet (int FileNumber, ref char Value, long RecordNumber = -1);
static member FileGet : int * char * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As Char, Optional RecordNumber As Long = -1)

Parametri

FileNumber
Int32

Obbligatorio. Qualsiasi numero di file valido.

Value
Char

Obbligatorio. Nome valido della variabile in cui vengono letti i dati.

RecordNumber
Int64

facoltativo. Numero di record (file in modalità Random) o numero di byte (file in modalità Binary) in corrispondenza del quale viene avviata la lettura.

Eccezioni

RecordNumber< 1 e diverso da -1.

La modalità File non è valida.

Commenti

FileGet è valido solo in Random modalità e Binary .

I dati letti con FileGet vengono in genere scritti in un file con FilePut.

Il primo record o byte in un file si trova nella posizione 1, il secondo record o byte si trova nella posizione 2 e così via. Se si omette RecordNumber, viene letto il record o il byte successivo all'ultima FileGet funzione o FilePut a cui punta l'ultima Seek funzione.

Importante

Durante la lettura dai file, non prendere decisioni sul contenuto di un file in base all'estensione del nome file. Ad esempio, un file denominato Form1.vb potrebbe non essere un file di origine di Visual Basic.

Modalità casuale

Per i file aperti in Random modalità, si applicano le regole seguenti:

  • Se la lunghezza dei dati letti è minore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, FileGet legge i record successivi sui limiti di lunghezza record. Lo spazio tra la fine di un record e l'inizio del record successivo viene riempito con il contenuto esistente del buffer del file. Poiché la quantità di dati di spaziatura interna non può essere determinata con certezza, è in genere consigliabile che la lunghezza del record corrisponda alla lunghezza dei dati letti.

  • Per impostazione predefinita, se la variabile in lettura è una stringa, FileGet legge un descrittore a due byte che contiene la lunghezza della stringa e quindi legge i dati che passano alla variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola della FileOpen funzione deve essere di almeno due byte maggiore della lunghezza effettiva della stringa. Visual Basic 6.0 e versioni precedenti supportano stringhe a lunghezza fissa; quando viene inserito in un file, il descrittore di lunghezza non viene scritto. Se si vuole leggere una stringa senza il descrittore, è necessario passare True al StringIsFixedLength parametro e la stringa in cui si legge deve essere la lunghezza corretta.

  • Se la variabile in lettura è una matrice, è possibile scegliere se leggere un descrittore per le dimensioni e la dimensione della matrice. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si legge la matrice, è necessario trovare la corrispondenza con la modalità di scrittura della matrice. Se è stato scritto con il descrittore, è necessario leggere il descrittore. Se il descrittore non viene usato, le dimensioni e i limiti della matrice passati determinano FileGet cosa leggere.

    Il descrittore specifica il rango della matrice, le dimensioni e i limiti inferiori per ogni rango. La lunghezza è uguale a 2 più 8 volte il numero di dimensioni: (2 + 8 * NumberOfDimensions). La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere maggiore o uguale alla somma di tutti i byte necessari per scrivere i dati della matrice e il descrittore di matrice. Ad esempio, la dichiarazione di matrice seguente richiede 218 byte quando la matrice viene scritta su disco.

    Dim MyArray(4, 9) As Integer
    

    I 218 byte vengono distribuiti nel modo seguente:

    • 18 byte per il descrittore: (2 + 8 * 2)

    • 200 byte per i dati: (5 * 10 * 4).

  • Se la variabile in lettura è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FileGet legge solo i dati della variabile. La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla lunghezza dei dati letti.

  • FileGet legge gli elementi delle strutture come se ognuno fosse letto singolarmente, ad eccezione del fatto che non esiste una spaziatura interna tra gli elementi. Su disco, una matrice dinamica in un tipo definito dall'utente (scritta con FilePut) è preceduta da un descrittore la cui lunghezza è uguale a 2 più 8 volte il numero di dimensioni: (2 + 8 * NumberOfDimensions). La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla somma di tutti i byte necessari per leggere i singoli elementi. Sono incluse le matrici e i relativi descrittori. L'attributo VBFixedString può essere applicato ai campi stringa nelle strutture per indicare le dimensioni di una stringa quando viene scritta su disco.

Modalità binaria

Per i file aperti in Binary modalità, la maggior parte delle regole della Random modalità si applica, con alcune eccezioni. Le regole seguenti per i file aperti in Binary modalità differiscono dalle regole per Random la modalità:

  • La RecordLength clausola nella FileOpen funzione non ha alcun effetto. FileGet legge tutte le variabili dal disco in modo contiguo; vale a dire, senza spaziatura interna tra record.

  • Per qualsiasi matrice diversa da una matrice in una struttura, FileGet legge solo i dati. Non viene letto alcun descrittore.

  • FileGet legge stringhe a lunghezza variabile che non sono elementi di strutture senza aspettarsi il descrittore di lunghezza a due byte. Il numero di byte letti è uguale al numero di caratteri già presenti nella stringa.

    Importante

    La lettura da un file tramite la FileGet funzione richiede Read l'accesso dall'enumerazione FileIOPermissionAccess .

Vedi anche

Si applica a

FileGet(Int32, Byte, Int64)

Source:
FileSystem.vb
Source:
FileSystem.vb
Source:
FileSystem.vb

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

public static void FileGet (int FileNumber, ref byte Value, long RecordNumber = -1);
static member FileGet : int * byte * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As Byte, Optional RecordNumber As Long = -1)

Parametri

FileNumber
Int32

Obbligatorio. Qualsiasi numero di file valido.

Value
Byte

Obbligatorio. Nome valido della variabile in cui vengono letti i dati.

RecordNumber
Int64

facoltativo. Numero di record (file in modalità Random) o numero di byte (file in modalità Binary) in corrispondenza del quale viene avviata la lettura.

Eccezioni

RecordNumber< 1 e diverso da -1.

La modalità File non è valida.

Commenti

FileGet è valido solo in Random modalità e Binary .

I dati letti con FileGet vengono in genere scritti in un file con FilePut.

Il primo record o byte in un file si trova nella posizione 1, il secondo record o byte si trova nella posizione 2 e così via. Se si omette RecordNumber, viene letto il record o il byte successivo all'ultima FileGet funzione o FilePut a cui punta l'ultima Seek funzione.

Importante

Durante la lettura dai file, non prendere decisioni sul contenuto di un file in base all'estensione del nome file. Ad esempio, un file denominato Form1.vb potrebbe non essere un file di origine di Visual Basic.

Modalità casuale

Per i file aperti in Random modalità, si applicano le regole seguenti:

  • Se la lunghezza dei dati letti è minore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, FileGet legge i record successivi sui limiti di lunghezza record. Lo spazio compreso tra la fine di un record e l'inizio del record successivo viene riempito con il contenuto esistente del buffer di file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile avere la lunghezza del record corrispondente alla lunghezza dei dati letti.

  • Per impostazione predefinita, se la variabile in lettura è una stringa, FileGet legge un descrittore a due byte che contiene la lunghezza della stringa e quindi legge i dati che passano alla variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola della FileOpen funzione deve essere almeno due byte maggiore della lunghezza effettiva della stringa. Visual Basic 6.0 e versioni precedenti supportano stringhe a lunghezza fissa; quando viene inserito in un file, il descrittore di lunghezza non viene scritto. Se si vuole leggere una stringa senza il descrittore, è necessario passare True al StringIsFixedLength parametro e la stringa in cui si legge deve essere la lunghezza corretta.

  • Se la variabile in lettura è una matrice, è possibile scegliere se leggere un descrittore per le dimensioni e la dimensione della matrice. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si legge la matrice, è necessario corrispondere al modo in cui è stata scritta la matrice. Se è stato scritto con il descrittore, è necessario leggere il descrittore. Se il descrittore non viene usato. Quindi le dimensioni e i limiti della matrice passati per FileGet determinare cosa leggere.

    Il descrittore specifica il rango della matrice, le dimensioni e i limiti inferiori per ogni rango. La lunghezza è uguale a 2 più 8 volte il numero di dimensioni: (2 + 8 * NumberOfDimensions). La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere maggiore o uguale alla somma di tutti i byte necessari per scrivere i dati della matrice e il descrittore della matrice. Ad esempio, la dichiarazione di matrice seguente richiede 218 byte quando la matrice viene scritta su disco.

    Dim MyArray(4, 9) As Integer
    

    I 218 byte vengono distribuiti come segue:

    • 18 byte per il descrittore: (2 + 8 * 2)

    • 200 byte per i dati: (5 * 10 * 4).

  • Se la variabile in lettura è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FileGet legge solo i dati delle variabili. La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla lunghezza dei dati letti.

  • FileGet legge elementi di strutture come se ognuno fosse letto singolarmente, ad eccezione del fatto che non vi è alcuna spaziatura interna tra gli elementi. Su disco, una matrice dinamica in un tipo definito dall'utente (scritta con FilePut) è preceduta da un descrittore la cui lunghezza è uguale a 2 più 8 volte il numero di dimensioni: (2 + 8 * NumberOfDimensions). La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla somma di tutti i byte necessari per leggere i singoli elementi. Sono incluse le matrici e i relativi descrittori. L'attributo VBFixedString può essere applicato ai campi stringa nelle strutture per indicare le dimensioni di una stringa quando viene scritta su disco.

Modalità binaria

Per i file aperti in Binary modalità, la maggior parte delle regole di Random modalità si applica, con alcune eccezioni. Le regole seguenti per i file aperti in Binary modalità differiscono dalle regole per Random la modalità:

  • La RecordLength clausola nella FileOpen funzione non ha alcun effetto. FileGet legge tutte le variabili dal disco in modo contiguo; ovvero, senza spaziatura interna tra i record.

  • Per qualsiasi matrice diversa da una matrice in una struttura, FileGet legge solo i dati. Non viene letto alcun descrittore.

  • FileGet legge stringhe a lunghezza variabile che non sono elementi di strutture senza aspettarsi il descrittore di lunghezza a due byte. Il numero di byte letti equivale al numero di caratteri già nella stringa.

    Importante

    La lettura da un file usando la FileGet funzione richiede Read l'accesso dall'enumerazione FileIOPermissionAccess .

Vedi anche

Si applica a

FileGet(Int32, Boolean, Int64)

Source:
FileSystem.vb
Source:
FileSystem.vb
Source:
FileSystem.vb

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

public static void FileGet (int FileNumber, ref bool Value, long RecordNumber = -1);
static member FileGet : int * bool * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As Boolean, Optional RecordNumber As Long = -1)

Parametri

FileNumber
Int32

Obbligatorio. Qualsiasi numero di file valido.

Value
Boolean

Obbligatorio. Nome valido della variabile in cui vengono letti i dati.

RecordNumber
Int64

facoltativo. Numero di record (file in modalità Random) o numero di byte (file in modalità Binary) in corrispondenza del quale viene avviata la lettura.

Eccezioni

RecordNumber< 1 e diverso da -1.

La modalità File non è valida.

Commenti

FileGet è valido solo in Random e Binary modalità.

I dati letti con FileGet vengono in genere scritti in un file con FilePut.

Il primo record o byte in un file è in posizione 1, il secondo record o byte è in posizione 2 e così via. Se si omette RecordNumber, il record o il byte successivo che segue l'ultima o FilePut funzione (o puntata all'ultima FileGetSeek funzione) viene letto.

Importante

Quando si legge da file, non prendere decisioni sul contenuto di un file in base all'estensione del nome file. Ad esempio, un file denominato Form1.vb potrebbe non essere un file di origine di Visual Basic.

Modalità casuale

Per i file aperti in Random modalità, si applicano le regole seguenti:

  • Se la lunghezza dei dati letti è minore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, FileGet legge i record successivi sui limiti di lunghezza record. Lo spazio compreso tra la fine di un record e l'inizio del record successivo viene riempito con il contenuto esistente del buffer di file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile avere la lunghezza del record corrispondente alla lunghezza dei dati letti.

  • Per impostazione predefinita, se la variabile in lettura è una stringa, FileGet legge un descrittore a due byte che contiene la lunghezza della stringa e quindi legge i dati che passano alla variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola della FileOpen funzione deve essere almeno due byte maggiore della lunghezza effettiva della stringa. Visual Basic 6.0 e versioni precedenti supportano stringhe a lunghezza fissa; quando viene inserito in un file, il descrittore di lunghezza non viene scritto. Se si vuole leggere una stringa senza il descrittore, è necessario passare True al StringIsFixedLength parametro e la stringa in cui si legge deve essere la lunghezza corretta.

  • Se la variabile in lettura è una matrice, è possibile scegliere se leggere un descrittore per le dimensioni e la dimensione della matrice. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si legge la matrice, è necessario corrispondere al modo in cui è stata scritta la matrice. Se è stato scritto con il descrittore, è necessario leggere il descrittore. Se il descrittore non viene usato, le dimensioni e i limiti della matrice passati determinano FileGet cosa leggere.

    Il descrittore specifica il rango della matrice, le dimensioni e i limiti inferiori per ogni rango. La lunghezza è uguale a 2 più 8 volte il numero di dimensioni: (2 + 8 * NumberOfDimensions). La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere maggiore o uguale alla somma di tutti i byte necessari per scrivere i dati della matrice e il descrittore della matrice. Ad esempio, la dichiarazione di matrice seguente richiede 218 byte quando la matrice viene scritta su disco.

    Dim MyArray(4, 9) As Integer
    

    I 218 byte vengono distribuiti come segue:

    • 18 byte per il descrittore: (2 + 8 * 2)

    • 200 byte per i dati: (5 * 10 * 4).

  • Se la variabile in lettura è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FileGet legge solo i dati delle variabili. La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla lunghezza dei dati letti.

  • FileGet legge elementi di strutture come se ognuno fosse letto singolarmente, ad eccezione del fatto che non vi è alcuna spaziatura interna tra gli elementi. Su disco, una matrice dinamica in un tipo definito dall'utente (scritta con FilePut) è preceduta da un descrittore la cui lunghezza è uguale a 2 più 8 volte il numero di dimensioni: (2 + 8 * NumberOfDimensions). La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla somma di tutti i byte necessari per leggere i singoli elementi. Sono incluse le matrici e i relativi descrittori. L'attributo VBFixedString può essere applicato ai campi stringa nelle strutture per indicare le dimensioni di una stringa quando viene scritta su disco.

Modalità binaria

Per i file aperti in Binary modalità, la maggior parte delle regole di Random modalità si applica, con alcune eccezioni. Le regole seguenti per i file aperti in Binary modalità differiscono dalle regole per Random la modalità:

  • La RecordLength clausola nella FileOpen funzione non ha alcun effetto. FileGet legge tutte le variabili dal disco in modo contiguo; ovvero, senza spaziatura interna tra i record.

  • Per qualsiasi matrice diversa da una matrice in una struttura, FileGet legge solo i dati. Non viene letto alcun descrittore.

  • FileGet legge stringhe a lunghezza variabile che non sono elementi di strutture senza aspettarsi il descrittore di lunghezza a due byte. Il numero di byte letti equivale al numero di caratteri già nella stringa.

    Importante

    La lettura da un file usando laFileGet funzione richiede Read l'accesso dall'enumerazione FileIOPermissionAccess .

Vedi anche

Si applica a

FileGet(Int32, Int16, Int64)

Source:
FileSystem.vb
Source:
FileSystem.vb
Source:
FileSystem.vb

Legge i dati in una variabile da un file aperto sul disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileGet. Per altre informazioni, vedere FileSystem.

public static void FileGet (int FileNumber, ref short Value, long RecordNumber = -1);
static member FileGet : int * int16 * int64 -> unit
Public Sub FileGet (FileNumber As Integer, ByRef Value As Short, Optional RecordNumber As Long = -1)

Parametri

FileNumber
Int32

Obbligatorio. Qualsiasi numero di file valido.

Value
Int16

Obbligatorio. Nome valido della variabile in cui vengono letti i dati.

RecordNumber
Int64

facoltativo. Numero di record (file in modalità Random) o numero di byte (file in modalità Binary) in corrispondenza del quale viene avviata la lettura.

Eccezioni

RecordNumber< 1 e diverso da -1.

La modalità File non è valida.

Commenti

FileGet è valido solo in Random modalità e Binary .

I dati letti con FileGet vengono in genere scritti in un file usando FilePut.

Il primo record o byte in un file si trova nella posizione 1, il secondo record o byte si trova nella posizione 2 e così via. Se si omette RecordNumber, viene letto il record o il byte successivo all'ultima FileGet funzione o FilePut a cui punta l'ultima Seek funzione.

Importante

Durante la lettura dai file, non prendere decisioni sul contenuto di un file in base all'estensione del nome file. Ad esempio, un file denominato Form1.vb potrebbe non essere un file di origine di Visual Basic.

Modalità casuale

Per i file aperti in Random modalità, si applicano le regole seguenti:

  • Se la lunghezza dei dati letti è minore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, FileGet legge i record successivi sui limiti di lunghezza record. Lo spazio tra la fine di un record e l'inizio del record successivo viene riempito con il contenuto esistente del buffer del file. Poiché la quantità di dati di spaziatura interna non può essere determinata con certezza, è in genere consigliabile che la lunghezza del record corrisponda alla lunghezza dei dati letti.

  • Per impostazione predefinita, se la variabile in lettura è una stringa, FileGet legge un descrittore a due byte che contiene la lunghezza della stringa e quindi legge i dati che passano alla variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola della FileOpen funzione deve essere di almeno due byte maggiore della lunghezza effettiva della stringa. Visual Basic 6.0 e versioni precedenti supportano stringhe a lunghezza fissa; quando viene inserito in un file, il descrittore di lunghezza non viene scritto. Se si vuole leggere una stringa senza il descrittore, è necessario passare True al StringIsFixedLength parametro e la stringa in cui si legge deve essere la lunghezza corretta.

  • Se la variabile in lettura è una matrice, è possibile scegliere se leggere un descrittore per le dimensioni e la dimensione della matrice. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si legge la matrice, è necessario trovare la corrispondenza con la modalità di scrittura della matrice. Se è stato scritto con il descrittore, è necessario leggere il descrittore. Se il descrittore non viene usato, le dimensioni e i limiti della matrice passati determinano FileGet cosa leggere.

    Il descrittore specifica il rango della matrice, le dimensioni e i limiti inferiori per ogni rango. La lunghezza è uguale a 2 più 8 volte il numero di dimensioni: (2 + 8 * NumberOfDimensions). La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere maggiore o uguale alla somma di tutti i byte necessari per scrivere i dati della matrice e il descrittore di matrice. Ad esempio, la dichiarazione di matrice seguente richiede 218 byte quando la matrice viene scritta su disco.

    Dim MyArray(4, 9) As Integer
    

    I 218 byte vengono distribuiti nel modo seguente:

    • 18 byte per il descrittore: (2 + 8 * 2)

    • 200 byte per i dati: (5 * 10 * 4).

  • Se la variabile in lettura è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FileGet legge solo i dati della variabile. La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla lunghezza dei dati letti.

  • FileGet legge gli elementi delle strutture come se ognuno fosse letto singolarmente, ad eccezione del fatto che non esiste una spaziatura interna tra gli elementi. Su disco, una matrice dinamica in un tipo definito dall'utente (scritta con FilePut) è preceduta da un descrittore la cui lunghezza è uguale a 2 più 8 volte il numero di dimensioni: (2 + 8 * NumberOfDimensions). La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla somma di tutti i byte necessari per leggere i singoli elementi. Sono incluse le matrici e i relativi descrittori. L'attributo VBFixedString può essere applicato ai campi stringa nelle strutture per indicare le dimensioni di una stringa quando viene scritta su disco.

Modalità binaria

Per i file aperti in Binary modalità, la maggior parte delle regole della Random modalità si applica, con alcune eccezioni. Le regole seguenti per i file aperti in Binary modalità differiscono dalle regole per Random la modalità:

  • La RecordLength clausola nella FileOpen funzione non ha alcun effetto. FileGet legge tutte le variabili dal disco in modo contiguo; vale a dire, senza spaziatura interna tra record.

  • Per qualsiasi matrice diversa da una matrice in una struttura, FileGet legge solo i dati. Non viene letto alcun descrittore.

  • FileGet legge stringhe a lunghezza variabile che non sono elementi di strutture senza aspettarsi il descrittore di lunghezza a due byte. Il numero di byte letti è uguale al numero di caratteri già presenti nella stringa.

    Importante

    La lettura da un file tramite la FileGet funzione richiede Read l'accesso dall'enumerazione FileIOPermissionAccess .

Vedi anche

Si applica a