FileSystem.FilePut Método

Definição

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. F Para obter mais informações, consulte FileSystem.

Sobrecargas

Nome Description
FilePut(Int32, Int64, Int64)

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte FileSystem.

FilePut(Int32, String, Int64, Boolean)

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte FileSystem.

FilePut(Object, Object, Object)
Obsoleto.
Obsoleto.

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte FileSystem.

FilePut(Int32, ValueType, Int64)

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte FileSystem.

FilePut(Int32, Single, Int64)

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte FileSystem.

FilePut(Int32, Int32, Int64)

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte FileSystem.

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

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte FileSystem.

FilePut(Int32, Double, Int64)

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte FileSystem.

FilePut(Int32, Decimal, Int64)

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte FileSystem.

FilePut(Int32, DateTime, Int64)

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte FileSystem.

FilePut(Int32, Char, Int64)

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte FileSystem.

FilePut(Int32, Byte, Int64)

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte FileSystem.

FilePut(Int32, Boolean, Int64)

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte FileSystem.

FilePut(Int32, Int16, Int64)

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte FileSystem.

FilePut(Int32, Int64, Int64)

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte 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)

Parâmetros

FileNumber
Int32

Required. Qualquer número de arquivo válido.

Value
Int64

Required. Nome de variável válido que contém dados gravados em disco.

RecordNumber
Int64

Optional. Número de registro (Random arquivos de modo) ou número de byte (Binary arquivos de modo) no qual a gravação é iniciada.

Exceções

RecordNumber < 1 e não igual a -1.

O modo de arquivo é inválido.

Exemplos

Este exemplo usa a FilePut função para gravar dados em um arquivo. Cinco registros da estrutura Person são gravados no arquivo.

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

Comentários

FilePuté válido somente no modo e Binary no Random modo.

Os dados gravados geralmente FilePut são lidos de um arquivo usando FileGet.

O primeiro registo ou byte num ficheiro está na posição 1, o segundo registo ou byte está na posição 2 e assim sucessivamente. Se você omitir RecordNumber, o próximo registro ou byte após a última FileGet ou FilePut função ou apontado pela última Seek função será gravado.

O StringIsFixedLength argumento controla se a função interpreta cadeias de caracteres como variável ou comprimento fixo. FilePut não grava o descritor de comprimento quando o argumento é True. Se você usar StringIsFixedLength = True com FilePut, você terá que fazer o mesmo com FileGet, e você tem que ter certeza de que a cadeia de caracteres é inicializada para o comprimento esperado.

Modo Aleatório

Para arquivos abertos no Random modo, as seguintes regras se aplicam:

  • Se o comprimento dos dados que estão sendo gravados for menor que o comprimento especificado na RecordLength cláusula da FileOpen função, FilePut gravará registros subsequentes nos limites de comprimento do registro. O espaço entre o final de um registro e o início do próximo registro é adicionado com o conteúdo existente do buffer de arquivo. Como a quantidade de dados de preenchimento não pode ser determinada com certeza, geralmente é uma boa ideia fazer com que o comprimento do registro corresponda ao comprimento dos dados que estão sendo gravados. Se o comprimento dos dados que estão sendo gravados for maior do que o comprimento especificado na RecordLength cláusula da FileOpen função, uma exceção será gerada.

  • Se a variável que está sendo gravada for uma cadeia de caracteres, FilePut gravará um descritor de dois bytes que contém o comprimento da cadeia de caracteres e gravará os dados que vão para a variável. Portanto, o comprimento do registro especificado pela RecordLength cláusula na FileOpen função deve ser pelo menos dois bytes maior que o comprimento real da cadeia de caracteres.

  • Se a variável que está sendo gravada for um objeto que contém um tipo numérico, FilePut gravará dois bytes identificando o VarType objeto e gravará a variável. Por exemplo, ao escrever um objeto que contém um inteiro, FilePut grava seis bytes: dois bytes que identificam o objeto como VarType(3) (Integer) e quatro bytes que contêm os dados. O comprimento do registro especificado pelo RecordLength parâmetro na FileOpen função deve ser pelo menos dois bytes maior que o número real de bytes necessários para armazenar a variável.

  • Se a variável que está sendo gravada for um objeto que contém uma cadeia de caracteres, FilePut gravará um descritor de dois bytes identificando o VarType(8) objeto, um descritor de dois bytes que indica o comprimento da cadeia de caracteres e grava os dados da cadeia de caracteres. O comprimento do RecordLength registro especificado pelo parâmetro na FileOpen função deve ser pelo menos quatro bytes maior que o comprimento real da cadeia de caracteres. Se você quiser colocar uma cadeia de caracteres sem o descritor, deverá passar True para o StringIsFixedLength parâmetro e a cadeia de caracteres em que você leu deve ser o comprimento correto.

  • Se a variável que está sendo gravada for uma matriz, você terá a opção de escrever ou não um descritor para o tamanho e as dimensões da matriz. Visual Basic 6.0 e versões anteriores gravam o descritor de arquivo para uma matriz dinâmica, mas não para uma matriz de tamanho fixo. Visual Basic 2005 usa como padrão não gravar o descritor. Para gravar o descritor, defina o ArrayIsDynamic parâmetro como True. Ao escrever a matriz, você precisa corresponder à maneira como a matriz será lida; se ele for lido com o descritor, você precisará escrever o descritor. O descritor especifica a classificação da matriz, o tamanho e os limites inferiores para cada classificação. Seu comprimento é igual a 2 mais 8 vezes o número de dimensões: (2 + 8 * NumberOfDimensions). O comprimento do RecordLength registro especificado pela cláusula na FileOpen função deve ser maior ou igual à soma de todos os bytes necessários para gravar os dados da matriz e o descritor da matriz. Por exemplo, a declaração de matriz a seguir requer 218 bytes quando a matriz é gravada em disco.

    Dim MyArray(4, 9) As Integer
    
  • Se a variável que está sendo gravada for qualquer outro tipo de variável (não uma cadeia de caracteres de comprimento variável ou um objeto), FilePut gravará apenas os dados da variável. O comprimento do registro especificado pela RecordLength cláusula na FileOpen função deve ser maior ou igual ao comprimento dos dados que estão sendo gravados.

  • FilePut grava elementos de estruturas como se cada um fosse escrito individualmente, exceto que não há preenchimento entre elementos. O VBFixedString atributo pode ser aplicado a campos de cadeia de caracteres nas estruturas para indicar o tamanho da cadeia de caracteres quando gravado em disco.

    Observação

    Os campos de cadeia de caracteres que têm mais bytes do que o VBFixedString especificado pelo atributo são truncados quando gravados em disco,

Modo binário

Para arquivos abertos no Binary modo, a maioria das regras de Random modo se aplicam, com algumas exceções. As seguintes regras para arquivos abertos no Binary modo diferem das regras para Random o modo:

  • A RecordLength cláusula na FileOpen função não tem efeito. FilePut grava todas as variáveis no disco contíguamente, ou seja, sem preenchimento entre registros.

  • Para qualquer matriz diferente de uma matriz em uma estrutura, FilePut grava apenas os dados. Não foi escrito nenhum descritor.

  • FilePut grava cadeias de caracteres de comprimento variável que não são elementos de estruturas sem o descritor de comprimento de dois bytes. O número de bytes escritos é igual ao número de carateres na cadeia. Por exemplo, as instruções a seguir gravam 11 bytes no arquivo número 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Gravar em um arquivo usando a FilePut função requer Write acesso da FileIOPermissionAccess enumeração.

Confira também

Aplica-se a

FilePut(Int32, String, Int64, Boolean)

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte 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)

Parâmetros

FileNumber
Int32

Required. Qualquer número de arquivo válido.

Value
String

Required. Nome de variável válido que contém dados gravados em disco.

RecordNumber
Int64

Optional. Número de registro (Random arquivos de modo) ou número de byte (Binary arquivos de modo) no qual a gravação é iniciada.

StringIsFixedLength
Boolean

Optional. Aplica-se somente ao escrever uma cadeia de caracteres. Especifica se um descritor de comprimento de cadeia de caracteres de dois bytes deve ser gravado para a cadeia de caracteres no arquivo. O padrão é False.

Exceções

RecordNumber < 1 e não igual a -1.

O modo de arquivo é inválido.

Exemplos

Este exemplo usa a FilePut função para gravar dados em um arquivo. Cinco registros da estrutura Person são gravados no arquivo.

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

Comentários

FilePuté válido somente no modo e Binary no Random modo.

Os dados gravados geralmente FilePut são lidos de um arquivo usando FileGet.

O primeiro registo ou byte num ficheiro está na posição 1, o segundo registo ou byte está na posição 2 e assim sucessivamente. Se você omitir RecordNumber, o próximo registro ou byte após a última FileGet ou FilePut função ou apontado pela última Seek função será gravado.

O StringIsFixedLength argumento controla se a função interpreta cadeias de caracteres como variável ou comprimento fixo. FilePut não grava o descritor de comprimento quando o argumento é True. Se você usar StringIsFixedLength = True com FilePut, você terá que fazer o mesmo com FileGet, e você tem que ter certeza de que a cadeia de caracteres é inicializada para o comprimento esperado.

Modo Aleatório

Para arquivos abertos no Random modo, as seguintes regras se aplicam:

  • Se o comprimento dos dados que estão sendo gravados for menor que o comprimento especificado na RecordLength cláusula da FileOpen função, FilePut gravará registros subsequentes nos limites de comprimento do registro. O espaço entre o final de um registro e o início do próximo registro é adicionado com o conteúdo existente do buffer de arquivo. Como a quantidade de dados de preenchimento não pode ser determinada com certeza, geralmente é uma boa ideia fazer com que o comprimento do registro corresponda ao comprimento dos dados que estão sendo gravados. Se o comprimento dos dados que estão sendo gravados for maior do que o comprimento especificado na RecordLength cláusula da FileOpen função, uma exceção será gerada.

  • Se a variável que está sendo gravada for uma cadeia de caracteres, FilePut gravará um descritor de dois bytes que contém o comprimento da cadeia de caracteres e gravará os dados que vão para a variável. Portanto, o comprimento do registro especificado pela RecordLength cláusula na FileOpen função deve ser pelo menos dois bytes maior que o comprimento real da cadeia de caracteres.

  • Se a variável que está sendo gravada for um objeto que contém um tipo numérico, FilePut gravará dois bytes identificando o VarType objeto e gravará a variável. Por exemplo, ao escrever um objeto que contém um inteiro, FilePut grava seis bytes: dois bytes que identificam o objeto como VarType(3) (Integer) e quatro bytes que contêm os dados. O comprimento do registro especificado pelo RecordLength parâmetro na FileOpen função deve ser pelo menos dois bytes maior que o número real de bytes necessários para armazenar a variável.

  • Se a variável que está sendo gravada for um objeto que contém uma cadeia de caracteres, FilePut gravará um descritor de dois bytes identificando o VarType(8) objeto, um descritor de dois bytes que indica o comprimento da cadeia de caracteres e grava os dados da cadeia de caracteres. O comprimento do RecordLength registro especificado pelo parâmetro na FileOpen função deve ser pelo menos quatro bytes maior que o comprimento real da cadeia de caracteres. Se você quiser colocar uma cadeia de caracteres sem o descritor, deverá passar True para o StringIsFixedLength parâmetro e a cadeia de caracteres em que você leu deve ser o comprimento correto.

  • Se a variável que está sendo gravada for uma matriz, você terá a opção de escrever ou não um descritor para o tamanho e as dimensões da matriz. Visual Basic 6.0 e versões anteriores gravam o descritor de arquivo para uma matriz dinâmica, mas não para uma matriz de tamanho fixo. Visual Basic 2005 usa como padrão não gravar o descritor. Para gravar o descritor, defina o ArrayIsDynamic parâmetro como True. Ao escrever a matriz, você precisa corresponder à maneira como a matriz será lida; se ele for lido com o descritor, você precisará escrever o descritor. O descritor especifica a classificação da matriz, o tamanho e os limites inferiores para cada classificação. Seu comprimento é igual a 2 mais 8 vezes o número de dimensões: (2 + 8 * NumberOfDimensions). O comprimento do RecordLength registro especificado pela cláusula na FileOpen função deve ser maior ou igual à soma de todos os bytes necessários para gravar os dados da matriz e o descritor da matriz. Por exemplo, a declaração de matriz a seguir requer 218 bytes quando a matriz é gravada em disco.

    Dim MyArray(4, 9) As Integer
    
  • Se a variável que está sendo gravada for qualquer outro tipo de variável (não uma cadeia de caracteres de comprimento variável ou um objeto), FilePut gravará apenas os dados da variável. O comprimento do registro especificado pela RecordLength cláusula na FileOpen função deve ser maior ou igual ao comprimento dos dados que estão sendo gravados.

  • FilePut grava elementos de estruturas como se cada um fosse escrito individualmente, exceto que não há preenchimento entre elementos. O VBFixedString atributo pode ser aplicado a campos de cadeia de caracteres nas estruturas para indicar o tamanho da cadeia de caracteres quando gravado em disco.

    Observação

    Os campos de cadeia de caracteres que têm mais bytes do que o VBFixedString especificado pelo atributo são truncados quando gravados em disco,

Modo binário

Para arquivos abertos no Binary modo, a maioria das regras de Random modo se aplicam, com algumas exceções. As seguintes regras para arquivos abertos no Binary modo diferem das regras para Random o modo:

  • A RecordLength cláusula na FileOpen função não tem efeito. FilePut grava todas as variáveis no disco contíguamente, ou seja, sem preenchimento entre registros.

  • Para qualquer matriz diferente de uma matriz em uma estrutura, FilePut grava apenas os dados. Não foi escrito nenhum descritor.

  • FilePut grava cadeias de caracteres de comprimento variável que não são elementos de estruturas sem o descritor de comprimento de dois bytes. O número de bytes escritos é igual ao número de carateres na cadeia. Por exemplo, as instruções a seguir gravam 11 bytes no arquivo número 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Gravar em um arquivo usando a FilePut função requer Write acesso da FileIOPermissionAccess enumeração.

Confira também

Aplica-se a

FilePut(Object, Object, Object)

Cuidado

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

Cuidado

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

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte FileSystem.

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

Parâmetros

FileNumber
Object

Required. Qualquer número de arquivo válido.

Value
Object

Required. Nome de variável válido que contém dados gravados em disco.

RecordNumber
Object

Optional. Número de registro (Random arquivos de modo) ou número de byte (Binary arquivos de modo) no qual a gravação é iniciada.

Atributos

Exceções

RecordNumber < 1 e não igual a -1.

O modo de arquivo é inválido.

Confira também

Aplica-se a

FilePut(Int32, ValueType, Int64)

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte 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)

Parâmetros

FileNumber
Int32

Required. Qualquer número de arquivo válido.

Value
ValueType

Required. Nome de variável válido que contém dados gravados em disco.

RecordNumber
Int64

Optional. Número de registro (Random arquivos de modo) ou número de byte (Binary arquivos de modo) no qual a gravação é iniciada.

Exceções

RecordNumber < 1 e não igual a -1.

O modo de arquivo é inválido.

Exemplos

Este exemplo usa a FilePut função para gravar dados em um arquivo. Cinco registros da estrutura Person são gravados no arquivo.

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

Comentários

FilePuté válido somente no modo e Binary no Random modo.

Os dados gravados geralmente FilePut são lidos de um arquivo usando FileGet.

O primeiro registo ou byte num ficheiro está na posição 1, o segundo registo ou byte está na posição 2 e assim sucessivamente. Se você omitir RecordNumber, o próximo registro ou byte após a última FileGet ou FilePut função ou apontado pela última Seek função será gravado.

O StringIsFixedLength argumento controla se a função interpreta cadeias de caracteres como variável ou comprimento fixo. FilePut não grava o descritor de comprimento quando o argumento é True. Se você usar StringIsFixedLength = True com FilePut, você terá que fazer o mesmo com FileGet, e você tem que ter certeza de que a cadeia de caracteres é inicializada para o comprimento esperado.

Modo Aleatório

Para arquivos abertos no Random modo, as seguintes regras se aplicam:

  • Se o comprimento dos dados que estão sendo gravados for menor que o comprimento especificado naRecordLength cláusula da FileOpen função, FilePut gravará registros subsequentes nos limites de comprimento do registro. O espaço entre o final de um registro e o início do próximo registro é adicionado com o conteúdo existente do buffer de arquivo. Como a quantidade de dados de preenchimento não pode ser determinada com certeza, geralmente é uma boa ideia fazer com que o comprimento do registro corresponda ao comprimento dos dados que estão sendo gravados. Se o comprimento dos dados que estão sendo gravados for maior do que o comprimento especificado na RecordLength cláusula da FileOpen função, uma exceção será gerada.

  • Se a variável que está sendo gravada for uma cadeia de caracteres, FilePut gravará um descritor de dois bytes que contém o comprimento da cadeia de caracteres e gravará os dados que vão para a variável. Portanto, o comprimento do registro especificado pela RecordLength cláusula na FileOpen função deve ser pelo menos dois bytes maior que o comprimento real da cadeia de caracteres.

  • Se a variável que está sendo gravada for um objeto que contém um tipo numérico, FilePut gravará dois bytes identificando o VarType objeto e gravará a variável. Por exemplo, ao escrever um objeto que contém um inteiro, FilePut grava seis bytes: dois bytes que identificam o objeto como VarType(3) (Integer) e quatro bytes que contêm os dados. O comprimento do registro especificado pelo RecordLength parâmetro na FileOpen função deve ser pelo menos dois bytes maior que o número real de bytes necessários para armazenar a variável.

  • Se a variável que está sendo gravada for um objeto que contém uma cadeia de caracteres, FilePut gravará um descritor de dois bytes identificando o VarType(8) objeto, um descritor de dois bytes que indica o comprimento da cadeia de caracteres e grava os dados da cadeia de caracteres. O comprimento do RecordLength registro especificado pelo parâmetro na FileOpen função deve ser pelo menos quatro bytes maior que o comprimento real da cadeia de caracteres. Se você quiser colocar uma cadeia de caracteres sem o descritor, deverá passar True para o StringIsFixedLength parâmetro e a cadeia de caracteres em que você leu deve ser o comprimento correto.

  • Se a variável que está sendo gravada for uma matriz, você terá a opção de escrever ou não um descritor para o tamanho e as dimensões da matriz. Visual Basic 6.0 e versões anteriores gravam o descritor de arquivo para uma matriz dinâmica, mas não para uma matriz de tamanho fixo. Visual Basic 2005 usa como padrão não gravar o descritor. Para gravar o descritor, defina o ArrayIsDynamic parâmetro como True. Ao escrever a matriz, você precisa corresponder à maneira como a matriz será lida; se ele for lido com o descritor, você precisará escrever o descritor. O descritor especifica a classificação da matriz, o tamanho e os limites inferiores para cada classificação. Seu comprimento é igual a 2 mais 8 vezes o número de dimensões: (2 + 8 * NumberOfDimensions). O comprimento do RecordLength registro especificado pela cláusula na FileOpen função deve ser maior ou igual à soma de todos os bytes necessários para gravar os dados da matriz e o descritor da matriz. Por exemplo, a declaração de matriz a seguir requer 218 bytes quando a matriz é gravada em disco.

    Dim MyArray(4, 9) As Integer
    
  • Se a variável que está sendo gravada for qualquer outro tipo de variável (não uma cadeia de caracteres de comprimento variável ou um objeto), FilePut gravará apenas os dados da variável. O comprimento do registro especificado pela RecordLength cláusula na FileOpen função deve ser maior ou igual ao comprimento dos dados que estão sendo gravados.

  • FilePut grava elementos de estruturas como se cada um fosse escrito individualmente, exceto que não há preenchimento entre elementos. O VBFixedString atributo pode ser aplicado a campos de cadeia de caracteres nas estruturas para indicar o tamanho da cadeia de caracteres quando gravado em disco.

    Observação

    Os campos de cadeia de caracteres que têm mais bytes do que o VBFixedString especificado pelo atributo são truncados quando gravados em disco,

Modo binário

Para arquivos abertos no Binary modo, a maioria das regras de Random modo se aplicam, com algumas exceções. As seguintes regras para arquivos abertos no Binary modo diferem das regras para Random o modo:

  • A RecordLength cláusula na FileOpen função não tem efeito. FilePut grava todas as variáveis no disco contíguamente, ou seja, sem preenchimento entre registros.

  • Para qualquer matriz diferente de uma matriz em uma estrutura, FilePut grava apenas os dados. Não foi escrito nenhum descritor.

  • FilePut grava cadeias de caracteres de comprimento variável que não são elementos de estruturas sem o descritor de comprimento de dois bytes. O número de bytes escritos é igual ao número de carateres na cadeia. Por exemplo, as instruções a seguir gravam 11 bytes no arquivo número 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Gravar em um arquivo usando a FilePut função requer Write acesso da FileIOPermissionAccess enumeração.

Confira também

Aplica-se a

FilePut(Int32, Single, Int64)

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte 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)

Parâmetros

FileNumber
Int32

Required. Qualquer número de arquivo válido.

Value
Single

Required. Nome de variável válido que contém dados gravados em disco.

RecordNumber
Int64

Optional. Número de registro (Random arquivos de modo) ou número de byte (Binary arquivos de modo) no qual a gravação é iniciada.

Exceções

RecordNumber < 1 e não igual a -1.

O modo de arquivo é inválido.

Exemplos

Este exemplo usa a FilePut função para gravar dados em um arquivo. Cinco registros da estrutura Person são gravados no arquivo.

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

Comentários

FilePuté válido somente no modo e Binary no Random modo.

Os dados gravados geralmente FilePut são lidos de um arquivo usando FileGet.

O primeiro registo ou byte num ficheiro está na posição 1, o segundo registo ou byte está na posição 2 e assim sucessivamente. Se você omitir RecordNumber, o próximo registro ou byte após a última FileGet ou FilePut função ou apontado pela última Seek função será gravado.

O StringIsFixedLength argumento controla se a função interpreta cadeias de caracteres como variável ou comprimento fixo. FilePut não grava o descritor de comprimento quando o argumento é True. Se você usar StringIsFixedLength = True com FilePut, você terá que fazer o mesmo com FileGet, e você tem que ter certeza de que a cadeia de caracteres é inicializada para o comprimento esperado.

Modo Aleatório

Para arquivos abertos no Random modo, as seguintes regras se aplicam:

  • Se o comprimento dos dados que estão sendo gravados for menor que o comprimento especificado na RecordLength cláusula da FileOpen função, FilePut gravará registros subsequentes nos limites de comprimento do registro. O espaço entre o final de um registro e o início do próximo registro é adicionado com o conteúdo existente do buffer de arquivo. Como a quantidade de dados de preenchimento não pode ser determinada com certeza, geralmente é uma boa ideia fazer com que o comprimento do registro corresponda ao comprimento dos dados que estão sendo gravados. Se o comprimento dos dados que estão sendo gravados for maior do que o comprimento especificado na RecordLength cláusula da FileOpen função, uma exceção será gerada.

  • Se a variável que está sendo gravada for uma cadeia de caracteres, FilePut gravará um descritor de dois bytes que contém o comprimento da cadeia de caracteres e gravará os dados que vão para a variável. Portanto, o comprimento do registro especificado pela RecordLength cláusula na FileOpen função deve ser pelo menos dois bytes maior que o comprimento real da cadeia de caracteres.

  • Se a variável que está sendo gravada for um objeto que contém um tipo numérico, FilePut gravará dois bytes identificando o VarType objeto e gravará a variável. Por exemplo, ao escrever um objeto que contém um inteiro, FilePut grava seis bytes: dois bytes que identificam o objeto como VarType(3) (Integer) e quatro bytes que contêm os dados. O comprimento do registro especificado pelo RecordLength parâmetro na FileOpen função deve ser pelo menos dois bytes maior que o número real de bytes necessários para armazenar a variável.

  • Se a variável que está sendo gravada for um objeto que contém uma cadeia de caracteres, FilePut gravará um descritor de dois bytes identificando o VarType(8) objeto, um descritor de dois bytes que indica o comprimento da cadeia de caracteres e grava os dados da cadeia de caracteres. O comprimento do RecordLength registro especificado pelo parâmetro na FileOpen função deve ser pelo menos quatro bytes maior que o comprimento real da cadeia de caracteres. Se você quiser colocar uma cadeia de caracteres sem o descritor, deverá passar True para o StringIsFixedLength parâmetro e a cadeia de caracteres em que você leu deve ser o comprimento correto.

  • Se a variável que está sendo gravada for uma matriz, você terá a opção de escrever ou não um descritor para o tamanho e as dimensões da matriz. Visual Basic 6.0 e versões anteriores gravam o descritor de arquivo para uma matriz dinâmica, mas não para uma matriz de tamanho fixo. Visual Basic 2005 usa como padrão não gravar o descritor. Para gravar o descritor, defina o ArrayIsDynamic parâmetro como True. Ao escrever a matriz, você precisa corresponder à maneira como a matriz será lida; se ele for lido com o descritor, você precisará escrever o descritor. O descritor especifica a classificação da matriz, o tamanho e os limites inferiores para cada classificação. Seu comprimento é igual a 2 mais 8 vezes o número de dimensões: (2 + 8 * NumberOfDimensions). O comprimento do RecordLength registro especificado pela cláusula na FileOpen função deve ser maior ou igual à soma de todos os bytes necessários para gravar os dados da matriz e o descritor da matriz. Por exemplo, a declaração de matriz a seguir requer 218 bytes quando a matriz é gravada em disco.

    Dim MyArray(4, 9) As Integer
    
  • Se a variável que está sendo gravada for qualquer outro tipo de variável (não uma cadeia de caracteres de comprimento variável ou um objeto), FilePut gravará apenas os dados da variável. O comprimento do registro especificado pela RecordLength cláusula na FileOpen função deve ser maior ou igual ao comprimento dos dados que estão sendo gravados.

  • FilePut grava elementos de estruturas como se cada um fosse escrito individualmente, exceto que não há preenchimento entre elementos. O VBFixedString atributo pode ser aplicado a campos de cadeia de caracteres nas estruturas para indicar o tamanho da cadeia de caracteres quando gravado em disco.

    Observação

    Os campos de cadeia de caracteres que têm mais bytes do que o VBFixedString especificado pelo atributo são truncados quando gravados em disco,

Modo binário

Para arquivos abertos no Binary modo, a maioria das regras de Random modo se aplicam, com algumas exceções. As seguintes regras para arquivos abertos no Binary modo diferem das regras para Random o modo:

  • A RecordLength cláusula na FileOpen função não tem efeito. FilePut grava todas as variáveis no disco contíguamente, ou seja, sem preenchimento entre registros.

  • Para qualquer matriz diferente de uma matriz em uma estrutura, FilePut grava apenas os dados. Não foi escrito nenhum descritor.

  • FilePut grava cadeias de caracteres de comprimento variável que não são elementos de estruturas sem o descritor de comprimento de dois bytes. O número de bytes escritos é igual ao número de carateres na cadeia. Por exemplo, as instruções a seguir gravam 11 bytes no arquivo número 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Gravar em um arquivo usando a FilePut função requer Write acesso da FileIOPermissionAccess enumeração.

Confira também

Aplica-se a

FilePut(Int32, Int32, Int64)

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte 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)

Parâmetros

FileNumber
Int32

Required. Qualquer número de arquivo válido.

Value
Int32

Required. Nome de variável válido que contém dados gravados em disco.

RecordNumber
Int64

Optional. Número de registro (Random arquivos de modo) ou número de byte (Binary arquivos de modo) no qual a gravação é iniciada.

Exceções

RecordNumber < 1 e não igual a -1.

O modo de arquivo é inválido.

Exemplos

Este exemplo usa a FilePut função para gravar dados em um arquivo. Cinco registros da estrutura Person são gravados no arquivo.

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

Comentários

FilePuté válido somente no modo e Binary no Random modo.

Os dados gravados geralmente FilePut são lidos de um arquivo usando FileGet.

O primeiro registo ou byte num ficheiro está na posição 1, o segundo registo ou byte está na posição 2 e assim sucessivamente. Se você omitir RecordNumber, o próximo registro ou byte após a última FileGet ou FilePut função ou apontado pela última Seek função será gravado.

O StringIsFixedLength argumento controla se a função interpreta cadeias de caracteres como variável ou comprimento fixo. FilePut não grava o descritor de comprimento quando o argumento é True. Se você usar StringIsFixedLength = True com FilePut, você terá que fazer o mesmo com FileGet, e você tem que ter certeza de que a cadeia de caracteres é inicializada para o comprimento esperado.

Modo Aleatório

Para arquivos abertos no Random modo, as seguintes regras se aplicam:

  • Se o comprimento dos dados que estão sendo gravados for menor que o comprimento especificado na RecordLength cláusula da FileOpen função, FilePut gravará registros subsequentes nos limites de comprimento do registro. O espaço entre o final de um registro e o início do próximo registro é adicionado com o conteúdo existente do buffer de arquivo. Como a quantidade de dados de preenchimento não pode ser determinada com certeza, geralmente é uma boa ideia fazer com que o comprimento do registro corresponda ao comprimento dos dados que estão sendo gravados. Se o comprimento dos dados que estão sendo gravados for maior do que o comprimento especificado na RecordLength cláusula da FileOpen função, uma exceção será gerada.

  • Se a variável que está sendo gravada for uma cadeia de caracteres, FilePut gravará um descritor de dois bytes que contém o comprimento da cadeia de caracteres e gravará os dados que vão para a variável. Portanto, o comprimento do registro especificado pela RecordLength cláusula na FileOpen função deve ser pelo menos dois bytes maior que o comprimento real da cadeia de caracteres.

  • Se a variável que está sendo gravada for um objeto que contém um tipo numérico, FilePut gravará dois bytes identificando o VarType objeto e gravará a variável. Por exemplo, ao escrever um objeto que contém um inteiro, FilePut grava seis bytes: dois bytes que identificam o objeto como VarType(3) (Integer) e quatro bytes que contêm os dados. O comprimento do registro especificado pelo RecordLength parâmetro na FileOpen função deve ser pelo menos dois bytes maior que o número real de bytes necessários para armazenar a variável.

  • Se a variável que está sendo gravada for um objeto que contém uma cadeia de caracteres, FilePut gravará um descritor de dois bytes identificando o VarType(8) objeto, um descritor de dois bytes que indica o comprimento da cadeia de caracteres e grava os dados da cadeia de caracteres. O comprimento do RecordLength registro especificado pelo parâmetro na FileOpen função deve ser pelo menos quatro bytes maior que o comprimento real da cadeia de caracteres. Se você quiser colocar uma cadeia de caracteres sem o descritor, deverá passar True para o StringIsFixedLength parâmetro e a cadeia de caracteres em que você leu deve ser o comprimento correto.

  • Se a variável que está sendo gravada for uma matriz, você terá a opção de escrever ou não um descritor para o tamanho e as dimensões da matriz. Visual Basic 6.0 e versões anteriores gravam o descritor de arquivo para uma matriz dinâmica, mas não para uma matriz de tamanho fixo. Visual Basic 2005 usa como padrão não gravar o descritor. Para gravar o descritor, defina o ArrayIsDynamic parâmetro como True. Ao escrever a matriz, você precisa corresponder à maneira como a matriz será lida; se ele for lido com o descritor, você precisará escrever o descritor. O descritor especifica a classificação da matriz, o tamanho e os limites inferiores para cada classificação. Seu comprimento é igual a 2 mais 8 vezes o número de dimensões: (2 + 8 * NumberOfDimensions). O comprimento do RecordLength registro especificado pela cláusula na FileOpen função deve ser maior ou igual à soma de todos os bytes necessários para gravar os dados da matriz e o descritor da matriz. Por exemplo, a declaração de matriz a seguir requer 218 bytes quando a matriz é gravada em disco.

    Dim MyArray(4, 9) As Integer
    
  • Se a variável que está sendo gravada for qualquer outro tipo de variável (não uma cadeia de caracteres de comprimento variável ou um objeto), FilePut gravará apenas os dados da variável. O comprimento do registro especificado pela RecordLength cláusula na FileOpen função deve ser maior ou igual ao comprimento dos dados que estão sendo gravados.

  • FilePut grava elementos de estruturas como se cada um fosse escrito individualmente, exceto que não há preenchimento entre elementos. O VBFixedString atributo pode ser aplicado a campos de cadeia de caracteres nas estruturas para indicar o tamanho da cadeia de caracteres quando gravado em disco.

    Observação

    Os campos de cadeia de caracteres que têm mais bytes do que o VBFixedString especificado pelo atributo são truncados quando gravados em disco,

Modo binário

Para arquivos abertos no Binary modo, a maioria das regras de Random modo se aplicam, com algumas exceções. As seguintes regras para arquivos abertos no Binary modo diferem das regras para Random o modo:

  • A RecordLength cláusula na FileOpen função não tem efeito. FilePut grava todas as variáveis no disco contíguamente, ou seja, sem preenchimento entre registros.

  • Para qualquer matriz diferente de uma matriz em uma estrutura, FilePut grava apenas os dados. Não foi escrito nenhum descritor.

  • FilePut grava cadeias de caracteres de comprimento variável que não são elementos de estruturas sem o descritor de comprimento de dois bytes. O número de bytes escritos é igual ao número de carateres na cadeia. Por exemplo, as instruções a seguir gravam 11 bytes no arquivo número 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Gravar em um arquivo usando a FilePut função requer Write acesso da FileIOPermissionAccess enumeração.

Confira também

Aplica-se a

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

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte 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)

Parâmetros

FileNumber
Int32

Required. Qualquer número de arquivo válido.

Value
Array

Required. Nome de variável válido que contém dados gravados em disco.

RecordNumber
Int64

Optional. Número de registro (Random arquivos de modo) ou número de byte (Binary arquivos de modo) no qual a gravação é iniciada.

ArrayIsDynamic
Boolean

Optional. Aplica-se somente ao escrever uma matriz. Especifica se a matriz deve ser tratada como dinâmica e se deve escrever um descritor de matriz para a cadeia de caracteres que descreve o comprimento.

StringIsFixedLength
Boolean

Optional. Aplica-se somente ao escrever uma cadeia de caracteres. Especifica se um descritor de comprimento de cadeia de caracteres de dois bytes deve ser gravado para a cadeia de caracteres no arquivo. O padrão é False.

Exceções

RecordNumber < 1 e não igual a -1.

O modo de arquivo é inválido.

Exemplos

Este exemplo usa a FilePut função para gravar dados em um arquivo. Cinco registros da estrutura Person são gravados no arquivo.

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

Comentários

FilePuté válido somente no modo e Binary no Random modo.

Os dados gravados geralmente FilePut são lidos de um arquivo usando FileGet.

O primeiro registo ou byte num ficheiro está na posição 1, o segundo registo ou byte está na posição 2 e assim sucessivamente. Se você omitir RecordNumber, o próximo registro ou byte após a última FileGet ou FilePut função ou apontado pela última Seek função será gravado.

O StringIsFixedLength argumento controla se a função interpreta cadeias de caracteres como variável ou comprimento fixo. FilePut não grava o descritor de comprimento quando o argumento é True. Se você usar StringIsFixedLength = True com FilePut, você terá que fazer o mesmo com FileGet, e você tem que ter certeza de que a cadeia de caracteres é inicializada para o comprimento esperado.

Modo Aleatório

Para arquivos abertos no Random modo, as seguintes regras se aplicam:

  • Se o comprimento dos dados que estão sendo gravados for menor que o comprimento especificado na RecordLength cláusula da FileOpen função, FilePut gravará registros subsequentes nos limites de comprimento do registro. O espaço entre o final de um registro e o início do próximo registro é adicionado com o conteúdo existente do buffer de arquivo. Como a quantidade de dados de preenchimento não pode ser determinada com certeza, geralmente é uma boa ideia fazer com que o comprimento do registro corresponda ao comprimento dos dados que estão sendo gravados. Se o comprimento dos dados que estão sendo gravados for maior do que o comprimento especificado na RecordLength cláusula da FileOpen função, uma exceção será gerada.

  • Se a variável que está sendo gravada for uma cadeia de caracteres, FilePut gravará um descritor de dois bytes que contém o comprimento da cadeia de caracteres e gravará os dados que vão para a variável. Portanto, o comprimento do registro especificado pela RecordLength cláusula na FileOpen função deve ser pelo menos dois bytes maior que o comprimento real da cadeia de caracteres.

  • Se a variável que está sendo gravada for um objeto que contém um tipo numérico, FilePut gravará dois bytes identificando o VarType objeto e gravará a variável. Por exemplo, ao escrever um objeto que contém um inteiro, FilePut grava seis bytes: dois bytes que identificam o objeto como VarType(3) (Integer) e quatro bytes que contêm os dados. O comprimento do registro especificado pelo RecordLength parâmetro na FileOpen função deve ser pelo menos dois bytes maior que o número real de bytes necessários para armazenar a variável.

  • Se a variável que está sendo gravada for um objeto que contém uma cadeia de caracteres, FilePut gravará um descritor de dois bytes identificando o VarType(8) objeto, um descritor de dois bytes que indica o comprimento da cadeia de caracteres e grava os dados da cadeia de caracteres. O comprimento do RecordLength registro especificado pelo parâmetro na FileOpen função deve ser pelo menos quatro bytes maior que o comprimento real da cadeia de caracteres. Se você quiser colocar uma cadeia de caracteres sem o descritor, deverá passar True para o StringIsFixedLength parâmetro e a cadeia de caracteres em que você leu deve ser o comprimento correto.

  • Se a variável que está sendo gravada for uma matriz, você terá a opção de escrever ou não um descritor para o tamanho e as dimensões da matriz. Visual Basic 6.0 e versões anteriores gravam o descritor de arquivo para uma matriz dinâmica, mas não para uma matriz de tamanho fixo. Visual Basic 2005 usa como padrão não gravar o descritor. Para gravar o descritor, defina o ArrayIsDynamic parâmetro como True. Ao escrever a matriz, você precisa corresponder à maneira como a matriz será lida; se ele for lido com o descritor, você precisará escrever o descritor. O descritor especifica a classificação da matriz, o tamanho e os limites inferiores para cada classificação. Seu comprimento é igual a 2 mais 8 vezes o número de dimensões: (2 + 8 * NumberOfDimensions). O comprimento do RecordLength registro especificado pela cláusula na FileOpen função deve ser maior ou igual à soma de todos os bytes necessários para gravar os dados da matriz e o descritor da matriz. Por exemplo, a declaração de matriz a seguir requer 218 bytes quando a matriz é gravada em disco.

    Dim MyArray(4, 9) As Integer
    
  • Se a variável que está sendo gravada for qualquer outro tipo de variável (não uma cadeia de caracteres de comprimento variável ou um objeto), FilePut gravará apenas os dados da variável. O comprimento do registro especificado pela RecordLength cláusula na FileOpen função deve ser maior ou igual ao comprimento dos dados que estão sendo gravados.

  • FilePut grava elementos de estruturas como se cada um fosse escrito individualmente, exceto que não há preenchimento entre elementos. O VBFixedString atributo pode ser aplicado a campos de cadeia de caracteres nas estruturas para indicar o tamanho da cadeia de caracteres quando gravado em disco.

    Observação

    Os campos de cadeia de caracteres que têm mais bytes do que o VBFixedString especificado pelo atributo são truncados quando gravados em disco,

Modo binário

Para arquivos abertos no Binary modo, a maioria das regras de Random modo se aplicam, com algumas exceções. As seguintes regras para arquivos abertos no Binary modo diferem das regras para Random o modo:

  • A RecordLength cláusula na FileOpen função não tem efeito. FilePut grava todas as variáveis no disco contíguamente, ou seja, sem preenchimento entre registros.

  • Para qualquer matriz diferente de uma matriz em uma estrutura, FilePut grava apenas os dados. Não foi escrito nenhum descritor.

  • FilePut grava cadeias de caracteres de comprimento variável que não são elementos de estruturas sem o descritor de comprimento de dois bytes. O número de bytes escritos é igual ao número de carateres na cadeia. Por exemplo, as instruções a seguir gravam 11 bytes no arquivo número 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Gravar em um arquivo usando a FilePut função requer Write acesso da FileIOPermissionAccess enumeração.

Confira também

Aplica-se a

FilePut(Int32, Double, Int64)

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte 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)

Parâmetros

FileNumber
Int32

Required. Qualquer número de arquivo válido.

Value
Double

Required. Nome de variável válido que contém dados gravados em disco.

RecordNumber
Int64

Optional. Número de registro (Random arquivos de modo) ou número de byte (Binary arquivos de modo) no qual a gravação é iniciada.

Exceções

RecordNumber < 1 e não igual a -1.

O modo de arquivo é inválido.

Exemplos

Este exemplo usa a FilePut função para gravar dados em um arquivo. Cinco registros da estrutura Person são gravados no arquivo.

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

Comentários

FilePuté válido somente no modo e Binary no Random modo.

Os dados gravados geralmente FilePut são lidos de um arquivo usando FileGet.

O primeiro registo ou byte num ficheiro está na posição 1, o segundo registo ou byte está na posição 2 e assim sucessivamente. Se você omitir RecordNumber, o próximo registro ou byte após a última FileGet ou FilePut função ou apontado pela última Seek função será gravado.

O StringIsFixedLength argumento controla se a função interpreta cadeias de caracteres como variável ou comprimento fixo. FilePut não grava o descritor de comprimento quando o argumento é True. Se você usar StringIsFixedLength = True com FilePut, você terá que fazer o mesmo com FileGet, e você tem que ter certeza de que a cadeia de caracteres é inicializada para o comprimento esperado.

Modo Aleatório

Para arquivos abertos no Random modo, as seguintes regras se aplicam:

  • Se o comprimento dos dados que estão sendo gravados for menor que o comprimento especificado na RecordLength cláusula da FileOpen função, FilePut gravará registros subsequentes nos limites de comprimento do registro. O espaço entre o final de um registro e o início do próximo registro é adicionado com o conteúdo existente do buffer de arquivo. Como a quantidade de dados de preenchimento não pode ser determinada com certeza, geralmente é uma boa ideia fazer com que o comprimento do registro corresponda ao comprimento dos dados que estão sendo gravados. Se o comprimento dos dados que estão sendo gravados for maior do que o comprimento especificado na RecordLength cláusula da FileOpen função, uma exceção será gerada.

  • Se a variável que está sendo gravada for uma cadeia de caracteres, FilePut gravará um descritor de dois bytes que contém o comprimento da cadeia de caracteres e gravará os dados que vão para a variável. Portanto, o comprimento do registro especificado pela RecordLength cláusula na FileOpen função deve ser pelo menos dois bytes maior que o comprimento real da cadeia de caracteres.

  • Se a variável que está sendo gravada for um objeto que contém um tipo numérico, FilePut gravará dois bytes identificando o VarType objeto e gravará a variável. Por exemplo, ao escrever um objeto que contém um inteiro, FilePut grava seis bytes: dois bytes que identificam o objeto como VarType(3) (Integer) e quatro bytes que contêm os dados. O comprimento do registro especificado pelo RecordLength parâmetro na FileOpen função deve ser pelo menos dois bytes maior que o número real de bytes necessários para armazenar a variável.

  • Se a variável que está sendo gravada for um objeto que contém uma cadeia de caracteres, FilePut gravará um descritor de dois bytes identificando o VarType(8) objeto, um descritor de dois bytes que indica o comprimento da cadeia de caracteres e grava os dados da cadeia de caracteres. O comprimento do RecordLength registro especificado pelo parâmetro na FileOpen função deve ser pelo menos quatro bytes maior que o comprimento real da cadeia de caracteres. Se você quiser colocar uma cadeia de caracteres sem o descritor, deverá passar True para o StringIsFixedLength parâmetro e a cadeia de caracteres em que você leu deve ser o comprimento correto.

  • Se a variável que está sendo gravada for uma matriz, você terá a opção de escrever ou não um descritor para o tamanho e as dimensões da matriz. Visual Basic 6.0 e versões anteriores gravam o descritor de arquivo para uma matriz dinâmica, mas não para uma matriz de tamanho fixo. Visual Basic 2005 usa como padrão não gravar o descritor. Para gravar o descritor, defina o ArrayIsDynamic parâmetro como True. Ao escrever a matriz, você precisa corresponder à maneira como a matriz será lida; se ele for lido com o descritor, você precisará escrever o descritor. O descritor especifica a classificação da matriz, o tamanho e os limites inferiores para cada classificação. Seu comprimento é igual a 2 mais 8 vezes o número de dimensões: (2 + 8 * NumberOfDimensions). O comprimento do RecordLength registro especificado pela cláusula na FileOpen função deve ser maior ou igual à soma de todos os bytes necessários para gravar os dados da matriz e o descritor da matriz. Por exemplo, a declaração de matriz a seguir requer 218 bytes quando a matriz é gravada em disco.

    Dim MyArray(4, 9) As Integer
    
  • Se a variável que está sendo gravada for qualquer outro tipo de variável (não uma cadeia de caracteres de comprimento variável ou um objeto), FilePut gravará apenas os dados da variável. O comprimento do registro especificado pela RecordLength cláusula na FileOpen função deve ser maior ou igual ao comprimento dos dados que estão sendo gravados.

  • FilePut grava elementos de estruturas como se cada um fosse escrito individualmente, exceto que não há preenchimento entre elementos. O VBFixedString atributo pode ser aplicado a campos de cadeia de caracteres nas estruturas para indicar o tamanho da cadeia de caracteres quando gravado em disco.

    Observação

    Os campos de cadeia de caracteres que têm mais bytes do que o VBFixedString especificado pelo atributo são truncados quando gravados em disco,

Modo binário

Para arquivos abertos no Binary modo, a maioria das regras de Random modo se aplicam, com algumas exceções. As seguintes regras para arquivos abertos no Binary modo diferem das regras para Random o modo:

  • A RecordLength cláusula na FileOpen função não tem efeito. FilePut grava todas as variáveis no disco contíguamente, ou seja, sem preenchimento entre registros.

  • Para qualquer matriz diferente de uma matriz em uma estrutura, FilePut grava apenas os dados. Não foi escrito nenhum descritor.

  • FilePut grava cadeias de caracteres de comprimento variável que não são elementos de estruturas sem o descritor de comprimento de dois bytes. O número de bytes escritos é igual ao número de carateres na cadeia. Por exemplo, as instruções a seguir gravam 11 bytes no arquivo número 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Gravar em um arquivo usando a FilePut função requer Write acesso da FileIOPermissionAccess enumeração.

Confira também

Aplica-se a

FilePut(Int32, Decimal, Int64)

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte 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)

Parâmetros

FileNumber
Int32

Required. Qualquer número de arquivo válido.

Value
Decimal

Required. Nome de variável válido que contém dados gravados em disco.

RecordNumber
Int64

Optional. Número de registro (Random arquivos de modo) ou número de byte (Binary arquivos de modo) no qual a gravação é iniciada.

Exceções

RecordNumber < 1 e não igual a -1.

O modo de arquivo é inválido.

Exemplos

Este exemplo usa a FilePut função para gravar dados em um arquivo. Cinco registros da estrutura Person são gravados no arquivo.

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

Comentários

FilePuté válido somente no modo e Binary no Random modo.

Os dados gravados geralmente FilePut são lidos de um arquivo usando FileGet.

O primeiro registo ou byte num ficheiro está na posição 1, o segundo registo ou byte está na posição 2 e assim sucessivamente. Se você omitir RecordNumber, o próximo registro ou byte após a última FileGet ou FilePut função ou apontado pela última Seek função será gravado.

O StringIsFixedLength argumento controla se a função interpreta cadeias de caracteres como variável ou comprimento fixo. FilePut não grava o descritor de comprimento quando o argumento é True. Se você usar StringIsFixedLength = True com FilePut, você terá que fazer o mesmo com FileGet, e você tem que ter certeza de que a cadeia de caracteres é inicializada para o comprimento esperado.

Modo Aleatório

Para arquivos abertos no Random modo, as seguintes regras se aplicam:

  • Se o comprimento dos dados que estão sendo gravados for menor que o comprimento especificado na RecordLength cláusula da FileOpen função, FilePut gravará registros subsequentes nos limites de comprimento do registro. O espaço entre o final de um registro e o início do próximo registro é adicionado com o conteúdo existente do buffer de arquivo. Como a quantidade de dados de preenchimento não pode ser determinada com certeza, geralmente é uma boa ideia fazer com que o comprimento do registro corresponda ao comprimento dos dados que estão sendo gravados. Se o comprimento dos dados que estão sendo gravados for maior do que o comprimento especificado na RecordLength cláusula da FileOpen função, uma exceção será gerada.

  • Se a variável que está sendo gravada for uma cadeia de caracteres, FilePut gravará um descritor de dois bytes que contém o comprimento da cadeia de caracteres e gravará os dados que vão para a variável. Portanto, o comprimento do registro especificado pela RecordLength cláusula na FileOpen função deve ser pelo menos dois bytes maior que o comprimento real da cadeia de caracteres.

  • Se a variável que está sendo gravada for um objeto que contém um tipo numérico, FilePut gravará dois bytes identificando o VarType objeto e gravará a variável. Por exemplo, ao escrever um objeto que contém um inteiro, FilePut grava seis bytes: dois bytes que identificam o objeto como VarType(3) (Integer) e quatro bytes que contêm os dados. O comprimento do registro especificado pelo RecordLength parâmetro na FileOpen função deve ser pelo menos dois bytes maior que o número real de bytes necessários para armazenar a variável.

  • Se a variável que está sendo gravada for um objeto que contém uma cadeia de caracteres, FilePut gravará um descritor de dois bytes identificando o VarType(8) objeto, um descritor de dois bytes que indica o comprimento da cadeia de caracteres e grava os dados da cadeia de caracteres. O comprimento do RecordLength registro especificado pelo parâmetro na FileOpen função deve ser pelo menos quatro bytes maior que o comprimento real da cadeia de caracteres. Se você quiser colocar uma cadeia de caracteres sem o descritor, deverá passar True para o StringIsFixedLength parâmetro e a cadeia de caracteres em que você leu deve ser o comprimento correto.

  • Se a variável que está sendo gravada for uma matriz, você terá a opção de escrever ou não um descritor para o tamanho e as dimensões da matriz. Visual Basic 6.0 e versões anteriores gravam o descritor de arquivo para uma matriz dinâmica, mas não para uma matriz de tamanho fixo. Visual Basic 2005 usa como padrão não gravar o descritor. Para gravar o descritor, defina o ArrayIsDynamic parâmetro como True. Ao escrever a matriz, você precisa corresponder à maneira como a matriz será lida; se ele for lido com o descritor, você precisará escrever o descritor. O descritor especifica a classificação da matriz, o tamanho e os limites inferiores para cada classificação. Seu comprimento é igual a 2 mais 8 vezes o número de dimensões: (2 + 8 * NumberOfDimensions). O comprimento do RecordLength registro especificado pela cláusula na FileOpen função deve ser maior ou igual à soma de todos os bytes necessários para gravar os dados da matriz e o descritor da matriz. Por exemplo, a declaração de matriz a seguir requer 218 bytes quando a matriz é gravada em disco.

    Dim MyArray(4, 9) As Integer
    
  • Se a variável que está sendo gravada for qualquer outro tipo de variável (não uma cadeia de caracteres de comprimento variável ou um objeto), FilePut gravará apenas os dados da variável. O comprimento do registro especificado pela RecordLength cláusula na FileOpen função deve ser maior ou igual ao comprimento dos dados que estão sendo gravados.

  • FilePut grava elementos de estruturas como se cada um fosse escrito individualmente, exceto que não há preenchimento entre elementos. O VBFixedString atributo pode ser aplicado a campos de cadeia de caracteres nas estruturas para indicar o tamanho da cadeia de caracteres quando gravado em disco.

    Observação

    Os campos de cadeia de caracteres que têm mais bytes do que o VBFixedString especificado pelo atributo são truncados quando gravados em disco,

Modo binário

Para arquivos abertos no Binary modo, a maioria das regras de Random modo se aplicam, com algumas exceções. As seguintes regras para arquivos abertos no Binary modo diferem das regras para Random o modo:

  • A RecordLength cláusula na FileOpen função não tem efeito. FilePut grava todas as variáveis no disco contíguamente, ou seja, sem preenchimento entre registros.

  • Para qualquer matriz diferente de uma matriz em uma estrutura, FilePut grava apenas os dados. Não foi escrito nenhum descritor.

  • FilePut grava cadeias de caracteres de comprimento variável que não são elementos de estruturas sem o descritor de comprimento de dois bytes. O número de bytes escritos é igual ao número de carateres na cadeia. Por exemplo, as instruções a seguir gravam 11 bytes no arquivo número 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Gravar em um arquivo usando a FilePut função requer Write acesso da FileIOPermissionAccess enumeração.

Confira também

Aplica-se a

FilePut(Int32, DateTime, Int64)

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte 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)

Parâmetros

FileNumber
Int32

Required. Qualquer número de arquivo válido.

Value
DateTime

Required. Nome de variável válido que contém dados gravados em disco.

RecordNumber
Int64

Optional. Número de registro (Random arquivos de modo) ou número de byte (Binary arquivos de modo) no qual a gravação é iniciada.

Exceções

RecordNumber < 1 e não igual a -1.

O modo de arquivo é inválido.

Exemplos

Este exemplo usa a FilePut função para gravar dados em um arquivo. Cinco registros da estrutura Person são gravados no arquivo.

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

Comentários

FilePuté válido somente no modo e Binary no Random modo.

Os dados gravados geralmente FilePut são lidos de um arquivo usando FileGet.

O primeiro registo ou byte num ficheiro está na posição 1, o segundo registo ou byte está na posição 2 e assim sucessivamente. Se você omitir RecordNumber, o próximo registro ou byte após a última FileGet ou FilePut função ou apontado pela última Seek função será gravado.

O StringIsFixedLength argumento controla se a função interpreta cadeias de caracteres como variável ou comprimento fixo. FilePut não grava o descritor de comprimento quando o argumento é True. Se você usar StringIsFixedLength = True com FilePut, você terá que fazer o mesmo com FileGet, e você tem que ter certeza de que a cadeia de caracteres é inicializada para o comprimento esperado.

Modo Aleatório

Para arquivos abertos no Random modo, as seguintes regras se aplicam:

  • Se o comprimento dos dados que estão sendo gravados for menor que o comprimento especificado na RecordLength cláusula da FileOpen função, FilePut gravará registros subsequentes nos limites de comprimento do registro. O espaço entre o final de um registro e o início do próximo registro é adicionado com o conteúdo existente do buffer de arquivo. Como a quantidade de dados de preenchimento não pode ser determinada com certeza, geralmente é uma boa ideia fazer com que o comprimento do registro corresponda ao comprimento dos dados que estão sendo gravados. Se o comprimento dos dados que estão sendo gravados for maior do que o comprimento especificado na RecordLength cláusula da FileOpen função, uma exceção será gerada.

  • Se a variável que está sendo gravada for uma cadeia de caracteres, FilePut gravará um descritor de dois bytes que contém o comprimento da cadeia de caracteres e gravará os dados que vão para a variável. Portanto, o comprimento do registro especificado pela RecordLength cláusula na FileOpen função deve ser pelo menos dois bytes maior que o comprimento real da cadeia de caracteres.

  • Se a variável que está sendo gravada for um objeto que contém um tipo numérico, FilePut gravará dois bytes identificando o VarType objeto e gravará a variável. Por exemplo, ao escrever um objeto que contém um inteiro, FilePut grava seis bytes: dois bytes que identificam o objeto como VarType(3) (Integer) e quatro bytes que contêm os dados. O comprimento do registro especificado pelo RecordLength parâmetro na FileOpen função deve ser pelo menos dois bytes maior que o número real de bytes necessários para armazenar a variável.

  • Se a variável que está sendo gravada for um objeto que contém uma cadeia de caracteres, FilePut gravará um descritor de dois bytes identificando o VarType(8) objeto, um descritor de dois bytes que indica o comprimento da cadeia de caracteres e grava os dados da cadeia de caracteres. O comprimento do RecordLength registro especificado pelo parâmetro na FileOpen função deve ser pelo menos quatro bytes maior que o comprimento real da cadeia de caracteres. Se você quiser colocar uma cadeia de caracteres sem o descritor, deverá passar True para o StringIsFixedLength parâmetro e a cadeia de caracteres em que você leu deve ser o comprimento correto.

  • Se a variável que está sendo gravada for uma matriz, você terá a opção de escrever ou não um descritor para o tamanho e as dimensões da matriz. Visual Basic 6.0 e versões anteriores gravam o descritor de arquivo para uma matriz dinâmica, mas não para uma matriz de tamanho fixo. Visual Basic 2005 usa como padrão não gravar o descritor. Para gravar o descritor, defina o ArrayIsDynamic parâmetro como True. Ao escrever a matriz, você precisa corresponder à maneira como a matriz será lida; se ele for lido com o descritor, você precisará escrever o descritor. O descritor especifica a classificação da matriz, o tamanho e os limites inferiores para cada classificação. Seu comprimento é igual a 2 mais 8 vezes o número de dimensões: (2 + 8 * NumberOfDimensions). O comprimento do RecordLength registro especificado pela cláusula na FileOpen função deve ser maior ou igual à soma de todos os bytes necessários para gravar os dados da matriz e o descritor da matriz. Por exemplo, a declaração de matriz a seguir requer 218 bytes quando a matriz é gravada em disco.

    Dim MyArray(4, 9) As Integer
    
  • Se a variável que está sendo gravada for qualquer outro tipo de variável (não uma cadeia de caracteres de comprimento variável ou um objeto), FilePut gravará apenas os dados da variável. O comprimento do registro especificado pela RecordLength cláusula na FileOpen função deve ser maior ou igual ao comprimento dos dados que estão sendo gravados.

  • FilePut grava elementos de estruturas como se cada um fosse escrito individualmente, exceto que não há preenchimento entre elementos. O VBFixedString atributo pode ser aplicado a campos de cadeia de caracteres nas estruturas para indicar o tamanho da cadeia de caracteres quando gravado em disco.

    Observação

    Os campos de cadeia de caracteres que têm mais bytes do que o VBFixedString especificado pelo atributo são truncados quando gravados em disco,

Modo binário

Para arquivos abertos no Binary modo, a maioria das regras de Random modo se aplicam, com algumas exceções. As seguintes regras para arquivos abertos no Binary modo diferem das regras para Random o modo:

  • A RecordLength cláusula na FileOpen função não tem efeito. FilePut grava todas as variáveis no disco contíguamente, ou seja, sem preenchimento entre registros.

  • Para qualquer matriz diferente de uma matriz em uma estrutura, FilePut grava apenas os dados. Não foi escrito nenhum descritor.

  • FilePut grava cadeias de caracteres de comprimento variável que não são elementos de estruturas sem o descritor de comprimento de dois bytes. O número de bytes escritos é igual ao número de carateres na cadeia. Por exemplo, as instruções a seguir gravam 11 bytes no arquivo número 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Gravar em um arquivo usando a FilePut função requer Write acesso da FileIOPermissionAccess enumeração.

Confira também

Aplica-se a

FilePut(Int32, Char, Int64)

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte 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)

Parâmetros

FileNumber
Int32

Required. Qualquer número de arquivo válido.

Value
Char

Required. Nome de variável válido que contém dados gravados em disco.

RecordNumber
Int64

Optional. Número de registro (Random arquivos de modo) ou número de byte (Binary arquivos de modo) no qual a gravação é iniciada.

Exceções

RecordNumber < 1 e não igual a -1.

O modo de arquivo é inválido.

Exemplos

Este exemplo usa a FilePut função para gravar dados em um arquivo. Cinco registros da estrutura Person são gravados no arquivo.

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

Comentários

FilePuté válido somente no modo e Binary no Random modo.

Os dados gravados geralmente FilePut são lidos de um arquivo usando FileGet.

O primeiro registo ou byte num ficheiro está na posição 1, o segundo registo ou byte está na posição 2 e assim sucessivamente. Se você omitir RecordNumber, o próximo registro ou byte após a última FileGet ou FilePut função ou apontado pela última Seek função será gravado.

O StringIsFixedLength argumento controla se a função interpreta cadeias de caracteres como variável ou comprimento fixo. FilePut não grava o descritor de comprimento quando o argumento é True. Se você usar StringIsFixedLength = True com FilePut, você terá que fazer o mesmo com FileGet, e você tem que ter certeza de que a cadeia de caracteres é inicializada para o comprimento esperado.

Modo Aleatório

Para arquivos abertos no Random modo, as seguintes regras se aplicam:

  • Se o comprimento dos dados que estão sendo gravados for menor que o comprimento especificado na RecordLength cláusula da FileOpen função, FilePut gravará registros subsequentes nos limites de comprimento do registro. O espaço entre o final de um registro e o início do próximo registro é adicionado com o conteúdo existente do buffer de arquivo. Como a quantidade de dados de preenchimento não pode ser determinada com certeza, geralmente é uma boa ideia fazer com que o comprimento do registro corresponda ao comprimento dos dados que estão sendo gravados. Se o comprimento dos dados que estão sendo gravados for maior do que o comprimento especificado na RecordLength cláusula da FileOpen função, uma exceção será gerada.

  • Se a variável que está sendo gravada for uma cadeia de caracteres, FilePut gravará um descritor de dois bytes que contém o comprimento da cadeia de caracteres e gravará os dados que vão para a variável. Portanto, o comprimento do registro especificado pela RecordLength cláusula na FileOpen função deve ser pelo menos dois bytes maior que o comprimento real da cadeia de caracteres.

  • Se a variável que está sendo gravada for um objeto que contém um tipo numérico, FilePut gravará dois bytes identificando o VarType objeto e gravará a variável. Por exemplo, ao escrever um objeto que contém um inteiro, FilePut grava seis bytes: dois bytes que identificam o objeto como VarType(3) (Integer) e quatro bytes que contêm os dados. O comprimento do registro especificado pelo RecordLength parâmetro na FileOpen função deve ser pelo menos dois bytes maior que o número real de bytes necessários para armazenar a variável.

  • Se a variável que está sendo gravada for um objeto que contém uma cadeia de caracteres, FilePut gravará um descritor de dois bytes identificando o VarType(8) objeto, um descritor de dois bytes que indica o comprimento da cadeia de caracteres e grava os dados da cadeia de caracteres. O comprimento do RecordLength registro especificado pelo parâmetro na FileOpen função deve ser pelo menos quatro bytes maior que o comprimento real da cadeia de caracteres. Se você quiser colocar uma cadeia de caracteres sem o descritor, deverá passar True para o StringIsFixedLength parâmetro e a cadeia de caracteres em que você leu deve ser o comprimento correto.

  • Se a variável que está sendo gravada for uma matriz, você terá a opção de escrever ou não um descritor para o tamanho e as dimensões da matriz. Visual Basic 6.0 e versões anteriores gravam o descritor de arquivo para uma matriz dinâmica, mas não para uma matriz de tamanho fixo. Visual Basic 2005 usa como padrão não gravar o descritor. Para gravar o descritor, defina o ArrayIsDynamic parâmetro como True. Ao escrever a matriz, você precisa corresponder à maneira como a matriz será lida; se ele for lido com o descritor, você precisará escrever o descritor. O descritor especifica a classificação da matriz, o tamanho e os limites inferiores para cada classificação. Seu comprimento é igual a 2 mais 8 vezes o número de dimensões: (2 + 8 * NumberOfDimensions). O comprimento do RecordLength registro especificado pela cláusula na FileOpen função deve ser maior ou igual à soma de todos os bytes necessários para gravar os dados da matriz e o descritor da matriz. Por exemplo, a declaração de matriz a seguir requer 218 bytes quando a matriz é gravada em disco.

    Dim MyArray(4, 9) As Integer
    
  • Se a variável que está sendo gravada for qualquer outro tipo de variável (não uma cadeia de caracteres de comprimento variável ou um objeto), FilePut gravará apenas os dados da variável. O comprimento do registro especificado pela RecordLength cláusula na FileOpen função deve ser maior ou igual ao comprimento dos dados que estão sendo gravados.

  • FilePut grava elementos de estruturas como se cada um fosse escrito individualmente, exceto que não há preenchimento entre elementos. O VBFixedString atributo pode ser aplicado a campos de cadeia de caracteres nas estruturas para indicar o tamanho da cadeia de caracteres quando gravado em disco.

    Observação

    Os campos de cadeia de caracteres que têm mais bytes do que o VBFixedString especificado pelo atributo são truncados quando gravados em disco,

Modo binário

Para arquivos abertos no Binary modo, a maioria das regras de Random modo se aplicam, com algumas exceções. As seguintes regras para arquivos abertos no Binary modo diferem das regras para Random o modo:

  • A RecordLength cláusula na FileOpen função não tem efeito. FilePut grava todas as variáveis no disco contíguamente, ou seja, sem preenchimento entre registros.

  • Para qualquer matriz diferente de uma matriz em uma estrutura, FilePut grava apenas os dados. Não foi escrito nenhum descritor.

  • FilePut grava cadeias de caracteres de comprimento variável que não são elementos de estruturas sem o descritor de comprimento de dois bytes. O número de bytes escritos é igual ao número de carateres na cadeia. Por exemplo, as instruções a seguir gravam 11 bytes no arquivo número 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Gravar em um arquivo usando a FilePut função requer Write acesso da FileIOPermissionAccess enumeração.

Confira também

Aplica-se a

FilePut(Int32, Byte, Int64)

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte 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)

Parâmetros

FileNumber
Int32

Required. Qualquer número de arquivo válido.

Value
Byte

Required. Nome de variável válido que contém dados gravados em disco.

RecordNumber
Int64

Optional. Número de registro (Random arquivos de modo) ou número de byte (Binary arquivos de modo) no qual a gravação é iniciada.

Exceções

RecordNumber < 1 e não igual a -1.

O modo de arquivo é inválido.

Exemplos

Este exemplo usa a FilePut função para gravar dados em um arquivo. Cinco registros da estrutura Person são gravados no arquivo.

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

Comentários

FilePuté válido somente no modo e Binary no Random modo.

Os dados gravados geralmente FilePut são lidos de um arquivo usando FileGet.

O primeiro registo ou byte num ficheiro está na posição 1, o segundo registo ou byte está na posição 2 e assim sucessivamente. Se você omitir RecordNumber, o próximo registro ou byte após a última FileGet ou FilePut função ou apontado pela última Seek função será gravado.

O StringIsFixedLength argumento controla se a função interpreta cadeias de caracteres como variável ou comprimento fixo. FilePut não grava o descritor de comprimento quando o argumento é True. Se você usar StringIsFixedLength = True com FilePut, você terá que fazer o mesmo com FileGet, e você tem que ter certeza de que a cadeia de caracteres é inicializada para o comprimento esperado.

Modo Aleatório

Para arquivos abertos no Random modo, as seguintes regras se aplicam:

  • Se o comprimento dos dados que estão sendo gravados for menor que o comprimento especificado na RecordLength cláusula da FileOpen função, FilePut gravará registros subsequentes nos limites de comprimento do registro. O espaço entre o final de um registro e o início do próximo registro é adicionado com o conteúdo existente do buffer de arquivo. Como a quantidade de dados de preenchimento não pode ser determinada com certeza, geralmente é uma boa ideia fazer com que o comprimento do registro corresponda ao comprimento dos dados que estão sendo gravados. Se o comprimento dos dados que estão sendo gravados for maior do que o comprimento especificado na RecordLength cláusula da FileOpen função, uma exceção será gerada.

  • Se a variável que está sendo gravada for uma cadeia de caracteres, FilePut gravará um descritor de dois bytes que contém o comprimento da cadeia de caracteres e gravará os dados que vão para a variável. Portanto, o comprimento do registro especificado pela RecordLength cláusula na FileOpen função deve ser pelo menos dois bytes maior que o comprimento real da cadeia de caracteres.

  • Se a variável que está sendo gravada for um objeto que contém um tipo numérico, FilePut gravará dois bytes identificando o VarType objeto e gravará a variável. Por exemplo, ao escrever um objeto que contém um inteiro, FilePut grava seis bytes: dois bytes que identificam o objeto como VarType(3) (Integer) e quatro bytes que contêm os dados. O comprimento do registro especificado pelo RecordLength parâmetro na FileOpen função deve ser pelo menos dois bytes maior que o número real de bytes necessários para armazenar a variável.

  • Se a variável que está sendo gravada for um objeto que contém uma cadeia de caracteres, FilePut gravará um descritor de dois bytes identificando o VarType(8) objeto, um descritor de dois bytes que indica o comprimento da cadeia de caracteres e grava os dados da cadeia de caracteres. O comprimento do RecordLength registro especificado pelo parâmetro na FileOpen função deve ser pelo menos quatro bytes maior que o comprimento real da cadeia de caracteres. Se você quiser colocar uma cadeia de caracteres sem o descritor, deverá passar True para o StringIsFixedLength parâmetro e a cadeia de caracteres em que você leu deve ser o comprimento correto.

  • Se a variável que está sendo gravada for uma matriz, você terá a opção de escrever ou não um descritor para o tamanho e as dimensões da matriz. Visual Basic 6.0 e versões anteriores gravam o descritor de arquivo para uma matriz dinâmica, mas não para uma matriz de tamanho fixo. Visual Basic 2005 usa como padrão não gravar o descritor. Para gravar o descritor, defina o ArrayIsDynamic parâmetro como True. Ao escrever a matriz, você precisa corresponder à maneira como a matriz será lida; se ele for lido com o descritor, você precisará escrever o descritor. O descritor especifica a classificação da matriz, o tamanho e os limites inferiores para cada classificação. Seu comprimento é igual a 2 mais 8 vezes o número de dimensões: (2 + 8 * NumberOfDimensions). O comprimento do RecordLength registro especificado pela cláusula na FileOpen função deve ser maior ou igual à soma de todos os bytes necessários para gravar os dados da matriz e o descritor da matriz. Por exemplo, a declaração de matriz a seguir requer 218 bytes quando a matriz é gravada em disco.

    Dim MyArray(4, 9) As Integer
    
  • Se a variável que está sendo gravada for qualquer outro tipo de variável (não uma cadeia de caracteres de comprimento variável ou um objeto), FilePut gravará apenas os dados da variável. O comprimento do registro especificado pela RecordLength cláusula na FileOpen função deve ser maior ou igual ao comprimento dos dados que estão sendo gravados.

  • FilePut grava elementos de estruturas como se cada um fosse escrito individualmente, exceto que não há preenchimento entre elementos. O VBFixedString atributo pode ser aplicado a campos de cadeia de caracteres nas estruturas para indicar o tamanho da cadeia de caracteres quando gravado em disco.

    Observação

    Os campos de cadeia de caracteres que têm mais bytes do que o VBFixedString especificado pelo atributo são truncados quando gravados em disco,

Modo binário

Para arquivos abertos no Binary modo, a maioria das regras de Random modo se aplicam, com algumas exceções. As seguintes regras para arquivos abertos no Binary modo diferem das regras para Random o modo:

  • A RecordLength cláusula na FileOpen função não tem efeito. FilePut grava todas as variáveis no disco contíguamente, ou seja, sem preenchimento entre registros.

  • Para qualquer matriz diferente de uma matriz em uma estrutura, FilePut grava apenas os dados. Não foi escrito nenhum descritor.

  • FilePut grava cadeias de caracteres de comprimento variável que não são elementos de estruturas sem o descritor de comprimento de dois bytes. O número de bytes escritos é igual ao número de carateres na cadeia. Por exemplo, as instruções a seguir gravam 11 bytes no arquivo número 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Gravar em um arquivo usando a FilePut função requer Write acesso da FileIOPermissionAccess enumeração.

Confira também

Aplica-se a

FilePut(Int32, Boolean, Int64)

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte 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)

Parâmetros

FileNumber
Int32

Required. Qualquer número de arquivo válido.

Value
Boolean

Required. Nome de variável válido que contém dados gravados em disco.

RecordNumber
Int64

Optional. Número de registro (Random arquivos de modo) ou número de byte (Binary arquivos de modo) no qual a gravação é iniciada.

Exceções

RecordNumber < 1 e não igual a -1.

O modo de arquivo é inválido.

Exemplos

Este exemplo usa a FilePut função para gravar dados em um arquivo. Cinco registros da estrutura Person são gravados no arquivo.

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

Comentários

FilePuté válido somente no modo e Binary no Random modo.

Os dados gravados geralmente FilePut são lidos de um arquivo usando FileGet.

O primeiro registo ou byte num ficheiro está na posição 1, o segundo registo ou byte está na posição 2 e assim sucessivamente. Se você omitir RecordNumber, o próximo registro ou byte após a última FileGet ou FilePut função ou apontado pela última Seek função será gravado.

O StringIsFixedLength argumento controla se a função interpreta cadeias de caracteres como variável ou comprimento fixo. FilePut não grava o descritor de comprimento quando o argumento é True. Se você usar StringIsFixedLength = True com FilePut, você terá que fazer o mesmo com FileGet, e você tem que ter certeza de que a cadeia de caracteres é inicializada para o comprimento esperado.

Modo Aleatório

Para arquivos abertos no Random modo, as seguintes regras se aplicam:

  • Se o comprimento dos dados que estão sendo gravados for menor que o comprimento especificado na RecordLength cláusula da FileOpen função, FilePut gravará registros subsequentes nos limites de comprimento do registro. O espaço entre o final de um registro e o início do próximo registro é adicionado com o conteúdo existente do buffer de arquivo. Como a quantidade de dados de preenchimento não pode ser determinada com certeza, geralmente é uma boa ideia fazer com que o comprimento do registro corresponda ao comprimento dos dados que estão sendo gravados. Se o comprimento dos dados que estão sendo gravados for maior do que o comprimento especificado na RecordLength cláusula da FileOpen função, uma exceção será gerada.

  • Se a variável que está sendo gravada for uma cadeia de caracteres, FilePut gravará um descritor de dois bytes que contém o comprimento da cadeia de caracteres e gravará os dados que vão para a variável. Portanto, o comprimento do registro especificado pela RecordLength cláusula na FileOpen função deve ser pelo menos dois bytes maior que o comprimento real da cadeia de caracteres.

  • Se a variável que está sendo gravada for um objeto que contém um tipo numérico, FilePut gravará dois bytes identificando o VarType objeto e gravará a variável. Por exemplo, ao escrever um objeto que contém um inteiro, FilePut grava seis bytes: dois bytes que identificam o objeto como VarType(3) (Integer) e quatro bytes que contêm os dados. O comprimento do registro especificado pelo RecordLength parâmetro na FileOpen função deve ser pelo menos dois bytes maior que o número real de bytes necessários para armazenar a variável.

  • Se a variável que está sendo gravada for um objeto que contém uma cadeia de caracteres, FilePut gravará um descritor de dois bytes identificando o VarType(8) objeto, um descritor de dois bytes que indica o comprimento da cadeia de caracteres e grava os dados da cadeia de caracteres. O comprimento do RecordLength registro especificado pelo parâmetro na FileOpen função deve ser pelo menos quatro bytes maior que o comprimento real da cadeia de caracteres. Se você quiser colocar uma cadeia de caracteres sem o descritor, deverá passar True para o StringIsFixedLength parâmetro e a cadeia de caracteres em que você leu deve ser o comprimento correto.

  • Se a variável que está sendo gravada for uma matriz, você terá a opção de escrever ou não um descritor para o tamanho e as dimensões da matriz. Visual Basic 6.0 e versões anteriores gravam o descritor de arquivo para uma matriz dinâmica, mas não para uma matriz de tamanho fixo. Visual Basic 2005 usa como padrão não gravar o descritor. Para gravar o descritor, defina o ArrayIsDynamic parâmetro como True. Ao escrever a matriz, você precisa corresponder à maneira como a matriz será lida; se ele for lido com o descritor, você precisará escrever o descritor. O descritor especifica a classificação da matriz, o tamanho e os limites inferiores para cada classificação. Seu comprimento é igual a 2 mais 8 vezes o número de dimensões: (2 + 8 * NumberOfDimensions). O comprimento do RecordLength registro especificado pela cláusula na FileOpen função deve ser maior ou igual à soma de todos os bytes necessários para gravar os dados da matriz e o descritor da matriz. Por exemplo, a declaração de matriz a seguir requer 218 bytes quando a matriz é gravada em disco.

    Dim MyArray(4, 9) As Integer
    
  • Se a variável que está sendo gravada for qualquer outro tipo de variável (não uma cadeia de caracteres de comprimento variável ou um objeto), FilePut gravará apenas os dados da variável. O comprimento do registro especificado pela RecordLength cláusula na FileOpen função deve ser maior ou igual ao comprimento dos dados que estão sendo gravados.

  • FilePut grava elementos de estruturas como se cada um fosse escrito individualmente, exceto que não há preenchimento entre elementos. O VBFixedString atributo pode ser aplicado a campos de cadeia de caracteres nas estruturas para indicar o tamanho da cadeia de caracteres quando gravado em disco.

    Observação

    Os campos de cadeia de caracteres que têm mais bytes do que o VBFixedString especificado pelo atributo são truncados quando gravados em disco,

Modo binário

Para arquivos abertos no Binary modo, a maioria das regras de Random modo se aplicam, com algumas exceções. As seguintes regras para arquivos abertos no Binary modo diferem das regras para Random o modo:

  • A RecordLength cláusula na FileOpen função não tem efeito. FilePut grava todas as variáveis no disco contíguamente, ou seja, sem preenchimento entre registros.

  • Para qualquer matriz diferente de uma matriz em uma estrutura, FilePut grava apenas os dados. Não foi escrito nenhum descritor.

  • FilePut grava cadeias de caracteres de comprimento variável que não são elementos de estruturas sem o descritor de comprimento de dois bytes. O número de bytes escritos é igual ao número de carateres na cadeia. Por exemplo, as instruções a seguir gravam 11 bytes no arquivo número 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Gravar em um arquivo usando a FilePut função requer Write acesso da FileIOPermissionAccess enumeração.

Confira também

Aplica-se a

FilePut(Int32, Int16, Int64)

Grava dados de uma variável em um arquivo de disco. O My recurso oferece melhor produtividade e desempenho em operações de E/S de arquivo do que FilePut. Para obter mais informações, consulte 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)

Parâmetros

FileNumber
Int32

Required. Qualquer número de arquivo válido.

Value
Int16

Required. Nome de variável válido que contém dados gravados em disco.

RecordNumber
Int64

Optional. Número de registro (Random arquivos de modo) ou número de byte (Binary arquivos de modo) no qual a gravação é iniciada.

Exceções

RecordNumber < 1 e não igual a -1.

O modo de arquivo é inválido.

Exemplos

Este exemplo usa a FilePut função para gravar dados em um arquivo. Cinco registros da estrutura Person são gravados no arquivo.

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

Comentários

FilePuté válido somente no modo e Binary no Random modo.

Os dados gravados geralmente FilePut são lidos de um arquivo usando FileGet.

O primeiro registo ou byte num ficheiro está na posição 1, o segundo registo ou byte está na posição 2 e assim sucessivamente. Se você omitir RecordNumber, o próximo registro ou byte após a última FileGet ou FilePut função ou apontado pela última Seek função será gravado.

O StringIsFixedLength argumento controla se a função interpreta cadeias de caracteres como variável ou comprimento fixo. FilePut não grava o descritor de comprimento quando o argumento é True. Se você usar StringIsFixedLength = True com FilePut, você terá que fazer o mesmo com FileGet, e você tem que ter certeza de que a cadeia de caracteres é inicializada para o comprimento esperado.

Modo Aleatório

Para arquivos abertos no Random modo, as seguintes regras se aplicam:

  • Se o comprimento dos dados que estão sendo gravados for menor que o comprimento especificado na RecordLength cláusula da FileOpen função, FilePut gravará registros subsequentes nos limites de comprimento do registro. O espaço entre o final de um registro e o início do próximo registro é adicionado com o conteúdo existente do buffer de arquivo. Como a quantidade de dados de preenchimento não pode ser determinada com certeza, geralmente é uma boa ideia fazer com que o comprimento do registro corresponda ao comprimento dos dados que estão sendo gravados. Se o comprimento dos dados que estão sendo gravados for maior do que o comprimento especificado na RecordLength cláusula da FileOpen função, uma exceção será gerada.

  • Se a variável que está sendo gravada for uma cadeia de caracteres, FilePut gravará um descritor de dois bytes que contém o comprimento da cadeia de caracteres e gravará os dados que vão para a variável. Portanto, o comprimento do registro especificado pela RecordLength cláusula na FileOpen função deve ser pelo menos dois bytes maior que o comprimento real da cadeia de caracteres.

  • Se a variável que está sendo gravada for um objeto que contém um tipo numérico, FilePut gravará dois bytes identificando o VarType objeto e gravará a variável. Por exemplo, ao escrever um objeto que contém um inteiro, FilePut grava seis bytes: dois bytes que identificam o objeto como VarType(3) (Integer) e quatro bytes que contêm os dados. O comprimento do registro especificado pelo RecordLength parâmetro na FileOpen função deve ser pelo menos dois bytes maior que o número real de bytes necessários para armazenar a variável.

  • Se a variável que está sendo gravada for um objeto que contém uma cadeia de caracteres, FilePut gravará um descritor de dois bytes identificando oVarType(8) objeto, um descritor de dois bytes que indica o comprimento da cadeia de caracteres e grava os dados da cadeia de caracteres. O comprimento do RecordLength registro especificado pelo parâmetro na FileOpen função deve ser pelo menos quatro bytes maior que o comprimento real da cadeia de caracteres. Se você quiser colocar uma cadeia de caracteres sem o descritor, deverá passar True para o StringIsFixedLength parâmetro e a cadeia de caracteres em que você leu deve ser o comprimento correto.

  • Se a variável que está sendo gravada for uma matriz, você terá a opção de escrever ou não um descritor para o tamanho e as dimensões da matriz. Visual Basic 6.0 e versões anteriores gravam o descritor de arquivo para uma matriz dinâmica, mas não para uma matriz de tamanho fixo. Visual Basic 2005 usa como padrão não gravar o descritor. Para gravar o descritor, defina o ArrayIsDynamic parâmetro como True. Ao escrever a matriz, você precisa corresponder à maneira como a matriz será lida; se ele for lido com o descritor, você precisará escrever o descritor. O descritor especifica a classificação da matriz, o tamanho e os limites inferiores para cada classificação. Seu comprimento é igual a 2 mais 8 vezes o número de dimensões: (2 + 8 * NumberOfDimensions). O comprimento do RecordLength registro especificado pela cláusula na FileOpen função deve ser maior ou igual à soma de todos os bytes necessários para gravar os dados da matriz e o descritor da matriz. Por exemplo, a declaração de matriz a seguir requer 218 bytes quando a matriz é gravada em disco.

    Dim MyArray(4, 9) As Integer
    
  • Se a variável que está sendo gravada for qualquer outro tipo de variável (não uma cadeia de caracteres de comprimento variável ou um objeto), FilePut gravará apenas os dados da variável. O comprimento do registro especificado pela RecordLength cláusula na FileOpen função deve ser maior ou igual ao comprimento dos dados que estão sendo gravados.

  • FilePut grava elementos de estruturas como se cada um fosse escrito individualmente, exceto que não há preenchimento entre elementos. O VBFixedString atributo pode ser aplicado a campos de cadeia de caracteres nas estruturas para indicar o tamanho da cadeia de caracteres quando gravado em disco.

    Observação

    Os campos de cadeia de caracteres que têm mais bytes do que o VBFixedString especificado pelo atributo são truncados quando gravados em disco,

Modo binário

Para arquivos abertos no Binary modo, a maioria das regras de Random modo se aplicam, com algumas exceções. As seguintes regras para arquivos abertos no Binary modo diferem das regras para Random o modo:

  • A RecordLength cláusula na FileOpen função não tem efeito. FilePut grava todas as variáveis no disco contíguamente, ou seja, sem preenchimento entre registros.

  • Para qualquer matriz diferente de uma matriz em uma estrutura, FilePut grava apenas os dados. Não foi escrito nenhum descritor.

  • FilePut grava cadeias de caracteres de comprimento variável que não são elementos de estruturas sem o descritor de comprimento de dois bytes. O número de bytes escritos é igual ao número de carateres na cadeia. Por exemplo, as instruções a seguir gravam 11 bytes no arquivo número 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Gravar em um arquivo usando a FilePut função requer Write acesso da FileIOPermissionAccess enumeração.

Confira também

Aplica-se a