FileSystem.FilePut Metodo

Definizione

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. F Per altre informazioni, vedere FileSystem.

Overload

Nome Descrizione
FilePut(Int32, Int64, Int64)

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

FilePut(Int32, String, Int64, Boolean)

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

FilePut(Object, Object, Object)
Obsoleti.
Obsoleti.

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

FilePut(Int32, ValueType, Int64)

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

FilePut(Int32, Single, Int64)

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

FilePut(Int32, Int32, Int64)

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

FilePut(Int32, Array, Int64, Boolean, Boolean)

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

FilePut(Int32, Double, Int64)

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

FilePut(Int32, Decimal, Int64)

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

FilePut(Int32, DateTime, Int64)

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

FilePut(Int32, Char, Int64)

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

FilePut(Int32, Byte, Int64)

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

FilePut(Int32, Boolean, Int64)

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

FilePut(Int32, Int16, Int64)

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

FilePut(Int32, Int64, Int64)

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

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

Parametri

FileNumber
Int32

Required. Qualsiasi numero di file valido.

Value
Int64

Required. Nome di variabile valido contenente i dati scritti su disco.

RecordNumber
Int64

Optional. Numero di record (Random file in modalità) o numero di byte (Binary file in modalità) in corrispondenza del quale inizia la scrittura.

Eccezioni

RecordNumber < 1 e non uguale a -1.

La modalità file non è valida.

Esempio

In questo esempio viene usata la FilePut funzione per scrivere dati in un file. Nel file vengono scritti cinque record della struttura Person .

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Commenti

FilePut è valido solo in Random modalità e Binary .

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

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 scritto il record o il byte successivo dopo l'ultima FileGet funzione o FilePut a cui punta l'ultima Seek funzione.

L'argomento StringIsFixedLength controlla se la funzione interpreta le stringhe come lunghezza variabile o fissa. FilePut non scrive il descrittore di lunghezza quando l'argomento è True. Se si usa StringIsFixedLength = True con FilePut, è necessario eseguire la stessa operazione con FileGete assicurarsi che la stringa venga inizializzata per la lunghezza prevista.

Modalità casuale

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

  • Se la lunghezza dei dati scritti è minore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, FilePut scrive 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 di file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile che la lunghezza del record corrisponda alla lunghezza dei dati scritti. Se la lunghezza dei dati scritti è maggiore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, verrà generata un'eccezione.

  • Se la variabile scritta è una stringa, FilePut scrive un descrittore a due byte contenente la lunghezza della stringa e quindi scrive i dati inseriti nella variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore di almeno due byte rispetto alla lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto contenente un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType dell'oggetto e quindi scrive la variabile. Ad esempio, quando si scrive un oggetto contenente un numero intero, FilePut vengono scritti sei byte: due byte che identificano l'oggetto come VarType(3) (Integer) e quattro byte che contengono i dati. La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere maggiore di almeno due byte rispetto al numero effettivo di byte necessari per archiviare la variabile.

  • Se la variabile scritta è un oggetto contenente una stringa, FilePut scrive un descrittore a due byte che identifica l'oggetto VarType(8) dell'oggetto, un descrittore a due byte che indica la lunghezza della stringa e quindi scrive i dati stringa. La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire 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 scritta è una matrice, è possibile scegliere se scrivere o meno un descrittore per le dimensioni e le dimensioni della matrice. Visual Basic 6.0 e versioni precedenti scrivono il descrittore di file per una matrice dinamica, ma non per una matrice a dimensione fissa. Visual Basic 2005 per impostazione predefinita non scrive il descrittore. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si scrive la matrice, è necessario trovare la corrispondenza con la modalità di lettura della matrice; se verrà letto con il descrittore, è necessario scrivere il descrittore. Il descrittore specifica il rango della matrice, le dimensioni e i limiti inferiori per ogni rango. La sua 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 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
    
  • Se la variabile scritta è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FilePut scrive 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 scritti.

  • FilePut scrive elementi di strutture come se fossero scritti singolarmente, tranne che non esiste alcuna spaziatura interna tra gli elementi. L'attributo VBFixedString può essere applicato ai campi stringa nelle strutture per indicare le dimensioni della stringa quando viene scritta su disco.

    Note

    I campi stringa con più byte rispetto a quelli specificati dall'attributo VBFixedString vengono troncati quando vengono scritti 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. FilePut scrive tutte le variabili su disco in modo contiguo, ovvero senza spaziatura interna tra record.

  • Per qualsiasi matrice diversa da una matrice in una struttura, FilePut scrive solo i dati. Non viene scritto alcun descrittore.

  • FilePut scrive stringhe a lunghezza variabile che non sono elementi di strutture senza il descrittore di lunghezza a due byte. Il numero di byte scritti è uguale al numero di caratteri nella stringa. Ad esempio, le istruzioni seguenti scrivono 11 byte nel numero di file 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • La scrittura in un file tramite la FilePut funzione richiede Write l'accesso dall'enumerazione FileIOPermissionAccess .

Vedi anche

Si applica a

FilePut(Int32, String, Int64, Boolean)

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

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

Parametri

FileNumber
Int32

Required. Qualsiasi numero di file valido.

Value
String

Required. Nome di variabile valido contenente i dati scritti su disco.

RecordNumber
Int64

Optional. Numero di record (Random file in modalità) o numero di byte (Binary file in modalità) in corrispondenza del quale inizia la scrittura.

StringIsFixedLength
Boolean

Optional. Si applica solo quando si scrive una stringa. Specifica se scrivere un descrittore di lunghezza stringa a due byte per la stringa nel file. Il valore predefinito è False.

Eccezioni

RecordNumber < 1 e non uguale a -1.

La modalità file non è valida.

Esempio

In questo esempio viene usata la FilePut funzione per scrivere dati in un file. Nel file vengono scritti cinque record della struttura Person .

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Commenti

FilePut è valido solo in Random modalità e Binary .

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

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 scritto il record o il byte successivo dopo l'ultima FileGet funzione o FilePut a cui punta l'ultima Seek funzione.

L'argomento StringIsFixedLength controlla se la funzione interpreta le stringhe come lunghezza variabile o fissa. FilePut non scrive il descrittore di lunghezza quando l'argomento è True. Se si usa StringIsFixedLength = True con FilePut, è necessario eseguire la stessa operazione con FileGete assicurarsi che la stringa venga inizializzata per la lunghezza prevista.

Modalità casuale

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

  • Se la lunghezza dei dati scritti è minore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, FilePut scrive 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 di file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile che la lunghezza del record corrisponda alla lunghezza dei dati scritti. Se la lunghezza dei dati scritti è maggiore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, verrà generata un'eccezione.

  • Se la variabile scritta è una stringa, FilePut scrive un descrittore a due byte contenente la lunghezza della stringa e quindi scrive i dati inseriti nella variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore di almeno due byte rispetto alla lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto contenente un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType dell'oggetto e quindi scrive la variabile. Ad esempio, quando si scrive un oggetto contenente un numero intero, FilePut vengono scritti sei byte: due byte che identificano l'oggetto come VarType(3) (Integer) e quattro byte che contengono i dati. La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere maggiore di almeno due byte rispetto al numero effettivo di byte necessari per archiviare la variabile.

  • Se la variabile scritta è un oggetto contenente una stringa, FilePut scrive un descrittore a due byte che identifica l'oggetto VarType(8) dell'oggetto, un descrittore a due byte che indica la lunghezza della stringa e quindi scrive i dati stringa. La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire 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 scritta è una matrice, è possibile scegliere se scrivere o meno un descrittore per le dimensioni e le dimensioni della matrice. Visual Basic 6.0 e versioni precedenti scrivono il descrittore di file per una matrice dinamica, ma non per una matrice a dimensione fissa. Visual Basic 2005 per impostazione predefinita non scrive il descrittore. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si scrive la matrice, è necessario trovare la corrispondenza con la modalità di lettura della matrice; se verrà letto con il descrittore, è necessario scrivere il descrittore. Il descrittore specifica il rango della matrice, le dimensioni e i limiti inferiori per ogni rango. La sua 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 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
    
  • Se la variabile scritta è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FilePut scrive 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 scritti.

  • FilePut scrive elementi di strutture come se fossero scritti singolarmente, tranne che non esiste alcuna spaziatura interna tra gli elementi. L'attributo VBFixedString può essere applicato ai campi stringa nelle strutture per indicare le dimensioni della stringa quando viene scritta su disco.

    Note

    I campi stringa con più byte rispetto a quelli specificati dall'attributo VBFixedString vengono troncati quando vengono scritti 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. FilePut scrive tutte le variabili su disco in modo contiguo, ovvero senza spaziatura interna tra record.

  • Per qualsiasi matrice diversa da una matrice in una struttura, FilePut scrive solo i dati. Non viene scritto alcun descrittore.

  • FilePut scrive stringhe a lunghezza variabile che non sono elementi di strutture senza il descrittore di lunghezza a due byte. Il numero di byte scritti è uguale al numero di caratteri nella stringa. Ad esempio, le istruzioni seguenti scrivono 11 byte nel numero di file 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • La scrittura in un file tramite la FilePut funzione richiede Write l'accesso dall'enumerazione FileIOPermissionAccess .

Vedi anche

Si applica a

FilePut(Object, Object, Object)

Attenzione

Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types

Attenzione

This member has been deprecated. Please use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types. http://go.microsoft.com/fwlink/?linkid=14202

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

[System.Obsolete("Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types")]
public static void FilePut(object FileNumber, object Value, object RecordNumber = -1);
[System.Obsolete("This member has been deprecated. Please use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types. http://go.microsoft.com/fwlink/?linkid=14202")]
public static void FilePut(object FileNumber, object Value, object RecordNumber = -1);
[<System.Obsolete("Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types")>]
static member FilePut : obj * obj * obj -> unit
[<System.Obsolete("This member has been deprecated. Please use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types. http://go.microsoft.com/fwlink/?linkid=14202")>]
static member FilePut : obj * obj * obj -> unit
Public Sub FilePut (FileNumber As Object, Value As Object, Optional RecordNumber As Object = -1)

Parametri

FileNumber
Object

Required. Qualsiasi numero di file valido.

Value
Object

Required. Nome di variabile valido contenente i dati scritti su disco.

RecordNumber
Object

Optional. Numero di record (Random file in modalità) o numero di byte (Binary file in modalità) in corrispondenza del quale inizia la scrittura.

Attributi

Eccezioni

RecordNumber < 1 e non uguale a -1.

La modalità file non è valida.

Vedi anche

Si applica a

FilePut(Int32, ValueType, Int64)

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

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

Parametri

FileNumber
Int32

Required. Qualsiasi numero di file valido.

Value
ValueType

Required. Nome di variabile valido contenente i dati scritti su disco.

RecordNumber
Int64

Optional. Numero di record (Random file in modalità) o numero di byte (Binary file in modalità) in corrispondenza del quale inizia la scrittura.

Eccezioni

RecordNumber < 1 e non uguale a -1.

La modalità file non è valida.

Esempio

In questo esempio viene usata la FilePut funzione per scrivere dati in un file. Nel file vengono scritti cinque record della struttura Person .

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Commenti

FilePut è valido solo in Random modalità e Binary .

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

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 scritto il record o il byte successivo dopo l'ultima FileGet funzione o FilePut a cui punta l'ultima Seek funzione.

L'argomento StringIsFixedLength controlla se la funzione interpreta le stringhe come lunghezza variabile o fissa. FilePut non scrive il descrittore di lunghezza quando l'argomento è True. Se si usa StringIsFixedLength = True con FilePut, è necessario eseguire la stessa operazione con FileGete assicurarsi che la stringa venga inizializzata per la lunghezza prevista.

Modalità casuale

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

  • Se la lunghezza dei dati scritti è minore della lunghezza specificata nellaRecordLength clausola della FileOpen funzione, FilePut scrive 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 di file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile che la lunghezza del record corrisponda alla lunghezza dei dati scritti. Se la lunghezza dei dati scritti è maggiore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, verrà generata un'eccezione.

  • Se la variabile scritta è una stringa, FilePut scrive un descrittore a due byte contenente la lunghezza della stringa e quindi scrive i dati inseriti nella variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore di almeno due byte rispetto alla lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto contenente un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType dell'oggetto e quindi scrive la variabile. Ad esempio, quando si scrive un oggetto contenente un numero intero, FilePut vengono scritti sei byte: due byte che identificano l'oggetto come VarType(3) (Integer) e quattro byte che contengono i dati. La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere maggiore di almeno due byte rispetto al numero effettivo di byte necessari per archiviare la variabile.

  • Se la variabile scritta è un oggetto contenente una stringa, FilePut scrive un descrittore a due byte che identifica l'oggetto VarType(8) dell'oggetto, un descrittore a due byte che indica la lunghezza della stringa e quindi scrive i dati stringa. La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire 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 scritta è una matrice, è possibile scegliere se scrivere o meno un descrittore per le dimensioni e le dimensioni della matrice. Visual Basic 6.0 e versioni precedenti scrivono il descrittore di file per una matrice dinamica, ma non per una matrice a dimensione fissa. Visual Basic 2005 per impostazione predefinita non scrive il descrittore. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si scrive la matrice, è necessario trovare la corrispondenza con la modalità di lettura della matrice; se verrà letto con il descrittore, è necessario scrivere il descrittore. Il descrittore specifica il rango della matrice, le dimensioni e i limiti inferiori per ogni rango. La sua 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 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
    
  • Se la variabile scritta è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FilePut scrive 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 scritti.

  • FilePut scrive elementi di strutture come se fossero scritti singolarmente, tranne che non esiste alcuna spaziatura interna tra gli elementi. L'attributo VBFixedString può essere applicato ai campi stringa nelle strutture per indicare le dimensioni della stringa quando viene scritta su disco.

    Note

    I campi stringa con più byte rispetto a quelli specificati dall'attributo VBFixedString vengono troncati quando vengono scritti 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. FilePut scrive tutte le variabili su disco in modo contiguo, ovvero senza spaziatura interna tra record.

  • Per qualsiasi matrice diversa da una matrice in una struttura, FilePut scrive solo i dati. Non viene scritto alcun descrittore.

  • FilePut scrive stringhe a lunghezza variabile che non sono elementi di strutture senza il descrittore di lunghezza a due byte. Il numero di byte scritti è uguale al numero di caratteri nella stringa. Ad esempio, le istruzioni seguenti scrivono 11 byte nel numero di file 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • La scrittura in un file tramite la FilePut funzione richiede Write l'accesso dall'enumerazione FileIOPermissionAccess .

Vedi anche

Si applica a

FilePut(Int32, Single, Int64)

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

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

Parametri

FileNumber
Int32

Required. Qualsiasi numero di file valido.

Value
Single

Required. Nome di variabile valido contenente i dati scritti su disco.

RecordNumber
Int64

Optional. Numero di record (Random file in modalità) o numero di byte (Binary file in modalità) in corrispondenza del quale inizia la scrittura.

Eccezioni

RecordNumber < 1 e non uguale a -1.

La modalità file non è valida.

Esempio

In questo esempio viene usata la FilePut funzione per scrivere dati in un file. Nel file vengono scritti cinque record della struttura Person .

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Commenti

FilePut è valido solo in Random modalità e Binary .

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

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 scritto il record o il byte successivo dopo l'ultima FileGet funzione o FilePut a cui punta l'ultima Seek funzione.

L'argomento StringIsFixedLength controlla se la funzione interpreta le stringhe come lunghezza variabile o fissa. FilePut non scrive il descrittore di lunghezza quando l'argomento è True. Se si usa StringIsFixedLength = True con FilePut, è necessario eseguire la stessa operazione con FileGete assicurarsi che la stringa venga inizializzata per la lunghezza prevista.

Modalità casuale

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

  • Se la lunghezza dei dati scritti è minore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, FilePut scrive 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 di file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile che la lunghezza del record corrisponda alla lunghezza dei dati scritti. Se la lunghezza dei dati scritti è maggiore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, verrà generata un'eccezione.

  • Se la variabile scritta è una stringa, FilePut scrive un descrittore a due byte contenente la lunghezza della stringa e quindi scrive i dati inseriti nella variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore di almeno due byte rispetto alla lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto contenente un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType dell'oggetto e quindi scrive la variabile. Ad esempio, quando si scrive un oggetto contenente un numero intero, FilePut vengono scritti sei byte: due byte che identificano l'oggetto come VarType(3) (Integer) e quattro byte che contengono i dati. La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere maggiore di almeno due byte rispetto al numero effettivo di byte necessari per archiviare la variabile.

  • Se la variabile scritta è un oggetto contenente una stringa, FilePut scrive un descrittore a due byte che identifica l'oggetto VarType(8) dell'oggetto, un descrittore a due byte che indica la lunghezza della stringa e quindi scrive i dati stringa. La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire 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 scritta è una matrice, è possibile scegliere se scrivere o meno un descrittore per le dimensioni e le dimensioni della matrice. Visual Basic 6.0 e versioni precedenti scrivono il descrittore di file per una matrice dinamica, ma non per una matrice a dimensione fissa. Visual Basic 2005 per impostazione predefinita non scrive il descrittore. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si scrive la matrice, è necessario trovare la corrispondenza con la modalità di lettura della matrice; se verrà letto con il descrittore, è necessario scrivere il descrittore. Il descrittore specifica il rango della matrice, le dimensioni e i limiti inferiori per ogni rango. La sua 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 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
    
  • Se la variabile scritta è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FilePut scrive 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 scritti.

  • FilePut scrive elementi di strutture come se fossero scritti singolarmente, tranne che non esiste alcuna spaziatura interna tra gli elementi. L'attributo VBFixedString può essere applicato ai campi stringa nelle strutture per indicare le dimensioni della stringa quando viene scritta su disco.

    Note

    I campi stringa con più byte rispetto a quelli specificati dall'attributo VBFixedString vengono troncati quando vengono scritti 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. FilePut scrive tutte le variabili su disco in modo contiguo, ovvero senza spaziatura interna tra record.

  • Per qualsiasi matrice diversa da una matrice in una struttura, FilePut scrive solo i dati. Non viene scritto alcun descrittore.

  • FilePut scrive stringhe a lunghezza variabile che non sono elementi di strutture senza il descrittore di lunghezza a due byte. Il numero di byte scritti è uguale al numero di caratteri nella stringa. Ad esempio, le istruzioni seguenti scrivono 11 byte nel numero di file 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • La scrittura in un file tramite la FilePut funzione richiede Write l'accesso dall'enumerazione FileIOPermissionAccess .

Vedi anche

Si applica a

FilePut(Int32, Int32, Int64)

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

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

Parametri

FileNumber
Int32

Required. Qualsiasi numero di file valido.

Value
Int32

Required. Nome di variabile valido contenente i dati scritti su disco.

RecordNumber
Int64

Optional. Numero di record (Random file in modalità) o numero di byte (Binary file in modalità) in corrispondenza del quale inizia la scrittura.

Eccezioni

RecordNumber < 1 e non uguale a -1.

La modalità file non è valida.

Esempio

In questo esempio viene usata la FilePut funzione per scrivere dati in un file. Nel file vengono scritti cinque record della struttura Person .

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Commenti

FilePut è valido solo in Random modalità e Binary .

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

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 scritto il record o il byte successivo dopo l'ultima FileGet funzione o FilePut a cui punta l'ultima Seek funzione.

L'argomento StringIsFixedLength controlla se la funzione interpreta le stringhe come lunghezza variabile o fissa. FilePut non scrive il descrittore di lunghezza quando l'argomento è True. Se si usa StringIsFixedLength = True con FilePut, è necessario eseguire la stessa operazione con FileGete assicurarsi che la stringa venga inizializzata per la lunghezza prevista.

Modalità casuale

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

  • Se la lunghezza dei dati scritti è minore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, FilePut scrive 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 di file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile che la lunghezza del record corrisponda alla lunghezza dei dati scritti. Se la lunghezza dei dati scritti è maggiore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, verrà generata un'eccezione.

  • Se la variabile scritta è una stringa, FilePut scrive un descrittore a due byte contenente la lunghezza della stringa e quindi scrive i dati inseriti nella variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore di almeno due byte rispetto alla lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto contenente un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType dell'oggetto e quindi scrive la variabile. Ad esempio, quando si scrive un oggetto contenente un numero intero, FilePut vengono scritti sei byte: due byte che identificano l'oggetto come VarType(3) (Integer) e quattro byte che contengono i dati. La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere maggiore di almeno due byte rispetto al numero effettivo di byte necessari per archiviare la variabile.

  • Se la variabile scritta è un oggetto contenente una stringa, FilePut scrive un descrittore a due byte che identifica l'oggetto VarType(8) dell'oggetto, un descrittore a due byte che indica la lunghezza della stringa e quindi scrive i dati stringa. La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire 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 scritta è una matrice, è possibile scegliere se scrivere o meno un descrittore per le dimensioni e le dimensioni della matrice. Visual Basic 6.0 e versioni precedenti scrivono il descrittore di file per una matrice dinamica, ma non per una matrice a dimensione fissa. Visual Basic 2005 per impostazione predefinita non scrive il descrittore. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si scrive la matrice, è necessario trovare la corrispondenza con la modalità di lettura della matrice; se verrà letto con il descrittore, è necessario scrivere il descrittore. Il descrittore specifica il rango della matrice, le dimensioni e i limiti inferiori per ogni rango. La sua 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 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
    
  • Se la variabile scritta è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FilePut scrive 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 scritti.

  • FilePut scrive elementi di strutture come se fossero scritti singolarmente, tranne che non esiste alcuna spaziatura interna tra gli elementi. L'attributo VBFixedString può essere applicato ai campi stringa nelle strutture per indicare le dimensioni della stringa quando viene scritta su disco.

    Note

    I campi stringa con più byte rispetto a quelli specificati dall'attributo VBFixedString vengono troncati quando vengono scritti 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. FilePut scrive tutte le variabili su disco in modo contiguo, ovvero senza spaziatura interna tra record.

  • Per qualsiasi matrice diversa da una matrice in una struttura, FilePut scrive solo i dati. Non viene scritto alcun descrittore.

  • FilePut scrive stringhe a lunghezza variabile che non sono elementi di strutture senza il descrittore di lunghezza a due byte. Il numero di byte scritti è uguale al numero di caratteri nella stringa. Ad esempio, le istruzioni seguenti scrivono 11 byte nel numero di file 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • La scrittura in un file tramite la FilePut funzione richiede Write l'accesso dall'enumerazione FileIOPermissionAccess .

Vedi anche

Si applica a

FilePut(Int32, Array, Int64, Boolean, Boolean)

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

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

Parametri

FileNumber
Int32

Required. Qualsiasi numero di file valido.

Value
Array

Required. Nome di variabile valido contenente i dati scritti su disco.

RecordNumber
Int64

Optional. Numero di record (Random file in modalità) o numero di byte (Binary file in modalità) in corrispondenza del quale inizia la scrittura.

ArrayIsDynamic
Boolean

Optional. Si applica solo quando si scrive una matrice. Specifica se la matrice deve essere considerata dinamica e se scrivere un descrittore di matrice per la stringa che descrive la lunghezza.

StringIsFixedLength
Boolean

Optional. Si applica solo quando si scrive una stringa. Specifica se scrivere un descrittore di lunghezza stringa a due byte per la stringa nel file. Il valore predefinito è False.

Eccezioni

RecordNumber < 1 e non uguale a -1.

La modalità file non è valida.

Esempio

In questo esempio viene usata la FilePut funzione per scrivere dati in un file. Nel file vengono scritti cinque record della struttura Person .

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Commenti

FilePut è valido solo in Random modalità e Binary .

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

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 scritto il record o il byte successivo dopo l'ultima FileGet funzione o FilePut a cui punta l'ultima Seek funzione.

L'argomento StringIsFixedLength controlla se la funzione interpreta le stringhe come lunghezza variabile o fissa. FilePut non scrive il descrittore di lunghezza quando l'argomento è True. Se si usa StringIsFixedLength = True con FilePut, è necessario eseguire la stessa operazione con FileGete assicurarsi che la stringa venga inizializzata per la lunghezza prevista.

Modalità casuale

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

  • Se la lunghezza dei dati scritti è minore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, FilePut scrive 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 di file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile che la lunghezza del record corrisponda alla lunghezza dei dati scritti. Se la lunghezza dei dati scritti è maggiore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, verrà generata un'eccezione.

  • Se la variabile scritta è una stringa, FilePut scrive un descrittore a due byte contenente la lunghezza della stringa e quindi scrive i dati inseriti nella variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore di almeno due byte rispetto alla lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto contenente un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType dell'oggetto e quindi scrive la variabile. Ad esempio, quando si scrive un oggetto contenente un numero intero, FilePut vengono scritti sei byte: due byte che identificano l'oggetto come VarType(3) (Integer) e quattro byte che contengono i dati. La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere maggiore di almeno due byte rispetto al numero effettivo di byte necessari per archiviare la variabile.

  • Se la variabile scritta è un oggetto contenente una stringa, FilePut scrive un descrittore a due byte che identifica l'oggetto VarType(8) dell'oggetto, un descrittore a due byte che indica la lunghezza della stringa e quindi scrive i dati stringa. La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire 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 scritta è una matrice, è possibile scegliere se scrivere o meno un descrittore per le dimensioni e le dimensioni della matrice. Visual Basic 6.0 e versioni precedenti scrivono il descrittore di file per una matrice dinamica, ma non per una matrice a dimensione fissa. Visual Basic 2005 per impostazione predefinita non scrive il descrittore. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si scrive la matrice, è necessario trovare la corrispondenza con la modalità di lettura della matrice; se verrà letto con il descrittore, è necessario scrivere il descrittore. Il descrittore specifica il rango della matrice, le dimensioni e i limiti inferiori per ogni rango. La sua 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 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
    
  • Se la variabile scritta è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FilePut scrive 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 scritti.

  • FilePut scrive elementi di strutture come se fossero scritti singolarmente, tranne che non esiste alcuna spaziatura interna tra gli elementi. L'attributo VBFixedString può essere applicato ai campi stringa nelle strutture per indicare le dimensioni della stringa quando viene scritta su disco.

    Note

    I campi stringa con più byte rispetto a quelli specificati dall'attributo VBFixedString vengono troncati quando vengono scritti 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. FilePut scrive tutte le variabili su disco in modo contiguo, ovvero senza spaziatura interna tra record.

  • Per qualsiasi matrice diversa da una matrice in una struttura, FilePut scrive solo i dati. Non viene scritto alcun descrittore.

  • FilePut scrive stringhe a lunghezza variabile che non sono elementi di strutture senza il descrittore di lunghezza a due byte. Il numero di byte scritti è uguale al numero di caratteri nella stringa. Ad esempio, le istruzioni seguenti scrivono 11 byte nel numero di file 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • La scrittura in un file tramite la FilePut funzione richiede Write l'accesso dall'enumerazione FileIOPermissionAccess .

Vedi anche

Si applica a

FilePut(Int32, Double, Int64)

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

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

Parametri

FileNumber
Int32

Required. Qualsiasi numero di file valido.

Value
Double

Required. Nome di variabile valido contenente i dati scritti su disco.

RecordNumber
Int64

Optional. Numero di record (Random file in modalità) o numero di byte (Binary file in modalità) in corrispondenza del quale inizia la scrittura.

Eccezioni

RecordNumber < 1 e non uguale a -1.

La modalità file non è valida.

Esempio

In questo esempio viene usata la FilePut funzione per scrivere dati in un file. Nel file vengono scritti cinque record della struttura Person .

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Commenti

FilePut è valido solo in Random modalità e Binary .

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

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 scritto il record o il byte successivo dopo l'ultima FileGet funzione o FilePut a cui punta l'ultima Seek funzione.

L'argomento StringIsFixedLength controlla se la funzione interpreta le stringhe come lunghezza variabile o fissa. FilePut non scrive il descrittore di lunghezza quando l'argomento è True. Se si usa StringIsFixedLength = True con FilePut, è necessario eseguire la stessa operazione con FileGete assicurarsi che la stringa venga inizializzata per la lunghezza prevista.

Modalità casuale

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

  • Se la lunghezza dei dati scritti è minore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, FilePut scrive 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 di file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile che la lunghezza del record corrisponda alla lunghezza dei dati scritti. Se la lunghezza dei dati scritti è maggiore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, verrà generata un'eccezione.

  • Se la variabile scritta è una stringa, FilePut scrive un descrittore a due byte contenente la lunghezza della stringa e quindi scrive i dati inseriti nella variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore di almeno due byte rispetto alla lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto contenente un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType dell'oggetto e quindi scrive la variabile. Ad esempio, quando si scrive un oggetto contenente un numero intero, FilePut vengono scritti sei byte: due byte che identificano l'oggetto come VarType(3) (Integer) e quattro byte che contengono i dati. La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere maggiore di almeno due byte rispetto al numero effettivo di byte necessari per archiviare la variabile.

  • Se la variabile scritta è un oggetto contenente una stringa, FilePut scrive un descrittore a due byte che identifica l'oggetto VarType(8) dell'oggetto, un descrittore a due byte che indica la lunghezza della stringa e quindi scrive i dati stringa. La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire 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 scritta è una matrice, è possibile scegliere se scrivere o meno un descrittore per le dimensioni e le dimensioni della matrice. Visual Basic 6.0 e versioni precedenti scrivono il descrittore di file per una matrice dinamica, ma non per una matrice a dimensione fissa. Visual Basic 2005 per impostazione predefinita non scrive il descrittore. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si scrive la matrice, è necessario trovare la corrispondenza con la modalità di lettura della matrice; se verrà letto con il descrittore, è necessario scrivere il descrittore. Il descrittore specifica il rango della matrice, le dimensioni e i limiti inferiori per ogni rango. La sua 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 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
    
  • Se la variabile scritta è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FilePut scrive 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 scritti.

  • FilePut scrive elementi di strutture come se fossero scritti singolarmente, tranne che non esiste alcuna spaziatura interna tra gli elementi. L'attributo VBFixedString può essere applicato ai campi stringa nelle strutture per indicare le dimensioni della stringa quando viene scritta su disco.

    Note

    I campi stringa con più byte rispetto a quelli specificati dall'attributo VBFixedString vengono troncati quando vengono scritti 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. FilePut scrive tutte le variabili su disco in modo contiguo, ovvero senza spaziatura interna tra record.

  • Per qualsiasi matrice diversa da una matrice in una struttura, FilePut scrive solo i dati. Non viene scritto alcun descrittore.

  • FilePut scrive stringhe a lunghezza variabile che non sono elementi di strutture senza il descrittore di lunghezza a due byte. Il numero di byte scritti è uguale al numero di caratteri nella stringa. Ad esempio, le istruzioni seguenti scrivono 11 byte nel numero di file 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • La scrittura in un file tramite la FilePut funzione richiede Write l'accesso dall'enumerazione FileIOPermissionAccess .

Vedi anche

Si applica a

FilePut(Int32, Decimal, Int64)

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

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

Parametri

FileNumber
Int32

Required. Qualsiasi numero di file valido.

Value
Decimal

Required. Nome di variabile valido contenente i dati scritti su disco.

RecordNumber
Int64

Optional. Numero di record (Random file in modalità) o numero di byte (Binary file in modalità) in corrispondenza del quale inizia la scrittura.

Eccezioni

RecordNumber < 1 e non uguale a -1.

La modalità file non è valida.

Esempio

In questo esempio viene usata la FilePut funzione per scrivere dati in un file. Nel file vengono scritti cinque record della struttura Person .

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Commenti

FilePut è valido solo in Random modalità e Binary .

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

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 scritto il record o il byte successivo dopo l'ultima FileGet funzione o FilePut a cui punta l'ultima Seek funzione.

L'argomento StringIsFixedLength controlla se la funzione interpreta le stringhe come lunghezza variabile o fissa. FilePut non scrive il descrittore di lunghezza quando l'argomento è True. Se si usa StringIsFixedLength = True con FilePut, è necessario eseguire la stessa operazione con FileGete assicurarsi che la stringa venga inizializzata per la lunghezza prevista.

Modalità casuale

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

  • Se la lunghezza dei dati scritti è minore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, FilePut scrive 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 di file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile che la lunghezza del record corrisponda alla lunghezza dei dati scritti. Se la lunghezza dei dati scritti è maggiore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, verrà generata un'eccezione.

  • Se la variabile scritta è una stringa, FilePut scrive un descrittore a due byte contenente la lunghezza della stringa e quindi scrive i dati inseriti nella variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore di almeno due byte rispetto alla lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto contenente un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType dell'oggetto e quindi scrive la variabile. Ad esempio, quando si scrive un oggetto contenente un numero intero, FilePut vengono scritti sei byte: due byte che identificano l'oggetto come VarType(3) (Integer) e quattro byte che contengono i dati. La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere maggiore di almeno due byte rispetto al numero effettivo di byte necessari per archiviare la variabile.

  • Se la variabile scritta è un oggetto contenente una stringa, FilePut scrive un descrittore a due byte che identifica l'oggetto VarType(8) dell'oggetto, un descrittore a due byte che indica la lunghezza della stringa e quindi scrive i dati stringa. La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire 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 scritta è una matrice, è possibile scegliere se scrivere o meno un descrittore per le dimensioni e le dimensioni della matrice. Visual Basic 6.0 e versioni precedenti scrivono il descrittore di file per una matrice dinamica, ma non per una matrice a dimensione fissa. Visual Basic 2005 per impostazione predefinita non scrive il descrittore. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si scrive la matrice, è necessario trovare la corrispondenza con la modalità di lettura della matrice; se verrà letto con il descrittore, è necessario scrivere il descrittore. Il descrittore specifica il rango della matrice, le dimensioni e i limiti inferiori per ogni rango. La sua 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 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
    
  • Se la variabile scritta è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FilePut scrive 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 scritti.

  • FilePut scrive elementi di strutture come se fossero scritti singolarmente, tranne che non esiste alcuna spaziatura interna tra gli elementi. L'attributo VBFixedString può essere applicato ai campi stringa nelle strutture per indicare le dimensioni della stringa quando viene scritta su disco.

    Note

    I campi stringa con più byte rispetto a quelli specificati dall'attributo VBFixedString vengono troncati quando vengono scritti 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. FilePut scrive tutte le variabili su disco in modo contiguo, ovvero senza spaziatura interna tra record.

  • Per qualsiasi matrice diversa da una matrice in una struttura, FilePut scrive solo i dati. Non viene scritto alcun descrittore.

  • FilePut scrive stringhe a lunghezza variabile che non sono elementi di strutture senza il descrittore di lunghezza a due byte. Il numero di byte scritti è uguale al numero di caratteri nella stringa. Ad esempio, le istruzioni seguenti scrivono 11 byte nel numero di file 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • La scrittura in un file tramite la FilePut funzione richiede Write l'accesso dall'enumerazione FileIOPermissionAccess .

Vedi anche

Si applica a

FilePut(Int32, DateTime, Int64)

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

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

Parametri

FileNumber
Int32

Required. Qualsiasi numero di file valido.

Value
DateTime

Required. Nome di variabile valido contenente i dati scritti su disco.

RecordNumber
Int64

Optional. Numero di record (Random file in modalità) o numero di byte (Binary file in modalità) in corrispondenza del quale inizia la scrittura.

Eccezioni

RecordNumber < 1 e non uguale a -1.

La modalità file non è valida.

Esempio

In questo esempio viene usata la FilePut funzione per scrivere dati in un file. Nel file vengono scritti cinque record della struttura Person .

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Commenti

FilePut è valido solo in Random modalità e Binary .

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

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 scritto il record o il byte successivo dopo l'ultima FileGet funzione o FilePut a cui punta l'ultima Seek funzione.

L'argomento StringIsFixedLength controlla se la funzione interpreta le stringhe come lunghezza variabile o fissa. FilePut non scrive il descrittore di lunghezza quando l'argomento è True. Se si usa StringIsFixedLength = True con FilePut, è necessario eseguire la stessa operazione con FileGete assicurarsi che la stringa venga inizializzata per la lunghezza prevista.

Modalità casuale

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

  • Se la lunghezza dei dati scritti è minore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, FilePut scrive 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 di file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile che la lunghezza del record corrisponda alla lunghezza dei dati scritti. Se la lunghezza dei dati scritti è maggiore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, verrà generata un'eccezione.

  • Se la variabile scritta è una stringa, FilePut scrive un descrittore a due byte contenente la lunghezza della stringa e quindi scrive i dati inseriti nella variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore di almeno due byte rispetto alla lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto contenente un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType dell'oggetto e quindi scrive la variabile. Ad esempio, quando si scrive un oggetto contenente un numero intero, FilePut vengono scritti sei byte: due byte che identificano l'oggetto come VarType(3) (Integer) e quattro byte che contengono i dati. La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere maggiore di almeno due byte rispetto al numero effettivo di byte necessari per archiviare la variabile.

  • Se la variabile scritta è un oggetto contenente una stringa, FilePut scrive un descrittore a due byte che identifica l'oggetto VarType(8) dell'oggetto, un descrittore a due byte che indica la lunghezza della stringa e quindi scrive i dati stringa. La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire 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 scritta è una matrice, è possibile scegliere se scrivere o meno un descrittore per le dimensioni e le dimensioni della matrice. Visual Basic 6.0 e versioni precedenti scrivono il descrittore di file per una matrice dinamica, ma non per una matrice a dimensione fissa. Visual Basic 2005 per impostazione predefinita non scrive il descrittore. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si scrive la matrice, è necessario trovare la corrispondenza con la modalità di lettura della matrice; se verrà letto con il descrittore, è necessario scrivere il descrittore. Il descrittore specifica il rango della matrice, le dimensioni e i limiti inferiori per ogni rango. La sua 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 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
    
  • Se la variabile scritta è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FilePut scrive 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 scritti.

  • FilePut scrive elementi di strutture come se fossero scritti singolarmente, tranne che non esiste alcuna spaziatura interna tra gli elementi. L'attributo VBFixedString può essere applicato ai campi stringa nelle strutture per indicare le dimensioni della stringa quando viene scritta su disco.

    Note

    I campi stringa con più byte rispetto a quelli specificati dall'attributo VBFixedString vengono troncati quando vengono scritti 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. FilePut scrive tutte le variabili su disco in modo contiguo, ovvero senza spaziatura interna tra record.

  • Per qualsiasi matrice diversa da una matrice in una struttura, FilePut scrive solo i dati. Non viene scritto alcun descrittore.

  • FilePut scrive stringhe a lunghezza variabile che non sono elementi di strutture senza il descrittore di lunghezza a due byte. Il numero di byte scritti è uguale al numero di caratteri nella stringa. Ad esempio, le istruzioni seguenti scrivono 11 byte nel numero di file 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • La scrittura in un file tramite la FilePut funzione richiede Write l'accesso dall'enumerazione FileIOPermissionAccess .

Vedi anche

Si applica a

FilePut(Int32, Char, Int64)

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

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

Parametri

FileNumber
Int32

Required. Qualsiasi numero di file valido.

Value
Char

Required. Nome di variabile valido contenente i dati scritti su disco.

RecordNumber
Int64

Optional. Numero di record (Random file in modalità) o numero di byte (Binary file in modalità) in corrispondenza del quale inizia la scrittura.

Eccezioni

RecordNumber < 1 e non uguale a -1.

La modalità file non è valida.

Esempio

In questo esempio viene usata la FilePut funzione per scrivere dati in un file. Nel file vengono scritti cinque record della struttura Person .

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Commenti

FilePut è valido solo in Random modalità e Binary .

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

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 scritto il record o il byte successivo dopo l'ultima FileGet funzione o FilePut a cui punta l'ultima Seek funzione.

L'argomento StringIsFixedLength controlla se la funzione interpreta le stringhe come lunghezza variabile o fissa. FilePut non scrive il descrittore di lunghezza quando l'argomento è True. Se si usa StringIsFixedLength = True con FilePut, è necessario eseguire la stessa operazione con FileGete assicurarsi che la stringa venga inizializzata per la lunghezza prevista.

Modalità casuale

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

  • Se la lunghezza dei dati scritti è minore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, FilePut scrive 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 di file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile che la lunghezza del record corrisponda alla lunghezza dei dati scritti. Se la lunghezza dei dati scritti è maggiore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, verrà generata un'eccezione.

  • Se la variabile scritta è una stringa, FilePut scrive un descrittore a due byte contenente la lunghezza della stringa e quindi scrive i dati inseriti nella variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore di almeno due byte rispetto alla lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto contenente un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType dell'oggetto e quindi scrive la variabile. Ad esempio, quando si scrive un oggetto contenente un numero intero, FilePut vengono scritti sei byte: due byte che identificano l'oggetto come VarType(3) (Integer) e quattro byte che contengono i dati. La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere maggiore di almeno due byte rispetto al numero effettivo di byte necessari per archiviare la variabile.

  • Se la variabile scritta è un oggetto contenente una stringa, FilePut scrive un descrittore a due byte che identifica l'oggetto VarType(8) dell'oggetto, un descrittore a due byte che indica la lunghezza della stringa e quindi scrive i dati stringa. La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire 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 scritta è una matrice, è possibile scegliere se scrivere o meno un descrittore per le dimensioni e le dimensioni della matrice. Visual Basic 6.0 e versioni precedenti scrivono il descrittore di file per una matrice dinamica, ma non per una matrice a dimensione fissa. Visual Basic 2005 per impostazione predefinita non scrive il descrittore. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si scrive la matrice, è necessario trovare la corrispondenza con la modalità di lettura della matrice; se verrà letto con il descrittore, è necessario scrivere il descrittore. Il descrittore specifica il rango della matrice, le dimensioni e i limiti inferiori per ogni rango. La sua 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 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
    
  • Se la variabile scritta è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FilePut scrive 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 scritti.

  • FilePut scrive elementi di strutture come se fossero scritti singolarmente, tranne che non esiste alcuna spaziatura interna tra gli elementi. L'attributo VBFixedString può essere applicato ai campi stringa nelle strutture per indicare le dimensioni della stringa quando viene scritta su disco.

    Note

    I campi stringa con più byte rispetto a quelli specificati dall'attributo VBFixedString vengono troncati quando vengono scritti 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. FilePut scrive tutte le variabili su disco in modo contiguo, ovvero senza spaziatura interna tra record.

  • Per qualsiasi matrice diversa da una matrice in una struttura, FilePut scrive solo i dati. Non viene scritto alcun descrittore.

  • FilePut scrive stringhe a lunghezza variabile che non sono elementi di strutture senza il descrittore di lunghezza a due byte. Il numero di byte scritti è uguale al numero di caratteri nella stringa. Ad esempio, le istruzioni seguenti scrivono 11 byte nel numero di file 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • La scrittura in un file tramite la FilePut funzione richiede Write l'accesso dall'enumerazione FileIOPermissionAccess .

Vedi anche

Si applica a

FilePut(Int32, Byte, Int64)

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

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

Parametri

FileNumber
Int32

Required. Qualsiasi numero di file valido.

Value
Byte

Required. Nome di variabile valido contenente i dati scritti su disco.

RecordNumber
Int64

Optional. Numero di record (Random file in modalità) o numero di byte (Binary file in modalità) in corrispondenza del quale inizia la scrittura.

Eccezioni

RecordNumber < 1 e non uguale a -1.

La modalità file non è valida.

Esempio

In questo esempio viene usata la FilePut funzione per scrivere dati in un file. Nel file vengono scritti cinque record della struttura Person .

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Commenti

FilePut è valido solo in Random modalità e Binary .

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

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 scritto il record o il byte successivo dopo l'ultima FileGet funzione o FilePut a cui punta l'ultima Seek funzione.

L'argomento StringIsFixedLength controlla se la funzione interpreta le stringhe come lunghezza variabile o fissa. FilePut non scrive il descrittore di lunghezza quando l'argomento è True. Se si usa StringIsFixedLength = True con FilePut, è necessario eseguire la stessa operazione con FileGete assicurarsi che la stringa venga inizializzata per la lunghezza prevista.

Modalità casuale

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

  • Se la lunghezza dei dati scritti è minore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, FilePut scrive 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 di file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile che la lunghezza del record corrisponda alla lunghezza dei dati scritti. Se la lunghezza dei dati scritti è maggiore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, verrà generata un'eccezione.

  • Se la variabile scritta è una stringa, FilePut scrive un descrittore a due byte contenente la lunghezza della stringa e quindi scrive i dati inseriti nella variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore di almeno due byte rispetto alla lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto contenente un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType dell'oggetto e quindi scrive la variabile. Ad esempio, quando si scrive un oggetto contenente un numero intero, FilePut vengono scritti sei byte: due byte che identificano l'oggetto come VarType(3) (Integer) e quattro byte che contengono i dati. La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere maggiore di almeno due byte rispetto al numero effettivo di byte necessari per archiviare la variabile.

  • Se la variabile scritta è un oggetto contenente una stringa, FilePut scrive un descrittore a due byte che identifica l'oggetto VarType(8) dell'oggetto, un descrittore a due byte che indica la lunghezza della stringa e quindi scrive i dati stringa. La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire 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 scritta è una matrice, è possibile scegliere se scrivere o meno un descrittore per le dimensioni e le dimensioni della matrice. Visual Basic 6.0 e versioni precedenti scrivono il descrittore di file per una matrice dinamica, ma non per una matrice a dimensione fissa. Visual Basic 2005 per impostazione predefinita non scrive il descrittore. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si scrive la matrice, è necessario trovare la corrispondenza con la modalità di lettura della matrice; se verrà letto con il descrittore, è necessario scrivere il descrittore. Il descrittore specifica il rango della matrice, le dimensioni e i limiti inferiori per ogni rango. La sua 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 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
    
  • Se la variabile scritta è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FilePut scrive 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 scritti.

  • FilePut scrive elementi di strutture come se fossero scritti singolarmente, tranne che non esiste alcuna spaziatura interna tra gli elementi. L'attributo VBFixedString può essere applicato ai campi stringa nelle strutture per indicare le dimensioni della stringa quando viene scritta su disco.

    Note

    I campi stringa con più byte rispetto a quelli specificati dall'attributo VBFixedString vengono troncati quando vengono scritti 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. FilePut scrive tutte le variabili su disco in modo contiguo, ovvero senza spaziatura interna tra record.

  • Per qualsiasi matrice diversa da una matrice in una struttura, FilePut scrive solo i dati. Non viene scritto alcun descrittore.

  • FilePut scrive stringhe a lunghezza variabile che non sono elementi di strutture senza il descrittore di lunghezza a due byte. Il numero di byte scritti è uguale al numero di caratteri nella stringa. Ad esempio, le istruzioni seguenti scrivono 11 byte nel numero di file 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • La scrittura in un file tramite la FilePut funzione richiede Write l'accesso dall'enumerazione FileIOPermissionAccess .

Vedi anche

Si applica a

FilePut(Int32, Boolean, Int64)

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

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

Parametri

FileNumber
Int32

Required. Qualsiasi numero di file valido.

Value
Boolean

Required. Nome di variabile valido contenente i dati scritti su disco.

RecordNumber
Int64

Optional. Numero di record (Random file in modalità) o numero di byte (Binary file in modalità) in corrispondenza del quale inizia la scrittura.

Eccezioni

RecordNumber < 1 e non uguale a -1.

La modalità file non è valida.

Esempio

In questo esempio viene usata la FilePut funzione per scrivere dati in un file. Nel file vengono scritti cinque record della struttura Person .

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Commenti

FilePut è valido solo in Random modalità e Binary .

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

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 scritto il record o il byte successivo dopo l'ultima FileGet funzione o FilePut a cui punta l'ultima Seek funzione.

L'argomento StringIsFixedLength controlla se la funzione interpreta le stringhe come lunghezza variabile o fissa. FilePut non scrive il descrittore di lunghezza quando l'argomento è True. Se si usa StringIsFixedLength = True con FilePut, è necessario eseguire la stessa operazione con FileGete assicurarsi che la stringa venga inizializzata per la lunghezza prevista.

Modalità casuale

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

  • Se la lunghezza dei dati scritti è minore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, FilePut scrive 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 di file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile che la lunghezza del record corrisponda alla lunghezza dei dati scritti. Se la lunghezza dei dati scritti è maggiore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, verrà generata un'eccezione.

  • Se la variabile scritta è una stringa, FilePut scrive un descrittore a due byte contenente la lunghezza della stringa e quindi scrive i dati inseriti nella variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore di almeno due byte rispetto alla lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto contenente un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType dell'oggetto e quindi scrive la variabile. Ad esempio, quando si scrive un oggetto contenente un numero intero, FilePut vengono scritti sei byte: due byte che identificano l'oggetto come VarType(3) (Integer) e quattro byte che contengono i dati. La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere maggiore di almeno due byte rispetto al numero effettivo di byte necessari per archiviare la variabile.

  • Se la variabile scritta è un oggetto contenente una stringa, FilePut scrive un descrittore a due byte che identifica l'oggetto VarType(8) dell'oggetto, un descrittore a due byte che indica la lunghezza della stringa e quindi scrive i dati stringa. La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire 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 scritta è una matrice, è possibile scegliere se scrivere o meno un descrittore per le dimensioni e le dimensioni della matrice. Visual Basic 6.0 e versioni precedenti scrivono il descrittore di file per una matrice dinamica, ma non per una matrice a dimensione fissa. Visual Basic 2005 per impostazione predefinita non scrive il descrittore. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si scrive la matrice, è necessario trovare la corrispondenza con la modalità di lettura della matrice; se verrà letto con il descrittore, è necessario scrivere il descrittore. Il descrittore specifica il rango della matrice, le dimensioni e i limiti inferiori per ogni rango. La sua 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 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
    
  • Se la variabile scritta è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FilePut scrive 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 scritti.

  • FilePut scrive elementi di strutture come se fossero scritti singolarmente, tranne che non esiste alcuna spaziatura interna tra gli elementi. L'attributo VBFixedString può essere applicato ai campi stringa nelle strutture per indicare le dimensioni della stringa quando viene scritta su disco.

    Note

    I campi stringa con più byte rispetto a quelli specificati dall'attributo VBFixedString vengono troncati quando vengono scritti 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. FilePut scrive tutte le variabili su disco in modo contiguo, ovvero senza spaziatura interna tra record.

  • Per qualsiasi matrice diversa da una matrice in una struttura, FilePut scrive solo i dati. Non viene scritto alcun descrittore.

  • FilePut scrive stringhe a lunghezza variabile che non sono elementi di strutture senza il descrittore di lunghezza a due byte. Il numero di byte scritti è uguale al numero di caratteri nella stringa. Ad esempio, le istruzioni seguenti scrivono 11 byte nel numero di file 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • La scrittura in un file tramite la FilePut funzione richiede Write l'accesso dall'enumerazione FileIOPermissionAccess .

Vedi anche

Si applica a

FilePut(Int32, Int16, Int64)

Scrive i dati da una variabile in un file su disco. La My funzionalità offre una maggiore produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

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

Parametri

FileNumber
Int32

Required. Qualsiasi numero di file valido.

Value
Int16

Required. Nome di variabile valido contenente i dati scritti su disco.

RecordNumber
Int64

Optional. Numero di record (Random file in modalità) o numero di byte (Binary file in modalità) in corrispondenza del quale inizia la scrittura.

Eccezioni

RecordNumber < 1 e non uguale a -1.

La modalità file non è valida.

Esempio

In questo esempio viene usata la FilePut funzione per scrivere dati in un file. Nel file vengono scritti cinque record della struttura Person .

Structure Person
    Public ID As Integer
    Public Name As String
End Structure

Sub WriteData()
    Dim PatientRecord As Person
    Dim recordNumber As Integer
    '    Open file for random access.
    FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
    ' Loop 5 times.
    For recordNumber = 1 To 5
        ' Define ID.
        PatientRecord.ID = recordNumber
        ' Create a string.
        PatientRecord.Name = "Name " & recordNumber
        ' Write record to file.
        FilePut(1, PatientRecord)
    Next recordNumber
    FileClose(1)
End Sub

Commenti

FilePut è valido solo in Random modalità e Binary .

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

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 scritto il record o il byte successivo dopo l'ultima FileGet funzione o FilePut a cui punta l'ultima Seek funzione.

L'argomento StringIsFixedLength controlla se la funzione interpreta le stringhe come lunghezza variabile o fissa. FilePut non scrive il descrittore di lunghezza quando l'argomento è True. Se si usa StringIsFixedLength = True con FilePut, è necessario eseguire la stessa operazione con FileGete assicurarsi che la stringa venga inizializzata per la lunghezza prevista.

Modalità casuale

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

  • Se la lunghezza dei dati scritti è minore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, FilePut scrive 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 di file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile che la lunghezza del record corrisponda alla lunghezza dei dati scritti. Se la lunghezza dei dati scritti è maggiore della lunghezza specificata nella RecordLength clausola della FileOpen funzione, verrà generata un'eccezione.

  • Se la variabile scritta è una stringa, FilePut scrive un descrittore a due byte contenente la lunghezza della stringa e quindi scrive i dati inseriti nella variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore di almeno due byte rispetto alla lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto contenente un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType dell'oggetto e quindi scrive la variabile. Ad esempio, quando si scrive un oggetto contenente un numero intero, FilePut vengono scritti sei byte: due byte che identificano l'oggetto come VarType(3) (Integer) e quattro byte che contengono i dati. La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere maggiore di almeno due byte rispetto al numero effettivo di byte necessari per archiviare la variabile.

  • Se la variabile scritta è un oggetto contenente una stringa, FilePut scrive un descrittore a due byte che identifica l'oggettoVarType(8) dell'oggetto, un descrittore a due byte che indica la lunghezza della stringa e quindi scrive i dati stringa. La lunghezza del record specificata dal RecordLength parametro nella FileOpen funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire 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 scritta è una matrice, è possibile scegliere se scrivere o meno un descrittore per le dimensioni e le dimensioni della matrice. Visual Basic 6.0 e versioni precedenti scrivono il descrittore di file per una matrice dinamica, ma non per una matrice a dimensione fissa. Visual Basic 2005 per impostazione predefinita non scrive il descrittore. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si scrive la matrice, è necessario trovare la corrispondenza con la modalità di lettura della matrice; se verrà letto con il descrittore, è necessario scrivere il descrittore. Il descrittore specifica il rango della matrice, le dimensioni e i limiti inferiori per ogni rango. La sua 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 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
    
  • Se la variabile scritta è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FilePut scrive 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 scritti.

  • FilePut scrive elementi di strutture come se fossero scritti singolarmente, tranne che non esiste alcuna spaziatura interna tra gli elementi. L'attributo VBFixedString può essere applicato ai campi stringa nelle strutture per indicare le dimensioni della stringa quando viene scritta su disco.

    Note

    I campi stringa con più byte rispetto a quelli specificati dall'attributo VBFixedString vengono troncati quando vengono scritti 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. FilePut scrive tutte le variabili su disco in modo contiguo, ovvero senza spaziatura interna tra record.

  • Per qualsiasi matrice diversa da una matrice in una struttura, FilePut scrive solo i dati. Non viene scritto alcun descrittore.

  • FilePut scrive stringhe a lunghezza variabile che non sono elementi di strutture senza il descrittore di lunghezza a due byte. Il numero di byte scritti è uguale al numero di caratteri nella stringa. Ad esempio, le istruzioni seguenti scrivono 11 byte nel numero di file 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • La scrittura in un file tramite la FilePut funzione richiede Write l'accesso dall'enumerazione FileIOPermissionAccess .

Vedi anche

Si applica a