FileSystem.FilePut Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à |
FilePut(Int32, String, Int64, Boolean) |
Scrive dati da una variabile in un file del disco. La funzionalità |
FilePut(Object, Object, Object) |
Obsoleti.
Obsoleti.
Obsoleti.
Scrive dati da una variabile in un file del disco. La funzionalità |
FilePut(Int32, ValueType, Int64) |
Scrive dati da una variabile in un file del disco. La funzionalità |
FilePut(Int32, Single, Int64) |
Scrive dati da una variabile in un file del disco. La funzionalità |
FilePut(Int32, Int32, Int64) |
Scrive dati da una variabile in un file del disco. La funzionalità |
FilePut(Int32, Array, Int64, Boolean, Boolean) |
Scrive dati da una variabile in un file del disco. La funzionalità |
FilePut(Int32, Double, Int64) |
Scrive dati da una variabile in un file del disco. La funzionalità |
FilePut(Int32, Decimal, Int64) |
Scrive dati da una variabile in un file del disco. La funzionalità |
FilePut(Int32, DateTime, Int64) |
Scrive dati da una variabile in un file del disco. La funzionalità |
FilePut(Int32, Char, Int64) |
Scrive dati da una variabile in un file del disco. La funzionalità |
FilePut(Int32, Byte, Int64) |
Scrive dati da una variabile in un file del disco. La funzionalità |
FilePut(Int32, Boolean, Int64) |
Scrive dati da una variabile in un file del disco. La funzionalità |
FilePut(Int32, Int16, Int64) |
Scrive dati da una variabile in un file del disco. La funzionalità |
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 FileGet
FilePut
e è 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 dellaFileOpen
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 nellaRecordLength
clausola dellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'oggettoVarType
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 comeVarType(3)
(Integer
) e quattro byte che contengono i dati. La lunghezza del record specificata dalRecordLength
parametro nellaFileOpen
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 dalRecordLength
parametro nellaFileOpen
funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire una stringa senza il descrittore, è necessario passareTrue
alStringIsFixedLength
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 suTrue
. 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 dallaRecordLength
clausola nellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'attributoVBFixedString
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 nellaFileOpen
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 richiedeWrite
l'accesso dall'enumerazione FileIOPermissionAccess .
Vedi anche
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Scrittura su file in Visual Basic
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 FileGet
FilePut
e è 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 dellaFileOpen
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 nellaRecordLength
clausola dellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'oggettoVarType
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 comeVarType(3)
(Integer
) e quattro byte che contengono i dati. La lunghezza del record specificata dalRecordLength
parametro nellaFileOpen
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 dalRecordLength
parametro nellaFileOpen
funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire una stringa senza il descrittore, è necessario passareTrue
alStringIsFixedLength
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 suTrue
. 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 dallaRecordLength
clausola nellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'attributoVBFixedString
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 nellaFileOpen
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 richiedeWrite
l'accesso dall'enumerazione FileIOPermissionAccess .
Vedi anche
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Scrittura su file in Visual Basic
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 FileGet
e 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 dellaFileOpen
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 nellaRecordLength
clausola dellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'oggettoVarType
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 comeVarType(3)
(Integer
) e quattro byte che contengono i dati. La lunghezza delRecordLength
record specificata dal parametro nellaFileOpen
funzione deve essere maggiore di almeno due byte rispetto al numero effettivo di byte necessari per archiviare la variabile.Se la variabile scritta è un oggetto contenente una stringa,
FilePut
scrive un descrittore a due byte che identifica l'oggettoVarType(8)
dell'oggetto, un descrittore a due byte che indica la lunghezza della stringa e quindi scrive i dati stringa. La lunghezza del record specificata dalRecordLength
parametro nellaFileOpen
funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire una stringa senza il descrittore, è necessario passareTrue
alStringIsFixedLength
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 suTrue
. 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 dallaRecordLength
clausola nellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'attributoVBFixedString
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 nellaFileOpen
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 richiedeWrite
l'accesso dall'enumerazione FileIOPermissionAccess .
Vedi anche
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Scrittura su file in Visual Basic
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 FileGet
e 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 dellaFileOpen
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 nellaRecordLength
clausola dellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'oggettoVarType
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 comeVarType(3)
(Integer
) e quattro byte che contengono i dati. La lunghezza delRecordLength
record specificata dal parametro nellaFileOpen
funzione deve essere maggiore di almeno due byte rispetto al numero effettivo di byte necessari per archiviare la variabile.Se la variabile scritta è un oggetto contenente una stringa,
FilePut
scrive un descrittore a due byte che identifica l'oggettoVarType(8)
dell'oggetto, un descrittore a due byte che indica la lunghezza della stringa e quindi scrive i dati stringa. La lunghezza del record specificata dalRecordLength
parametro nellaFileOpen
funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire una stringa senza il descrittore, è necessario passareTrue
alStringIsFixedLength
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 suTrue
. 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 dallaRecordLength
clausola nellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'attributoVBFixedString
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 nellaFileOpen
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 richiedeWrite
l'accesso dall'enumerazione FileIOPermissionAccess .
Vedi anche
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Scrittura su file in Visual Basic
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 FileGet
e 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 dellaFileOpen
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 nellaRecordLength
clausola dellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'oggettoVarType
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 comeVarType(3)
(Integer
) e quattro byte che contengono i dati. La lunghezza delRecordLength
record specificata dal parametro nellaFileOpen
funzione deve essere maggiore di almeno due byte rispetto al numero effettivo di byte necessari per archiviare la variabile.Se la variabile scritta è un oggetto contenente una stringa,
FilePut
scrive un descrittore a due byte che identifica l'oggettoVarType(8)
dell'oggetto, un descrittore a due byte che indica la lunghezza della stringa e quindi scrive i dati stringa. La lunghezza del record specificata dalRecordLength
parametro nellaFileOpen
funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire una stringa senza il descrittore, è necessario passareTrue
alStringIsFixedLength
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 suTrue
. 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 dallaRecordLength
clausola nellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'attributoVBFixedString
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 nellaFileOpen
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 richiedeWrite
l'accesso dall'enumerazione FileIOPermissionAccess .
Vedi anche
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Scrittura su file in Visual Basic
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 FileGet
FilePut
e è 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 dellaFileOpen
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 nellaRecordLength
clausola dellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'oggettoVarType
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 comeVarType(3)
(Integer
) e quattro byte che contengono i dati. La lunghezza del record specificata dalRecordLength
parametro nellaFileOpen
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 dalRecordLength
parametro nellaFileOpen
funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire una stringa senza il descrittore, è necessario passareTrue
alStringIsFixedLength
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 suTrue
. 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 dallaRecordLength
clausola nellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'attributoVBFixedString
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 nellaFileOpen
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 richiedeWrite
l'accesso dall'enumerazione FileIOPermissionAccess .
Vedi anche
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Scrittura su file in Visual Basic
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 FileGet
FilePut
e è 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 dellaFileOpen
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 nellaRecordLength
clausola dellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'oggettoVarType
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 comeVarType(3)
(Integer
) e quattro byte che contengono i dati. La lunghezza del record specificata dalRecordLength
parametro nellaFileOpen
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 dalRecordLength
parametro nellaFileOpen
funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire una stringa senza il descrittore, è necessario passareTrue
alStringIsFixedLength
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 suTrue
. 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 dallaRecordLength
clausola nellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'attributoVBFixedString
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 nellaFileOpen
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 richiedeWrite
l'accesso dall'enumerazione FileIOPermissionAccess .
Vedi anche
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Scrittura su file in Visual Basic
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 FileGet
e 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 dellaFileOpen
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 nellaRecordLength
clausola dellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'oggettoVarType
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 comeVarType(3)
(Integer
) e quattro byte che contengono i dati. La lunghezza delRecordLength
record specificata dal parametro nellaFileOpen
funzione deve essere maggiore di almeno due byte rispetto al numero effettivo di byte necessari per archiviare la variabile.Se la variabile scritta è un oggetto contenente una stringa,
FilePut
scrive un descrittore a due byte che identifica l'oggettoVarType(8)
dell'oggetto, un descrittore a due byte che indica la lunghezza della stringa e quindi scrive i dati stringa. La lunghezza del record specificata dalRecordLength
parametro nellaFileOpen
funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire una stringa senza il descrittore, è necessario passareTrue
alStringIsFixedLength
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 suTrue
. 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 dallaRecordLength
clausola nellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'attributoVBFixedString
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 nellaFileOpen
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 richiedeWrite
l'accesso dall'enumerazione FileIOPermissionAccess .
Vedi anche
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Scrittura su file in Visual Basic
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 FileGet
FilePut
e è 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 dellaFileOpen
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 nellaRecordLength
clausola dellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'oggettoVarType
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 comeVarType(3)
(Integer
) e quattro byte che contengono i dati. La lunghezza del record specificata dalRecordLength
parametro nellaFileOpen
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 dalRecordLength
parametro nellaFileOpen
funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire una stringa senza il descrittore, è necessario passareTrue
alStringIsFixedLength
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 suTrue
. 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 dallaRecordLength
clausola nellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'attributoVBFixedString
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 nellaFileOpen
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 richiedeWrite
l'accesso dall'enumerazione FileIOPermissionAccess .
Vedi anche
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Scrittura su file in Visual Basic
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 FileGet
FilePut
e è 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 dellaFileOpen
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 nellaRecordLength
clausola dellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'oggettoVarType
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 comeVarType(3)
(Integer
) e quattro byte che contengono i dati. La lunghezza del record specificata dalRecordLength
parametro nellaFileOpen
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 dalRecordLength
parametro nellaFileOpen
funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire una stringa senza il descrittore, è necessario passareTrue
alStringIsFixedLength
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 suTrue
. 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 dallaRecordLength
clausola nellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'attributoVBFixedString
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 nellaFileOpen
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 richiedeWrite
l'accesso dall'enumerazione FileIOPermissionAccess .
Vedi anche
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Scrittura su file in Visual Basic
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 FileGet
e 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 dellaFileOpen
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 nellaRecordLength
clausola dellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'oggettoVarType
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 comeVarType(3)
(Integer
) e quattro byte che contengono i dati. La lunghezza delRecordLength
record specificata dal parametro nellaFileOpen
funzione deve essere maggiore di almeno due byte rispetto al numero effettivo di byte necessari per archiviare la variabile.Se la variabile scritta è un oggetto contenente una stringa,
FilePut
scrive un descrittore a due byte che identifica l'oggettoVarType(8)
dell'oggetto, un descrittore a due byte che indica la lunghezza della stringa e quindi scrive i dati stringa. La lunghezza del record specificata dalRecordLength
parametro nellaFileOpen
funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire una stringa senza il descrittore, è necessario passareTrue
alStringIsFixedLength
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 suTrue
. 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 dallaRecordLength
clausola nellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'attributoVBFixedString
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 nellaFileOpen
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 richiedeWrite
l'accesso dall'enumerazione FileIOPermissionAccess .
Vedi anche
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Scrittura su file in Visual Basic
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 FileGet
e 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 dellaFileOpen
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 nellaRecordLength
clausola dellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'oggettoVarType
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 comeVarType(3)
(Integer
) e quattro byte che contengono i dati. La lunghezza del record specificata dalRecordLength
parametro nellaFileOpen
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 dalRecordLength
parametro nellaFileOpen
funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire una stringa senza il descrittore, è necessario passareTrue
alStringIsFixedLength
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 suTrue
. 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 dallaRecordLength
clausola nellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'attributoVBFixedString
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 nellaFileOpen
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 richiedeWrite
l'accesso dall'enumerazione FileIOPermissionAccess .
Vedi anche
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Scrittura su file in Visual Basic
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 FileGet
FilePut
e è 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 dellaFileOpen
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 nellaRecordLength
clausola dellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'oggettoVarType
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 comeVarType(3)
(Integer
) e quattro byte che contengono i dati. La lunghezza del record specificata dalRecordLength
parametro nellaFileOpen
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 dalRecordLength
parametro nellaFileOpen
funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire una stringa senza il descrittore, è necessario passareTrue
alStringIsFixedLength
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 suTrue
. 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 dallaRecordLength
clausola nellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'attributoVBFixedString
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 nellaFileOpen
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 richiedeWrite
l'accesso dall'enumerazione FileIOPermissionAccess .
Vedi anche
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Scrittura su file in Visual Basic
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 FileGet
FilePut
e è 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 dellaFileOpen
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 nellaRecordLength
clausola dellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'oggettoVarType
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 comeVarType(3)
(Integer
) e quattro byte che contengono i dati. La lunghezza del record specificata dalRecordLength
parametro nellaFileOpen
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 dalRecordLength
parametro nellaFileOpen
funzione deve essere almeno quattro byte maggiore della lunghezza effettiva della stringa. Se si vuole inserire una stringa senza il descrittore, è necessario passareTrue
alStringIsFixedLength
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 suTrue
. 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 dallaRecordLength
clausola nellaFileOpen
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 dallaRecordLength
clausola nellaFileOpen
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'attributoVBFixedString
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 nellaFileOpen
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 richiedeWrite
l'accesso dall'enumerazione FileIOPermissionAccess .
Vedi anche
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- Scrittura su file in Visual Basic