Condividi tramite


FileSystem.FilePut Metodo

Definizione

Scrive dati da una variabile in un file del disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per ulteriori informazioni, vedere FileSystem.

Overload

FilePut(Int32, Int64, Int64)

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

FilePut(Int32, String, Int64, Boolean)

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

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

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

FilePut(Int32, ValueType, Int64)

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

FilePut(Int32, Single, Int64)

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

FilePut(Int32, Int32, Int64)

Scrive dati da una variabile in un file del disco. La funzionalità My offre un livello più elevato di 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 dati da una variabile in un file del disco. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FilePut. Per altre informazioni, vedere FileSystem.

FilePut(Int32, Double, Int64)

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

FilePut(Int32, Decimal, Int64)

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

FilePut(Int32, DateTime, Int64)

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

FilePut(Int32, Char, Int64)

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

FilePut(Int32, Byte, Int64)

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

FilePut(Int32, Boolean, Int64)

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

FilePut(Int32, Int16, Int64)

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

FilePut(Int32, Int64, Int64)

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

Scrive dati da una variabile in un file del disco. La funzionalità My offre un livello più elevato di 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

Obbligatorio. Qualsiasi numero di file valido.

Value
Int64

Obbligatorio. Nome di variabile valido che contiene i dati scritti su disco.

RecordNumber
Int64

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

Eccezioni

RecordNumber< 1 e diverso da -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 e Binary modalità.

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

Il primo record o byte in un file è in posizione 1, il secondo record o byte è in posizione 2 e così via. Se si omette RecordNumber, il record o il byte successivo dopo l'ultima funzione o FilePut puntata all'ultima FileGet funzione viene scritta dall'ultima Seek funzione.

L'argomento StringIsFixedLength controlla se la funzione interpreta le stringhe come variabile o lunghezza fissa. FilePut non scrive il descrittore di lunghezza quando l'argomento è True. Se si usa StringIsFixedLength = True con , è necessario eseguire la stessa operazione con FileGetFilePute è necessario assicurarsi che la stringa sia inizializzata alla 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 compreso tra la fine di un record e l'inizio del record successivo viene riempito con il contenuto esistente del buffer di file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile avere la lunghezza del record corrispondente alla lunghezza dei dati 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 che passano alla variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere almeno due byte maggiore della lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto contenente un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType e quindi scrive la variabile. Ad esempio, quando si scrive un oggetto contenente un numero intero, FilePut scrive 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 almeno due byte maggiore del numero effettivo di byte necessari per archiviare la variabile.

  • Se la variabile scritta è un oggetto contenente una stringa, scrive un descrittore a due byte che identifica l'oggetto, FilePut un descrittore a due byte che indica la VarType(8) 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 di dimensioni fisse. Visual Basic 2005 non scrive il descrittore. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si scrive la matrice, è necessario corrispondere alla 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 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 della matrice. Ad esempio, la dichiarazione di matrice seguente richiede 218 byte quando la matrice viene scritta su disco.

    Dim MyArray(4, 9) As Integer
    
  • Se la variabile scritta è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FilePut scrive solo i dati delle variabili. La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla lunghezza dei dati scritti.

  • FilePut scrive elementi di strutture come se ognuno fosse scritto singolarmente, ad eccezione di nessun riempimento 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.

    Nota

    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 di Random modalità si applica, con alcune eccezioni. Le regole seguenti per i file aperti in Binary modalità differiscono dalle regole per Random la modalità:

  • La RecordLength clausola nella FileOpen funzione non ha alcun effetto. 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 equivale al numero di caratteri nella stringa. Ad esempio, le istruzioni seguenti scrivono 11 byte al numero di file 1:

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

Vedi anche

Si applica a

FilePut(Int32, String, Int64, Boolean)

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

Scrive dati da una variabile in un file del disco. La funzionalità My offre un livello più elevato di 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

Obbligatorio. Qualsiasi numero di file valido.

Value
String

Obbligatorio. Nome di variabile valido che contiene i dati scritti su disco.

RecordNumber
Int64

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

StringIsFixedLength
Boolean

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

Eccezioni

RecordNumber< 1 e diverso da -1.

La modalità File non è valida.

Esempio

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

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 e Binary modalità.

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

Il primo record o byte in un file è in posizione 1, il secondo record o byte è in posizione 2 e così via. Se si omette RecordNumber, il record o il byte successivo dopo l'ultima funzione o FilePut puntata all'ultima FileGet funzione viene scritta dall'ultima Seek funzione.

L'argomento StringIsFixedLength controlla se la funzione interpreta le stringhe come variabile o lunghezza fissa. FilePut non scrive il descrittore di lunghezza quando l'argomento è True. Se si usa StringIsFixedLength = True con , è necessario eseguire la stessa operazione con FileGetFilePute è necessario assicurarsi che la stringa sia inizializzata alla 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 compreso tra la fine di un record e l'inizio del record successivo viene riempito con il contenuto esistente del buffer di file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile avere la lunghezza del record corrispondente alla lunghezza dei dati 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 che passano alla variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere almeno due byte maggiore della lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto contenente un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType e quindi scrive la variabile. Ad esempio, quando si scrive un oggetto contenente un numero intero, FilePut scrive 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 almeno due byte maggiore del numero effettivo di byte necessari per archiviare la variabile.

  • Se la variabile scritta è un oggetto contenente una stringa, scrive un descrittore a due byte che identifica l'oggetto, FilePut un descrittore a due byte che indica la VarType(8) 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 di dimensioni fisse. Visual Basic 2005 non scrive il descrittore. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si scrive la matrice, è necessario corrispondere alla 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 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 della matrice. Ad esempio, la dichiarazione di matrice seguente richiede 218 byte quando la matrice viene scritta su disco.

    Dim MyArray(4, 9) As Integer
    
  • Se la variabile scritta è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FilePut scrive solo i dati delle variabili. La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla lunghezza dei dati scritti.

  • FilePut scrive gli elementi delle strutture come se fossero scritti singolarmente, ad eccezione del fatto che non esiste una 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.

    Nota

    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)

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

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

Attenzione

FileSystem.FilePut has been deprecated. Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types.

Attenzione

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

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

public:
 static void FilePut(System::Object ^ FileNumber, System::Object ^ Value, System::Object ^ RecordNumber);
[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);
[System.Obsolete("FileSystem.FilePut has been deprecated. 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);
[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("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
[<System.Obsolete("FileSystem.FilePut has been deprecated. 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("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
Public Sub FilePut (FileNumber As Object, Value As Object, RecordNumber As Object)
Public Sub FilePut (FileNumber As Object, Value As Object, Optional RecordNumber As Object = -1)

Parametri

FileNumber
Object

Obbligatorio. Qualsiasi numero di file valido.

Value
Object

Obbligatorio. Nome di variabile valido che contiene i dati scritti su disco.

RecordNumber
Object

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

Attributi

Eccezioni

RecordNumber< 1 e diverso da -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 del file. Poiché la quantità di dati di spaziatura interna non può essere determinata con certezza, è in genere consigliabile che la lunghezza del record corrisponda alla lunghezza dei dati 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 di almeno due byte maggiore della lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto che contiene un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType dell'oggetto e quindi scrive la variabile. Ad esempio, durante la scrittura di un oggetto contenente un numero intero, FilePut scrive sei byte: due byte che identificano l'oggetto come VarType(3) (Integer) e quattro byte che contengono i dati. La lunghezza del RecordLength record specificata dal 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. Per impostazione predefinita, Visual Basic 2005 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 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 gli elementi delle strutture come se fossero scritti singolarmente, ad eccezione del fatto che non esiste una 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.

    Nota

    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, ValueType, Int64)

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

Scrive dati da una variabile in un file del disco. La funzionalità My offre un livello più elevato di 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

Obbligatorio. Qualsiasi numero di file valido.

Value
ValueType

Obbligatorio. Nome di variabile valido che contiene i dati scritti su disco.

RecordNumber
Int64

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

Eccezioni

RecordNumber< 1 e diverso da -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 del file. Poiché la quantità di dati di spaziatura interna non può essere determinata con certezza, è in genere consigliabile che la lunghezza del record corrisponda alla lunghezza dei dati 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 di almeno due byte maggiore della lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto che contiene un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType dell'oggetto e quindi scrive la variabile. Ad esempio, durante la scrittura di un oggetto contenente un numero intero, FilePut scrive sei byte: due byte che identificano l'oggetto come VarType(3) (Integer) e quattro byte che contengono i dati. La lunghezza del RecordLength record specificata dal 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. Per impostazione predefinita, Visual Basic 2005 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 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 gli elementi delle strutture come se fossero scritti singolarmente, ad eccezione del fatto che non esiste una 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.

    Nota

    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)

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

Scrive dati da una variabile in un file del disco. La funzionalità My offre un livello più elevato di 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

Obbligatorio. Qualsiasi numero di file valido.

Value
Single

Obbligatorio. Nome di variabile valido che contiene i dati scritti su disco.

RecordNumber
Int64

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

Eccezioni

RecordNumber< 1 e diverso da -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 del file. Poiché la quantità di dati di spaziatura interna non può essere determinata con certezza, è in genere consigliabile che la lunghezza del record corrisponda alla lunghezza dei dati 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 di almeno due byte maggiore della lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto che contiene un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType dell'oggetto e quindi scrive la variabile. Ad esempio, durante la scrittura di un oggetto contenente un numero intero, FilePut scrive sei byte: due byte che identificano l'oggetto come VarType(3) (Integer) e quattro byte che contengono i dati. La lunghezza del RecordLength record specificata dal 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. Per impostazione predefinita, Visual Basic 2005 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 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 gli elementi delle strutture come se fossero scritti singolarmente, ad eccezione del fatto che non esiste una 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.

    Nota

    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)

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

Scrive dati da una variabile in un file del disco. La funzionalità My offre un livello più elevato di 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

Obbligatorio. Qualsiasi numero di file valido.

Value
Int32

Obbligatorio. Nome di variabile valido che contiene i dati scritti su disco.

RecordNumber
Int64

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

Eccezioni

RecordNumber< 1 e diverso da -1.

La modalità File non è valida.

Esempio

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

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 e Binary modalità.

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

Il primo record o byte in un file è in posizione 1, il secondo record o byte è in posizione 2 e così via. Se si omette RecordNumber, il record o il byte successivo dopo l'ultima funzione o FilePut puntata all'ultima FileGet funzione viene scritta dall'ultima Seek funzione.

L'argomento StringIsFixedLength controlla se la funzione interpreta le stringhe come variabile o lunghezza fissa. FilePut non scrive il descrittore di lunghezza quando l'argomento è True. Se si usa StringIsFixedLength = True con , è necessario eseguire la stessa operazione con FileGetFilePute è necessario assicurarsi che la stringa sia inizializzata alla 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 compreso tra la fine di un record e l'inizio del record successivo viene riempito con il contenuto esistente del buffer di file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile avere la lunghezza del record corrispondente alla lunghezza dei dati 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 che passano alla variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere almeno due byte maggiore della lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto contenente un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType e quindi scrive la variabile. Ad esempio, quando si scrive un oggetto contenente un numero intero, FilePut scrive 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 almeno due byte maggiore del numero effettivo di byte necessari per archiviare la variabile.

  • Se la variabile scritta è un oggetto contenente una stringa, scrive un descrittore a due byte che identifica l'oggetto, FilePut un descrittore a due byte che indica la VarType(8) 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 di dimensioni fisse. Visual Basic 2005 non scrive il descrittore. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si scrive la matrice, è necessario corrispondere alla 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 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 della matrice. Ad esempio, la dichiarazione di matrice seguente richiede 218 byte quando la matrice viene scritta su disco.

    Dim MyArray(4, 9) As Integer
    
  • Se la variabile scritta è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FilePut scrive solo i dati delle variabili. La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla lunghezza dei dati scritti.

  • FilePut scrive elementi di strutture come se ognuno fosse scritto singolarmente, ad eccezione di nessun riempimento 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.

    Nota

    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 di Random modalità si applica, con alcune eccezioni. Le regole seguenti per i file aperti in Binary modalità differiscono dalle regole per Random la modalità:

  • La RecordLength clausola nella FileOpen funzione non ha alcun effetto. 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 equivale al numero di caratteri nella stringa. Ad esempio, le istruzioni seguenti scrivono 11 byte al numero di file 1:

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

Vedi anche

Si applica a

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

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

Scrive dati da una variabile in un file del disco. La funzionalità My offre un livello più elevato di 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

Obbligatorio. Qualsiasi numero di file valido.

Value
Array

Obbligatorio. Nome di variabile valido che contiene i dati scritti su disco.

RecordNumber
Int64

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

ArrayIsDynamic
Boolean

facoltativo. Si applica solo durante la scrittura di una matrice. Specifica se la matrice deve essere considerata dinamica e se deve essere scritto un descrittore di matrice per la stringa che descrive la lunghezza.

StringIsFixedLength
Boolean

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

Eccezioni

RecordNumber< 1 e diverso da -1.

La modalità File non è valida.

Esempio

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

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 e Binary modalità.

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

Il primo record o byte in un file è in posizione 1, il secondo record o byte è in posizione 2 e così via. Se si omette RecordNumber, il record o il byte successivo dopo l'ultima funzione o FilePut puntata all'ultima FileGet funzione viene scritta dall'ultima Seek funzione.

L'argomento StringIsFixedLength controlla se la funzione interpreta le stringhe come variabile o lunghezza fissa. FilePut non scrive il descrittore di lunghezza quando l'argomento è True. Se si usa StringIsFixedLength = True con , è necessario eseguire la stessa operazione con FileGetFilePute è necessario assicurarsi che la stringa sia inizializzata alla 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 compreso tra la fine di un record e l'inizio del record successivo viene riempito con il contenuto esistente del buffer di file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile avere la lunghezza del record corrispondente alla lunghezza dei dati 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 che passano alla variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere almeno due byte maggiore della lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto contenente un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType e quindi scrive la variabile. Ad esempio, quando si scrive un oggetto contenente un numero intero, FilePut scrive 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 almeno due byte maggiore del numero effettivo di byte necessari per archiviare la variabile.

  • Se la variabile scritta è un oggetto contenente una stringa, scrive un descrittore a due byte che identifica l'oggetto, FilePut un descrittore a due byte che indica la VarType(8) 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. Per impostazione predefinita, Visual Basic 2005 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 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 gli elementi delle strutture come se fossero scritti singolarmente, ad eccezione del fatto che non esiste una 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.

    Nota

    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)

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

Scrive dati da una variabile in un file del disco. La funzionalità My offre un livello più elevato di 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

Obbligatorio. Qualsiasi numero di file valido.

Value
Double

Obbligatorio. Nome di variabile valido che contiene i dati scritti su disco.

RecordNumber
Int64

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

Eccezioni

RecordNumber< 1 e diverso da -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 del file. Poiché la quantità di dati di spaziatura interna non può essere determinata con certezza, è in genere consigliabile che la lunghezza del record corrisponda alla lunghezza dei dati 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 di almeno due byte maggiore della lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto che contiene un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType dell'oggetto e quindi scrive la variabile. Ad esempio, durante la scrittura di un oggetto contenente un numero intero, FilePut scrive sei byte: due byte che identificano l'oggetto come VarType(3) (Integer) e quattro byte che contengono i dati. La lunghezza del RecordLength record specificata dal 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. Per impostazione predefinita, Visual Basic 2005 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 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 gli elementi delle strutture come se fossero scritti singolarmente, ad eccezione del fatto che non esiste una 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.

    Nota

    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)

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

Scrive dati da una variabile in un file del disco. La funzionalità My offre un livello più elevato di 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

Obbligatorio. Qualsiasi numero di file valido.

Value
Decimal

Obbligatorio. Nome di variabile valido che contiene i dati scritti su disco.

RecordNumber
Int64

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

Eccezioni

RecordNumber< 1 e diverso da -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 e Binary modalità.

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

Il primo record o byte in un file è in posizione 1, il secondo record o byte è in posizione 2 e così via. Se si omette RecordNumber, il record o il byte successivo dopo l'ultima funzione o FilePut puntata all'ultima FileGet funzione viene scritta dall'ultima Seek funzione.

L'argomento StringIsFixedLength controlla se la funzione interpreta le stringhe come variabile o lunghezza fissa. FilePut non scrive il descrittore di lunghezza quando l'argomento è True. Se si usa StringIsFixedLength = True con , è necessario eseguire la stessa operazione con FileGetFilePute è necessario assicurarsi che la stringa sia inizializzata alla 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 compreso tra la fine di un record e l'inizio del record successivo viene riempito con il contenuto esistente del buffer di file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile avere la lunghezza del record corrispondente alla lunghezza dei dati 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 che passano alla variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere almeno due byte maggiore della lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto contenente un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType e quindi scrive la variabile. Ad esempio, quando si scrive un oggetto contenente un numero intero, FilePut scrive 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 almeno due byte maggiore del numero effettivo di byte necessari per archiviare la variabile.

  • Se la variabile scritta è un oggetto contenente una stringa, scrive un descrittore a due byte che identifica l'oggetto, FilePut un descrittore a due byte che indica la VarType(8) 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 di dimensioni fisse. Visual Basic 2005 non scrive il descrittore. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si scrive la matrice, è necessario corrispondere alla 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 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 della matrice. Ad esempio, la dichiarazione di matrice seguente richiede 218 byte quando la matrice viene scritta su disco.

    Dim MyArray(4, 9) As Integer
    
  • Se la variabile scritta è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FilePut scrive solo i dati delle variabili. La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla lunghezza dei dati scritti.

  • FilePut scrive elementi di strutture come se ognuno fosse scritto singolarmente, ad eccezione di nessun riempimento 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.

    Nota

    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 di Random modalità si applica, con alcune eccezioni. Le regole seguenti per i file aperti in Binary modalità differiscono dalle regole per Random la modalità:

  • La RecordLength clausola nella FileOpen funzione non ha alcun effetto. 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 equivale al numero di caratteri nella stringa. Ad esempio, le istruzioni seguenti scrivono 11 byte al numero di file 1:

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

Vedi anche

Si applica a

FilePut(Int32, DateTime, Int64)

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

Scrive dati da una variabile in un file del disco. La funzionalità My offre un livello più elevato di 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

Obbligatorio. Qualsiasi numero di file valido.

Value
DateTime

Obbligatorio. Nome di variabile valido che contiene i dati scritti su disco.

RecordNumber
Int64

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

Eccezioni

RecordNumber< 1 e diverso da -1.

La modalità File non è valida.

Esempio

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

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 e Binary modalità.

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

Il primo record o byte in un file è in posizione 1, il secondo record o byte è in posizione 2 e così via. Se si omette RecordNumber, il record o il byte successivo dopo l'ultima funzione o FilePut puntata all'ultima FileGet funzione viene scritta dall'ultima Seek funzione.

L'argomento StringIsFixedLength controlla se la funzione interpreta le stringhe come variabile o lunghezza fissa. FilePut non scrive il descrittore di lunghezza quando l'argomento è True. Se si usa StringIsFixedLength = True con , è necessario eseguire la stessa operazione con FileGetFilePute è necessario assicurarsi che la stringa sia inizializzata alla 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 compreso tra la fine di un record e l'inizio del record successivo viene riempito con il contenuto esistente del buffer di file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile avere la lunghezza del record corrispondente alla lunghezza dei dati 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 che passano alla variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere almeno due byte maggiore della lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto contenente un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType e quindi scrive la variabile. Ad esempio, quando si scrive un oggetto contenente un numero intero, FilePut scrive 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 almeno due byte maggiore del numero effettivo di byte necessari per archiviare la variabile.

  • Se la variabile scritta è un oggetto contenente una stringa, scrive un descrittore a due byte che identifica l'oggetto, FilePut un descrittore a due byte che indica la VarType(8) 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 di dimensioni fisse. Visual Basic 2005 non scrive il descrittore. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si scrive la matrice, è necessario corrispondere alla 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 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 della matrice. Ad esempio, la dichiarazione di matrice seguente richiede 218 byte quando la matrice viene scritta su disco.

    Dim MyArray(4, 9) As Integer
    
  • Se la variabile scritta è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FilePut scrive solo i dati delle variabili. La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla lunghezza dei dati scritti.

  • FilePut scrive elementi di strutture come se ognuno fosse scritto singolarmente, ad eccezione di nessun riempimento 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.

    Nota

    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)

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

Scrive dati da una variabile in un file del disco. La funzionalità My offre un livello più elevato di 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

Obbligatorio. Qualsiasi numero di file valido.

Value
Char

Obbligatorio. Nome di variabile valido che contiene i dati scritti su disco.

RecordNumber
Int64

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

Eccezioni

RecordNumber< 1 e diverso da -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 del file. Poiché la quantità di dati di spaziatura interna non può essere determinata con certezza, è in genere consigliabile che la lunghezza del record corrisponda alla lunghezza dei dati 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 di almeno due byte maggiore della lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto che contiene un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType dell'oggetto e quindi scrive la variabile. Ad esempio, durante la scrittura di un oggetto contenente un numero intero, FilePut scrive sei byte: due byte che identificano l'oggetto come VarType(3) (Integer) e quattro byte che contengono i dati. La lunghezza del RecordLength record specificata dal 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. Per impostazione predefinita, Visual Basic 2005 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 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 gli elementi delle strutture come se fossero scritti singolarmente, ad eccezione del fatto che non esiste una 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.

    Nota

    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)

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

Scrive dati da una variabile in un file del disco. La funzionalità My offre un livello più elevato di 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

Obbligatorio. Qualsiasi numero di file valido.

Value
Byte

Obbligatorio. Nome di variabile valido che contiene i dati scritti su disco.

RecordNumber
Int64

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

Eccezioni

RecordNumber< 1 e diverso da -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 del file. Poiché la quantità di dati di spaziatura interna non può essere determinata con certezza, è in genere consigliabile che la lunghezza del record corrisponda alla lunghezza dei dati 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 di almeno due byte maggiore della lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto contenente un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType e quindi scrive la variabile. Ad esempio, quando si scrive un oggetto contenente un numero intero, FilePut scrive 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 almeno due byte maggiore del numero effettivo di byte necessari per archiviare la variabile.

  • Se la variabile scritta è un oggetto contenente una stringa, scrive un descrittore a due byte che identifica l'oggetto, FilePut un descrittore a due byte che indica la VarType(8) 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 di dimensioni fisse. Visual Basic 2005 non scrive il descrittore. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si scrive la matrice, è necessario corrispondere alla 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 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 della matrice. Ad esempio, la dichiarazione di matrice seguente richiede 218 byte quando la matrice viene scritta su disco.

    Dim MyArray(4, 9) As Integer
    
  • Se la variabile scritta è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FilePut scrive solo i dati delle variabili. La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla lunghezza dei dati scritti.

  • FilePut scrive elementi di strutture come se ognuno fosse scritto singolarmente, ad eccezione di nessun riempimento 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.

    Nota

    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 di Random modalità si applica, con alcune eccezioni. Le regole seguenti per i file aperti in Binary modalità differiscono dalle regole per Random la modalità:

  • La RecordLength clausola nella FileOpen funzione non ha alcun effetto. 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 equivale al numero di caratteri nella stringa. Ad esempio, le istruzioni seguenti scrivono 11 byte al numero di file 1:

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

Vedi anche

Si applica a

FilePut(Int32, Boolean, Int64)

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

Scrive dati da una variabile in un file del disco. La funzionalità My offre un livello più elevato di 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

Obbligatorio. Qualsiasi numero di file valido.

Value
Boolean

Obbligatorio. Nome di variabile valido che contiene i dati scritti su disco.

RecordNumber
Int64

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

Eccezioni

RecordNumber< 1 e diverso da -1.

La modalità File non è valida.

Esempio

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

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 e Binary modalità.

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

Il primo record o byte in un file è in posizione 1, il secondo record o byte è in posizione 2 e così via. Se si omette RecordNumber, il record o il byte successivo dopo l'ultima funzione o FilePut puntata all'ultima FileGet funzione viene scritta dall'ultima Seek funzione.

L'argomento StringIsFixedLength controlla se la funzione interpreta le stringhe come variabile o lunghezza fissa. FilePut non scrive il descrittore di lunghezza quando l'argomento è True. Se si usa StringIsFixedLength = True con , è necessario eseguire la stessa operazione con FileGetFilePute è necessario assicurarsi che la stringa sia inizializzata alla 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 compreso tra la fine di un record e l'inizio del record successivo viene riempito con il contenuto esistente del buffer di file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile avere la lunghezza del record corrispondente alla lunghezza dei dati 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 che passano alla variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere almeno due byte maggiore della lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto contenente un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType e quindi scrive la variabile. Ad esempio, quando si scrive un oggetto contenente un numero intero, FilePut scrive 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 almeno due byte maggiore del numero effettivo di byte necessari per archiviare la variabile.

  • Se la variabile scritta è un oggetto contenente una stringa, scrive un descrittore a due byte che identifica l'oggetto, FilePut un descrittore a due byte che indica la VarType(8) 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 di dimensioni fisse. Visual Basic 2005 non scrive il descrittore. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si scrive la matrice, è necessario corrispondere alla 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 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 della matrice. Ad esempio, la dichiarazione di matrice seguente richiede 218 byte quando la matrice viene scritta su disco.

    Dim MyArray(4, 9) As Integer
    
  • Se la variabile scritta è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FilePut scrive solo i dati delle variabili. La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla lunghezza dei dati scritti.

  • FilePut scrive elementi di strutture come se ognuno fosse scritto singolarmente, ad eccezione di nessun riempimento 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.

    Nota

    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 di Random modalità si applica, con alcune eccezioni. Le regole seguenti per i file aperti in Binary modalità differiscono dalle regole per Random la modalità:

  • La RecordLength clausola nella FileOpen funzione non ha alcun effetto. 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 equivale al numero di caratteri nella stringa. Ad esempio, le istruzioni seguenti scrivono 11 byte al numero di file 1:

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

Vedi anche

Si applica a

FilePut(Int32, Int16, Int64)

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

Scrive dati da una variabile in un file del disco. La funzionalità My offre un livello più elevato di 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

Obbligatorio. Qualsiasi numero di file valido.

Value
Int16

Obbligatorio. Nome di variabile valido che contiene i dati scritti su disco.

RecordNumber
Int64

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

Eccezioni

RecordNumber< 1 e diverso da -1.

La modalità File non è valida.

Esempio

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

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 e Binary modalità.

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

Il primo record o byte in un file è in posizione 1, il secondo record o byte è in posizione 2 e così via. Se si omette RecordNumber, il record o il byte successivo dopo l'ultima funzione o FilePut puntata all'ultima FileGet funzione viene scritta dall'ultima Seek funzione.

L'argomento StringIsFixedLength controlla se la funzione interpreta le stringhe come variabile o lunghezza fissa. FilePut non scrive il descrittore di lunghezza quando l'argomento è True. Se si usa StringIsFixedLength = True con , è necessario eseguire la stessa operazione con FileGetFilePute è necessario assicurarsi che la stringa sia inizializzata alla 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 compreso tra la fine di un record e l'inizio del record successivo viene riempito con il contenuto esistente del buffer di file. Poiché la quantità di dati di riempimento non può essere determinata con certezza, è in genere consigliabile avere la lunghezza del record corrispondente alla lunghezza dei dati 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 che passano alla variabile. Pertanto, la lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere almeno due byte maggiore della lunghezza effettiva della stringa.

  • Se la variabile scritta è un oggetto contenente un tipo numerico, FilePut scrive due byte che identificano l'oggetto VarType e quindi scrive la variabile. Ad esempio, quando si scrive un oggetto contenente un numero intero, FilePut scrive 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 almeno due byte maggiore del numero effettivo di byte necessari per archiviare la variabile.

  • Se la variabile scritta è un oggetto contenente una stringa, scrive un descrittore a due byte che identifica l'oggetto, FilePut un descrittore a due byte che indica laVarType(8) 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 di dimensioni fisse. Visual Basic 2005 non scrive il descrittore. Per scrivere il descrittore, impostare il ArrayIsDynamic parametro su True. Quando si scrive la matrice, è necessario corrispondere alla 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 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 della matrice. Ad esempio, la dichiarazione di matrice seguente richiede 218 byte quando la matrice viene scritta su disco.

    Dim MyArray(4, 9) As Integer
    
  • Se la variabile scritta è qualsiasi altro tipo di variabile (non una stringa a lunghezza variabile o un oggetto), FilePut scrive solo i dati delle variabili. La lunghezza del record specificata dalla RecordLength clausola nella FileOpen funzione deve essere maggiore o uguale alla lunghezza dei dati scritti.

  • FilePut scrive elementi di strutture come se ognuno fosse scritto singolarmente, ad eccezione di nessun riempimento 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.

    Nota

    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 di Random modalità si applica, con alcune eccezioni. Le regole seguenti per i file aperti in Binary modalità differiscono dalle regole per Random la modalità:

  • La RecordLength clausola nella FileOpen funzione non ha alcun effetto. 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 equivale al numero di caratteri nella stringa. Ad esempio, le istruzioni seguenti scrivono 11 byte al numero di file 1:

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

Vedi anche

Si applica a