FileSystem.FilePut Método

Definição

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. F Para mais informações, veja FileSystem.

Sobrecargas

Name Description
FilePut(Int32, Int64, Int64)

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja FileSystem.

FilePut(Int32, String, Int64, Boolean)

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja FileSystem.

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

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja FileSystem.

FilePut(Int32, ValueType, Int64)

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja FileSystem.

FilePut(Int32, Single, Int64)

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja FileSystem.

FilePut(Int32, Int32, Int64)

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja FileSystem.

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

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja FileSystem.

FilePut(Int32, Double, Int64)

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja FileSystem.

FilePut(Int32, Decimal, Int64)

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja FileSystem.

FilePut(Int32, DateTime, Int64)

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja FileSystem.

FilePut(Int32, Char, Int64)

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja FileSystem.

FilePut(Int32, Byte, Int64)

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja FileSystem.

FilePut(Int32, Boolean, Int64)

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja FileSystem.

FilePut(Int32, Int16, Int64)

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja FileSystem.

FilePut(Int32, Int64, Int64)

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja 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 ficheiro válido.

Value
Int64

Required. Nome válido de variável que contém dados escritos no disco.

RecordNumber
Int64

Optional. Número de registo (Random ficheiros mode) ou número de byte (Binary ficheiros mode) onde a escrita começa.

Exceções

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

O modo ficheiro é inválido.

Exemplos

Este exemplo utiliza a FilePut função para escrever dados num ficheiro. Cinco registos da estrutura Person são escritos no ficheiro.

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

Observações

FilePut é válido apenas em Random modo e Binary .

Os dados escritos com FilePut são geralmente lidos de um ficheiro 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 omitir RecordNumber, o próximo registo ou byte após o último FileGet ou FilePut função ou apontado pela última Seek função é escrito.

O StringIsFixedLength argumento controla se a função interpreta as cadeias como comprimento variável ou fixo. FilePut não escreve o descritor de comprimento quando o argumento é True. Se usares StringIsFixedLength = True com FilePut, tens de fazer o mesmo com FileGet, e tens de garantir que a string está inicializada ao comprimento esperado.

Modo Aleatório

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

  • Se o comprimento dos dados a ser escritos for inferior ao comprimento especificado na RecordLength cláusula da FileOpen função, FilePut escreve registos subsequentes nas fronteiras do comprimento do registo. O espaço entre o fim de um registo e o início do registo seguinte é preenchido com o conteúdo existente do buffer de ficheiros. Como a quantidade de dados de enchimento não pode ser determinada com certeza, é geralmente uma boa ideia que o comprimento do registo coincida com o comprimento dos dados a ser escritos. Se o comprimento dos dados a escrever for maior do que o comprimento especificado na RecordLength cláusula da FileOpen função, será lançada uma exceção.

  • Se a variável a escrever for uma cadeia, FilePut escreve um descritor de dois bytes que contém o comprimento da cadeia e depois escreve os dados que entram na variável. Portanto, o comprimento do registo especificado pela RecordLength cláusula na FileOpen função deve ser pelo menos dois bytes maior do que o comprimento real da cadeia.

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

  • Se a variável a escrever for um objeto que contém uma cadeia, FilePut escreve um descritor de dois bytes que identifica o VarType(8) do objeto, um descritor de dois bytes que indica o comprimento da cadeia, e depois escreve os dados da cadeia. O comprimento do registo especificado pelo RecordLength parâmetro na FileOpen função deve ser pelo menos quatro bytes superior ao comprimento real da cadeia. Se quiseres colocar uma cadeia sem o descriptor, deves passar True para o StringIsFixedLength parâmetro, e a cadeia em que leste deve ter o comprimento correto.

  • Se a variável a escrever for um array, tem a escolha de escrever ou não um descritor para o tamanho e dimensões do array. O Visual Basic 6.0 e versões anteriores escrevem o descritor de ficheiro para um array dinâmico, mas não para um array de tamanho fixo. O Visual Basic 2005 por defeito não escreve o descritor. Para escrever o descritor, defina o ArrayIsDynamic parâmetro para True. Ao escrever o array, tens de corresponder à forma como o array será lido; Se for lido com o descriptor, tens de escrever o descriptor. O descritor especifica o posto do array, o tamanho e os limites inferiores para cada rank. O seu comprimento é igual a 2 mais 8 vezes o número de dimensões: (2 + 8 * NúmeroDeDimensões). O comprimento do registo especificado pela RecordLength cláusula na FileOpen função deve ser maior ou igual à soma de todos os bytes necessários para escrever os dados do array e o descritor do array. Por exemplo, a seguinte declaração do array requer 218 bytes quando o array é escrito no disco.

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

  • FilePut escreve 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 nas estruturas para indicar o tamanho da cadeia quando escrita no disco.

    Note

    Os campos de string que têm mais bytes do que o especificado pelo VBFixedString atributo são truncados quando escritos no disco,

Modo Binário

Para ficheiros abertos no Binary modo, a maioria das Random regras do modo aplica-se, com algumas exceções. As seguintes regras para ficheiros abertos no Binary modo diferem das regras do Random modo:

  • A RecordLength cláusula na FileOpen função não tem efeito. FilePut escreve todas as variáveis no disco de forma contígua, ou seja, sem preenchimento entre registos.

  • Para qualquer array que não seja um array numa estrutura, FilePut escreve apenas os dados. Não está escrito nenhum descritor.

  • FilePut escreve cadeias 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 caracteres na cadeia. Por exemplo, as seguintes instruções escrevem 11 bytes no ficheiro número 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Escrever num ficheiro usando a FilePut função requer Write acesso a partir da FileIOPermissionAccess enumeração.

Ver também

Aplica-se a

FilePut(Int32, String, Int64, Boolean)

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja 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 ficheiro válido.

Value
String

Required. Nome válido de variável que contém dados escritos no disco.

RecordNumber
Int64

Optional. Número de registo (Random ficheiros mode) ou número de byte (Binary ficheiros mode) onde a escrita começa.

StringIsFixedLength
Boolean

Optional. Aplica-se apenas ao escrever uma string. Especifica se deve escrever um descritor de comprimento de string de dois bytes para a string no ficheiro. A predefinição é False.

Exceções

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

O modo ficheiro é inválido.

Exemplos

Este exemplo utiliza a FilePut função para escrever dados num ficheiro. Cinco registos da estrutura Person são escritos no ficheiro.

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

Observações

FilePut é válido apenas em Random modo e Binary .

Os dados escritos com FilePut são geralmente lidos de um ficheiro 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 omitir RecordNumber, o próximo registo ou byte após o último FileGet ou FilePut função ou apontado pela última Seek função é escrito.

O StringIsFixedLength argumento controla se a função interpreta as cadeias como comprimento variável ou fixo. FilePut não escreve o descritor de comprimento quando o argumento é True. Se usares StringIsFixedLength = True com FilePut, tens de fazer o mesmo com FileGet, e tens de garantir que a string está inicializada ao comprimento esperado.

Modo Aleatório

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

  • Se o comprimento dos dados a ser escritos for inferior ao comprimento especificado na RecordLength cláusula da FileOpen função, FilePut escreve registos subsequentes nas fronteiras do comprimento do registo. O espaço entre o fim de um registo e o início do registo seguinte é preenchido com o conteúdo existente do buffer de ficheiros. Como a quantidade de dados de enchimento não pode ser determinada com certeza, é geralmente uma boa ideia que o comprimento do registo coincida com o comprimento dos dados a ser escritos. Se o comprimento dos dados a escrever for maior do que o comprimento especificado na RecordLength cláusula da FileOpen função, será lançada uma exceção.

  • Se a variável a escrever for uma cadeia, FilePut escreve um descritor de dois bytes que contém o comprimento da cadeia e depois escreve os dados que entram na variável. Portanto, o comprimento do registo especificado pela RecordLength cláusula na FileOpen função deve ser pelo menos dois bytes maior do que o comprimento real da cadeia.

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

  • Se a variável a escrever for um objeto que contém uma cadeia, FilePut escreve um descritor de dois bytes que identifica o VarType(8) do objeto, um descritor de dois bytes que indica o comprimento da cadeia, e depois escreve os dados da cadeia. O comprimento do registo especificado pelo RecordLength parâmetro na FileOpen função deve ser pelo menos quatro bytes superior ao comprimento real da cadeia. Se quiseres colocar uma cadeia sem o descriptor, deves passar True para o StringIsFixedLength parâmetro, e a cadeia em que leste deve ter o comprimento correto.

  • Se a variável a escrever for um array, tem a escolha de escrever ou não um descritor para o tamanho e dimensões do array. O Visual Basic 6.0 e versões anteriores escrevem o descritor de ficheiro para um array dinâmico, mas não para um array de tamanho fixo. O Visual Basic 2005 por defeito não escreve o descritor. Para escrever o descritor, defina o ArrayIsDynamic parâmetro para True. Ao escrever o array, tens de corresponder à forma como o array será lido; Se for lido com o descriptor, tens de escrever o descriptor. O descritor especifica o posto do array, o tamanho e os limites inferiores para cada rank. O seu comprimento é igual a 2 mais 8 vezes o número de dimensões: (2 + 8 * NúmeroDeDimensões). O comprimento do registo especificado pela RecordLength cláusula na FileOpen função deve ser maior ou igual à soma de todos os bytes necessários para escrever os dados do array e o descritor do array. Por exemplo, a seguinte declaração do array requer 218 bytes quando o array é escrito no disco.

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

  • FilePut escreve 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 nas estruturas para indicar o tamanho da cadeia quando escrita no disco.

    Note

    Os campos de string que têm mais bytes do que o especificado pelo VBFixedString atributo são truncados quando escritos no disco,

Modo Binário

Para ficheiros abertos no Binary modo, a maioria das Random regras do modo aplica-se, com algumas exceções. As seguintes regras para ficheiros abertos no Binary modo diferem das regras do Random modo:

  • A RecordLength cláusula na FileOpen função não tem efeito. FilePut escreve todas as variáveis no disco de forma contígua, ou seja, sem preenchimento entre registos.

  • Para qualquer array que não seja um array numa estrutura, FilePut escreve apenas os dados. Não está escrito nenhum descritor.

  • FilePut escreve cadeias 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 caracteres na cadeia. Por exemplo, as seguintes instruções escrevem 11 bytes no ficheiro número 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Escrever num ficheiro usando a FilePut função requer Write acesso a partir da FileIOPermissionAccess enumeração.

Ver também

Aplica-se a

FilePut(Object, Object, Object)

Atenção

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

Atenção

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

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja 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 ficheiro válido.

Value
Object

Required. Nome válido de variável que contém dados escritos no disco.

RecordNumber
Object

Optional. Número de registo (Random ficheiros mode) ou número de byte (Binary ficheiros mode) onde a escrita começa.

Atributos

Exceções

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

O modo ficheiro é inválido.

Ver também

Aplica-se a

FilePut(Int32, ValueType, Int64)

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja 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 ficheiro válido.

Value
ValueType

Required. Nome válido de variável que contém dados escritos no disco.

RecordNumber
Int64

Optional. Número de registo (Random ficheiros mode) ou número de byte (Binary ficheiros mode) onde a escrita começa.

Exceções

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

O modo ficheiro é inválido.

Exemplos

Este exemplo utiliza a FilePut função para escrever dados num ficheiro. Cinco registos da estrutura Person são escritos no ficheiro.

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

Observações

FilePut é válido apenas em Random modo e Binary .

Os dados escritos com FilePut são geralmente lidos de um ficheiro 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 omitir RecordNumber, o próximo registo ou byte após o último FileGet ou FilePut função ou apontado pela última Seek função é escrito.

O StringIsFixedLength argumento controla se a função interpreta as cadeias como comprimento variável ou fixo. FilePut não escreve o descritor de comprimento quando o argumento é True. Se usares StringIsFixedLength = True com FilePut, tens de fazer o mesmo com FileGet, e tens de garantir que a string está inicializada ao comprimento esperado.

Modo Aleatório

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

  • Se o comprimento dos dados a ser escritos for inferior ao comprimento especificado naRecordLength cláusula da FileOpen função, FilePut escreve registos subsequentes nas fronteiras do comprimento do registo. O espaço entre o fim de um registo e o início do registo seguinte é preenchido com o conteúdo existente do buffer de ficheiros. Como a quantidade de dados de enchimento não pode ser determinada com certeza, é geralmente uma boa ideia que o comprimento do registo coincida com o comprimento dos dados a ser escritos. Se o comprimento dos dados a escrever for maior do que o comprimento especificado na RecordLength cláusula da FileOpen função, será lançada uma exceção.

  • Se a variável a escrever for uma cadeia, FilePut escreve um descritor de dois bytes que contém o comprimento da cadeia e depois escreve os dados que entram na variável. Portanto, o comprimento do registo especificado pela RecordLength cláusula na FileOpen função deve ser pelo menos dois bytes maior do que o comprimento real da cadeia.

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

  • Se a variável a escrever for um objeto que contém uma cadeia, FilePut escreve um descritor de dois bytes que identifica o VarType(8) do objeto, um descritor de dois bytes que indica o comprimento da cadeia, e depois escreve os dados da cadeia. O comprimento do registo especificado pelo RecordLength parâmetro na FileOpen função deve ser pelo menos quatro bytes superior ao comprimento real da cadeia. Se quiseres colocar uma cadeia sem o descriptor, deves passar True para o StringIsFixedLength parâmetro, e a cadeia em que leste deve ter o comprimento correto.

  • Se a variável a escrever for um array, tem a escolha de escrever ou não um descritor para o tamanho e dimensões do array. O Visual Basic 6.0 e versões anteriores escrevem o descritor de ficheiro para um array dinâmico, mas não para um array de tamanho fixo. O Visual Basic 2005 por defeito não escreve o descritor. Para escrever o descritor, defina o ArrayIsDynamic parâmetro para True. Ao escrever o array, tens de corresponder à forma como o array será lido; Se for lido com o descriptor, tens de escrever o descriptor. O descritor especifica o posto do array, o tamanho e os limites inferiores para cada rank. O seu comprimento é igual a 2 mais 8 vezes o número de dimensões: (2 + 8 * NúmeroDeDimensões). O comprimento do registo especificado pela RecordLength cláusula na FileOpen função deve ser maior ou igual à soma de todos os bytes necessários para escrever os dados do array e o descritor do array. Por exemplo, a seguinte declaração do array requer 218 bytes quando o array é escrito no disco.

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

  • FilePut escreve 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 nas estruturas para indicar o tamanho da cadeia quando escrita no disco.

    Note

    Os campos de string que têm mais bytes do que o especificado pelo VBFixedString atributo são truncados quando escritos no disco,

Modo Binário

Para ficheiros abertos no Binary modo, a maioria das Random regras do modo aplica-se, com algumas exceções. As seguintes regras para ficheiros abertos no Binary modo diferem das regras do Random modo:

  • A RecordLength cláusula na FileOpen função não tem efeito. FilePut escreve todas as variáveis no disco de forma contígua, ou seja, sem preenchimento entre registos.

  • Para qualquer array que não seja um array numa estrutura, FilePut escreve apenas os dados. Não está escrito nenhum descritor.

  • FilePut escreve cadeias 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 caracteres na cadeia. Por exemplo, as seguintes instruções escrevem 11 bytes no ficheiro número 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Escrever num ficheiro usando a FilePut função requer Write acesso a partir da FileIOPermissionAccess enumeração.

Ver também

Aplica-se a

FilePut(Int32, Single, Int64)

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja 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 ficheiro válido.

Value
Single

Required. Nome válido de variável que contém dados escritos no disco.

RecordNumber
Int64

Optional. Número de registo (Random ficheiros mode) ou número de byte (Binary ficheiros mode) onde a escrita começa.

Exceções

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

O modo ficheiro é inválido.

Exemplos

Este exemplo utiliza a FilePut função para escrever dados num ficheiro. Cinco registos da estrutura Person são escritos no ficheiro.

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

Observações

FilePut é válido apenas em Random modo e Binary .

Os dados escritos com FilePut são geralmente lidos de um ficheiro 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 omitir RecordNumber, o próximo registo ou byte após o último FileGet ou FilePut função ou apontado pela última Seek função é escrito.

O StringIsFixedLength argumento controla se a função interpreta as cadeias como comprimento variável ou fixo. FilePut não escreve o descritor de comprimento quando o argumento é True. Se usares StringIsFixedLength = True com FilePut, tens de fazer o mesmo com FileGet, e tens de garantir que a string está inicializada ao comprimento esperado.

Modo Aleatório

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

  • Se o comprimento dos dados a ser escritos for inferior ao comprimento especificado na RecordLength cláusula da FileOpen função, FilePut escreve registos subsequentes nas fronteiras do comprimento do registo. O espaço entre o fim de um registo e o início do registo seguinte é preenchido com o conteúdo existente do buffer de ficheiros. Como a quantidade de dados de enchimento não pode ser determinada com certeza, é geralmente uma boa ideia que o comprimento do registo coincida com o comprimento dos dados a ser escritos. Se o comprimento dos dados a escrever for maior do que o comprimento especificado na RecordLength cláusula da FileOpen função, será lançada uma exceção.

  • Se a variável a escrever for uma cadeia, FilePut escreve um descritor de dois bytes que contém o comprimento da cadeia e depois escreve os dados que entram na variável. Portanto, o comprimento do registo especificado pela RecordLength cláusula na FileOpen função deve ser pelo menos dois bytes maior do que o comprimento real da cadeia.

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

  • Se a variável a escrever for um objeto que contém uma cadeia, FilePut escreve um descritor de dois bytes que identifica o VarType(8) do objeto, um descritor de dois bytes que indica o comprimento da cadeia, e depois escreve os dados da cadeia. O comprimento do registo especificado pelo RecordLength parâmetro na FileOpen função deve ser pelo menos quatro bytes superior ao comprimento real da cadeia. Se quiseres colocar uma cadeia sem o descriptor, deves passar True para o StringIsFixedLength parâmetro, e a cadeia em que leste deve ter o comprimento correto.

  • Se a variável a escrever for um array, tem a escolha de escrever ou não um descritor para o tamanho e dimensões do array. O Visual Basic 6.0 e versões anteriores escrevem o descritor de ficheiro para um array dinâmico, mas não para um array de tamanho fixo. O Visual Basic 2005 por defeito não escreve o descritor. Para escrever o descritor, defina o ArrayIsDynamic parâmetro para True. Ao escrever o array, tens de corresponder à forma como o array será lido; Se for lido com o descriptor, tens de escrever o descriptor. O descritor especifica o posto do array, o tamanho e os limites inferiores para cada rank. O seu comprimento é igual a 2 mais 8 vezes o número de dimensões: (2 + 8 * NúmeroDeDimensões). O comprimento do registo especificado pela RecordLength cláusula na FileOpen função deve ser maior ou igual à soma de todos os bytes necessários para escrever os dados do array e o descritor do array. Por exemplo, a seguinte declaração do array requer 218 bytes quando o array é escrito no disco.

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

  • FilePut escreve 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 nas estruturas para indicar o tamanho da cadeia quando escrita no disco.

    Note

    Os campos de string que têm mais bytes do que o especificado pelo VBFixedString atributo são truncados quando escritos no disco,

Modo Binário

Para ficheiros abertos no Binary modo, a maioria das Random regras do modo aplica-se, com algumas exceções. As seguintes regras para ficheiros abertos no Binary modo diferem das regras do Random modo:

  • A RecordLength cláusula na FileOpen função não tem efeito. FilePut escreve todas as variáveis no disco de forma contígua, ou seja, sem preenchimento entre registos.

  • Para qualquer array que não seja um array numa estrutura, FilePut escreve apenas os dados. Não está escrito nenhum descritor.

  • FilePut escreve cadeias 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 caracteres na cadeia. Por exemplo, as seguintes instruções escrevem 11 bytes no ficheiro número 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Escrever num ficheiro usando a FilePut função requer Write acesso a partir da FileIOPermissionAccess enumeração.

Ver também

Aplica-se a

FilePut(Int32, Int32, Int64)

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja 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 ficheiro válido.

Value
Int32

Required. Nome válido de variável que contém dados escritos no disco.

RecordNumber
Int64

Optional. Número de registo (Random ficheiros mode) ou número de byte (Binary ficheiros mode) onde a escrita começa.

Exceções

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

O modo ficheiro é inválido.

Exemplos

Este exemplo utiliza a FilePut função para escrever dados num ficheiro. Cinco registos da estrutura Person são escritos no ficheiro.

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

Observações

FilePut é válido apenas em Random modo e Binary .

Os dados escritos com FilePut são geralmente lidos de um ficheiro 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 omitir RecordNumber, o próximo registo ou byte após o último FileGet ou FilePut função ou apontado pela última Seek função é escrito.

O StringIsFixedLength argumento controla se a função interpreta as cadeias como comprimento variável ou fixo. FilePut não escreve o descritor de comprimento quando o argumento é True. Se usares StringIsFixedLength = True com FilePut, tens de fazer o mesmo com FileGet, e tens de garantir que a string está inicializada ao comprimento esperado.

Modo Aleatório

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

  • Se o comprimento dos dados a ser escritos for inferior ao comprimento especificado na RecordLength cláusula da FileOpen função, FilePut escreve registos subsequentes nas fronteiras do comprimento do registo. O espaço entre o fim de um registo e o início do registo seguinte é preenchido com o conteúdo existente do buffer de ficheiros. Como a quantidade de dados de enchimento não pode ser determinada com certeza, é geralmente uma boa ideia que o comprimento do registo coincida com o comprimento dos dados a ser escritos. Se o comprimento dos dados a escrever for maior do que o comprimento especificado na RecordLength cláusula da FileOpen função, será lançada uma exceção.

  • Se a variável a escrever for uma cadeia, FilePut escreve um descritor de dois bytes que contém o comprimento da cadeia e depois escreve os dados que entram na variável. Portanto, o comprimento do registo especificado pela RecordLength cláusula na FileOpen função deve ser pelo menos dois bytes maior do que o comprimento real da cadeia.

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

  • Se a variável a escrever for um objeto que contém uma cadeia, FilePut escreve um descritor de dois bytes que identifica o VarType(8) do objeto, um descritor de dois bytes que indica o comprimento da cadeia, e depois escreve os dados da cadeia. O comprimento do registo especificado pelo RecordLength parâmetro na FileOpen função deve ser pelo menos quatro bytes superior ao comprimento real da cadeia. Se quiseres colocar uma cadeia sem o descriptor, deves passar True para o StringIsFixedLength parâmetro, e a cadeia em que leste deve ter o comprimento correto.

  • Se a variável a escrever for um array, tem a escolha de escrever ou não um descritor para o tamanho e dimensões do array. O Visual Basic 6.0 e versões anteriores escrevem o descritor de ficheiro para um array dinâmico, mas não para um array de tamanho fixo. O Visual Basic 2005 por defeito não escreve o descritor. Para escrever o descritor, defina o ArrayIsDynamic parâmetro para True. Ao escrever o array, tens de corresponder à forma como o array será lido; Se for lido com o descriptor, tens de escrever o descriptor. O descritor especifica o posto do array, o tamanho e os limites inferiores para cada rank. O seu comprimento é igual a 2 mais 8 vezes o número de dimensões: (2 + 8 * NúmeroDeDimensões). O comprimento do registo especificado pela RecordLength cláusula na FileOpen função deve ser maior ou igual à soma de todos os bytes necessários para escrever os dados do array e o descritor do array. Por exemplo, a seguinte declaração do array requer 218 bytes quando o array é escrito no disco.

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

  • FilePut escreve 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 nas estruturas para indicar o tamanho da cadeia quando escrita no disco.

    Note

    Os campos de string que têm mais bytes do que o especificado pelo VBFixedString atributo são truncados quando escritos no disco,

Modo Binário

Para ficheiros abertos no Binary modo, a maioria das Random regras do modo aplica-se, com algumas exceções. As seguintes regras para ficheiros abertos no Binary modo diferem das regras do Random modo:

  • A RecordLength cláusula na FileOpen função não tem efeito. FilePut escreve todas as variáveis no disco de forma contígua, ou seja, sem preenchimento entre registos.

  • Para qualquer array que não seja um array numa estrutura, FilePut escreve apenas os dados. Não está escrito nenhum descritor.

  • FilePut escreve cadeias 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 caracteres na cadeia. Por exemplo, as seguintes instruções escrevem 11 bytes no ficheiro número 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Escrever num ficheiro usando a FilePut função requer Write acesso a partir da FileIOPermissionAccess enumeração.

Ver também

Aplica-se a

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

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja 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 ficheiro válido.

Value
Array

Required. Nome válido de variável que contém dados escritos no disco.

RecordNumber
Int64

Optional. Número de registo (Random ficheiros mode) ou número de byte (Binary ficheiros mode) onde a escrita começa.

ArrayIsDynamic
Boolean

Optional. Aplica-se apenas ao escrever um array. Especifica se o array deve ser tratado como dinâmico e se deve escrever um descritor de array para a cadeia que descreve o comprimento.

StringIsFixedLength
Boolean

Optional. Aplica-se apenas ao escrever uma string. Especifica se deve escrever um descritor de comprimento de string de dois bytes para a string no ficheiro. A predefinição é False.

Exceções

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

O modo ficheiro é inválido.

Exemplos

Este exemplo utiliza a FilePut função para escrever dados num ficheiro. Cinco registos da estrutura Person são escritos no ficheiro.

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

Observações

FilePut é válido apenas em Random modo e Binary .

Os dados escritos com FilePut são geralmente lidos de um ficheiro 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 omitir RecordNumber, o próximo registo ou byte após o último FileGet ou FilePut função ou apontado pela última Seek função é escrito.

O StringIsFixedLength argumento controla se a função interpreta as cadeias como comprimento variável ou fixo. FilePut não escreve o descritor de comprimento quando o argumento é True. Se usares StringIsFixedLength = True com FilePut, tens de fazer o mesmo com FileGet, e tens de garantir que a string está inicializada ao comprimento esperado.

Modo Aleatório

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

  • Se o comprimento dos dados a ser escritos for inferior ao comprimento especificado na RecordLength cláusula da FileOpen função, FilePut escreve registos subsequentes nas fronteiras do comprimento do registo. O espaço entre o fim de um registo e o início do registo seguinte é preenchido com o conteúdo existente do buffer de ficheiros. Como a quantidade de dados de enchimento não pode ser determinada com certeza, é geralmente uma boa ideia que o comprimento do registo coincida com o comprimento dos dados a ser escritos. Se o comprimento dos dados a escrever for maior do que o comprimento especificado na RecordLength cláusula da FileOpen função, será lançada uma exceção.

  • Se a variável a escrever for uma cadeia, FilePut escreve um descritor de dois bytes que contém o comprimento da cadeia e depois escreve os dados que entram na variável. Portanto, o comprimento do registo especificado pela RecordLength cláusula na FileOpen função deve ser pelo menos dois bytes maior do que o comprimento real da cadeia.

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

  • Se a variável a escrever for um objeto que contém uma cadeia, FilePut escreve um descritor de dois bytes que identifica o VarType(8) do objeto, um descritor de dois bytes que indica o comprimento da cadeia, e depois escreve os dados da cadeia. O comprimento do registo especificado pelo RecordLength parâmetro na FileOpen função deve ser pelo menos quatro bytes superior ao comprimento real da cadeia. Se quiseres colocar uma cadeia sem o descriptor, deves passar True para o StringIsFixedLength parâmetro, e a cadeia em que leste deve ter o comprimento correto.

  • Se a variável a escrever for um array, tem a escolha de escrever ou não um descritor para o tamanho e dimensões do array. O Visual Basic 6.0 e versões anteriores escrevem o descritor de ficheiro para um array dinâmico, mas não para um array de tamanho fixo. O Visual Basic 2005 por defeito não escreve o descritor. Para escrever o descritor, defina o ArrayIsDynamic parâmetro para True. Ao escrever o array, tens de corresponder à forma como o array será lido; Se for lido com o descriptor, tens de escrever o descriptor. O descritor especifica o posto do array, o tamanho e os limites inferiores para cada rank. O seu comprimento é igual a 2 mais 8 vezes o número de dimensões: (2 + 8 * NúmeroDeDimensões). O comprimento do registo especificado pela RecordLength cláusula na FileOpen função deve ser maior ou igual à soma de todos os bytes necessários para escrever os dados do array e o descritor do array. Por exemplo, a seguinte declaração do array requer 218 bytes quando o array é escrito no disco.

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

  • FilePut escreve 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 nas estruturas para indicar o tamanho da cadeia quando escrita no disco.

    Note

    Os campos de string que têm mais bytes do que o especificado pelo VBFixedString atributo são truncados quando escritos no disco,

Modo Binário

Para ficheiros abertos no Binary modo, a maioria das Random regras do modo aplica-se, com algumas exceções. As seguintes regras para ficheiros abertos no Binary modo diferem das regras do Random modo:

  • A RecordLength cláusula na FileOpen função não tem efeito. FilePut escreve todas as variáveis no disco de forma contígua, ou seja, sem preenchimento entre registos.

  • Para qualquer array que não seja um array numa estrutura, FilePut escreve apenas os dados. Não está escrito nenhum descritor.

  • FilePut escreve cadeias 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 caracteres na cadeia. Por exemplo, as seguintes instruções escrevem 11 bytes no ficheiro número 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Escrever num ficheiro usando a FilePut função requer Write acesso a partir da FileIOPermissionAccess enumeração.

Ver também

Aplica-se a

FilePut(Int32, Double, Int64)

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja 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 ficheiro válido.

Value
Double

Required. Nome válido de variável que contém dados escritos no disco.

RecordNumber
Int64

Optional. Número de registo (Random ficheiros mode) ou número de byte (Binary ficheiros mode) onde a escrita começa.

Exceções

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

O modo ficheiro é inválido.

Exemplos

Este exemplo utiliza a FilePut função para escrever dados num ficheiro. Cinco registos da estrutura Person são escritos no ficheiro.

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

Observações

FilePut é válido apenas em Random modo e Binary .

Os dados escritos com FilePut são geralmente lidos de um ficheiro 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 omitir RecordNumber, o próximo registo ou byte após o último FileGet ou FilePut função ou apontado pela última Seek função é escrito.

O StringIsFixedLength argumento controla se a função interpreta as cadeias como comprimento variável ou fixo. FilePut não escreve o descritor de comprimento quando o argumento é True. Se usares StringIsFixedLength = True com FilePut, tens de fazer o mesmo com FileGet, e tens de garantir que a string está inicializada ao comprimento esperado.

Modo Aleatório

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

  • Se o comprimento dos dados a ser escritos for inferior ao comprimento especificado na RecordLength cláusula da FileOpen função, FilePut escreve registos subsequentes nas fronteiras do comprimento do registo. O espaço entre o fim de um registo e o início do registo seguinte é preenchido com o conteúdo existente do buffer de ficheiros. Como a quantidade de dados de enchimento não pode ser determinada com certeza, é geralmente uma boa ideia que o comprimento do registo coincida com o comprimento dos dados a ser escritos. Se o comprimento dos dados a escrever for maior do que o comprimento especificado na RecordLength cláusula da FileOpen função, será lançada uma exceção.

  • Se a variável a escrever for uma cadeia, FilePut escreve um descritor de dois bytes que contém o comprimento da cadeia e depois escreve os dados que entram na variável. Portanto, o comprimento do registo especificado pela RecordLength cláusula na FileOpen função deve ser pelo menos dois bytes maior do que o comprimento real da cadeia.

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

  • Se a variável a escrever for um objeto que contém uma cadeia, FilePut escreve um descritor de dois bytes que identifica o VarType(8) do objeto, um descritor de dois bytes que indica o comprimento da cadeia, e depois escreve os dados da cadeia. O comprimento do registo especificado pelo RecordLength parâmetro na FileOpen função deve ser pelo menos quatro bytes superior ao comprimento real da cadeia. Se quiseres colocar uma cadeia sem o descriptor, deves passar True para o StringIsFixedLength parâmetro, e a cadeia em que leste deve ter o comprimento correto.

  • Se a variável a escrever for um array, tem a escolha de escrever ou não um descritor para o tamanho e dimensões do array. O Visual Basic 6.0 e versões anteriores escrevem o descritor de ficheiro para um array dinâmico, mas não para um array de tamanho fixo. O Visual Basic 2005 por defeito não escreve o descritor. Para escrever o descritor, defina o ArrayIsDynamic parâmetro para True. Ao escrever o array, tens de corresponder à forma como o array será lido; Se for lido com o descriptor, tens de escrever o descriptor. O descritor especifica o posto do array, o tamanho e os limites inferiores para cada rank. O seu comprimento é igual a 2 mais 8 vezes o número de dimensões: (2 + 8 * NúmeroDeDimensões). O comprimento do registo especificado pela RecordLength cláusula na FileOpen função deve ser maior ou igual à soma de todos os bytes necessários para escrever os dados do array e o descritor do array. Por exemplo, a seguinte declaração do array requer 218 bytes quando o array é escrito no disco.

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

  • FilePut escreve 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 nas estruturas para indicar o tamanho da cadeia quando escrita no disco.

    Note

    Os campos de string que têm mais bytes do que o especificado pelo VBFixedString atributo são truncados quando escritos no disco,

Modo Binário

Para ficheiros abertos no Binary modo, a maioria das Random regras do modo aplica-se, com algumas exceções. As seguintes regras para ficheiros abertos no Binary modo diferem das regras do Random modo:

  • A RecordLength cláusula na FileOpen função não tem efeito. FilePut escreve todas as variáveis no disco de forma contígua, ou seja, sem preenchimento entre registos.

  • Para qualquer array que não seja um array numa estrutura, FilePut escreve apenas os dados. Não está escrito nenhum descritor.

  • FilePut escreve cadeias 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 caracteres na cadeia. Por exemplo, as seguintes instruções escrevem 11 bytes no ficheiro número 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Escrever num ficheiro usando a FilePut função requer Write acesso a partir da FileIOPermissionAccess enumeração.

Ver também

Aplica-se a

FilePut(Int32, Decimal, Int64)

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja 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 ficheiro válido.

Value
Decimal

Required. Nome válido de variável que contém dados escritos no disco.

RecordNumber
Int64

Optional. Número de registo (Random ficheiros mode) ou número de byte (Binary ficheiros mode) onde a escrita começa.

Exceções

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

O modo ficheiro é inválido.

Exemplos

Este exemplo utiliza a FilePut função para escrever dados num ficheiro. Cinco registos da estrutura Person são escritos no ficheiro.

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

Observações

FilePut é válido apenas em Random modo e Binary .

Os dados escritos com FilePut são geralmente lidos de um ficheiro 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 omitir RecordNumber, o próximo registo ou byte após o último FileGet ou FilePut função ou apontado pela última Seek função é escrito.

O StringIsFixedLength argumento controla se a função interpreta as cadeias como comprimento variável ou fixo. FilePut não escreve o descritor de comprimento quando o argumento é True. Se usares StringIsFixedLength = True com FilePut, tens de fazer o mesmo com FileGet, e tens de garantir que a string está inicializada ao comprimento esperado.

Modo Aleatório

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

  • Se o comprimento dos dados a ser escritos for inferior ao comprimento especificado na RecordLength cláusula da FileOpen função, FilePut escreve registos subsequentes nas fronteiras do comprimento do registo. O espaço entre o fim de um registo e o início do registo seguinte é preenchido com o conteúdo existente do buffer de ficheiros. Como a quantidade de dados de enchimento não pode ser determinada com certeza, é geralmente uma boa ideia que o comprimento do registo coincida com o comprimento dos dados a ser escritos. Se o comprimento dos dados a escrever for maior do que o comprimento especificado na RecordLength cláusula da FileOpen função, será lançada uma exceção.

  • Se a variável a escrever for uma cadeia, FilePut escreve um descritor de dois bytes que contém o comprimento da cadeia e depois escreve os dados que entram na variável. Portanto, o comprimento do registo especificado pela RecordLength cláusula na FileOpen função deve ser pelo menos dois bytes maior do que o comprimento real da cadeia.

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

  • Se a variável a escrever for um objeto que contém uma cadeia, FilePut escreve um descritor de dois bytes que identifica o VarType(8) do objeto, um descritor de dois bytes que indica o comprimento da cadeia, e depois escreve os dados da cadeia. O comprimento do registo especificado pelo RecordLength parâmetro na FileOpen função deve ser pelo menos quatro bytes superior ao comprimento real da cadeia. Se quiseres colocar uma cadeia sem o descriptor, deves passar True para o StringIsFixedLength parâmetro, e a cadeia em que leste deve ter o comprimento correto.

  • Se a variável a escrever for um array, tem a escolha de escrever ou não um descritor para o tamanho e dimensões do array. O Visual Basic 6.0 e versões anteriores escrevem o descritor de ficheiro para um array dinâmico, mas não para um array de tamanho fixo. O Visual Basic 2005 por defeito não escreve o descritor. Para escrever o descritor, defina o ArrayIsDynamic parâmetro para True. Ao escrever o array, tens de corresponder à forma como o array será lido; Se for lido com o descriptor, tens de escrever o descriptor. O descritor especifica o posto do array, o tamanho e os limites inferiores para cada rank. O seu comprimento é igual a 2 mais 8 vezes o número de dimensões: (2 + 8 * NúmeroDeDimensões). O comprimento do registo especificado pela RecordLength cláusula na FileOpen função deve ser maior ou igual à soma de todos os bytes necessários para escrever os dados do array e o descritor do array. Por exemplo, a seguinte declaração do array requer 218 bytes quando o array é escrito no disco.

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

  • FilePut escreve 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 nas estruturas para indicar o tamanho da cadeia quando escrita no disco.

    Note

    Os campos de string que têm mais bytes do que o especificado pelo VBFixedString atributo são truncados quando escritos no disco,

Modo Binário

Para ficheiros abertos no Binary modo, a maioria das Random regras do modo aplica-se, com algumas exceções. As seguintes regras para ficheiros abertos no Binary modo diferem das regras do Random modo:

  • A RecordLength cláusula na FileOpen função não tem efeito. FilePut escreve todas as variáveis no disco de forma contígua, ou seja, sem preenchimento entre registos.

  • Para qualquer array que não seja um array numa estrutura, FilePut escreve apenas os dados. Não está escrito nenhum descritor.

  • FilePut escreve cadeias 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 caracteres na cadeia. Por exemplo, as seguintes instruções escrevem 11 bytes no ficheiro número 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Escrever num ficheiro usando a FilePut função requer Write acesso a partir da FileIOPermissionAccess enumeração.

Ver também

Aplica-se a

FilePut(Int32, DateTime, Int64)

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja 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 ficheiro válido.

Value
DateTime

Required. Nome válido de variável que contém dados escritos no disco.

RecordNumber
Int64

Optional. Número de registo (Random ficheiros mode) ou número de byte (Binary ficheiros mode) onde a escrita começa.

Exceções

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

O modo ficheiro é inválido.

Exemplos

Este exemplo utiliza a FilePut função para escrever dados num ficheiro. Cinco registos da estrutura Person são escritos no ficheiro.

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

Observações

FilePut é válido apenas em Random modo e Binary .

Os dados escritos com FilePut são geralmente lidos de um ficheiro 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 omitir RecordNumber, o próximo registo ou byte após o último FileGet ou FilePut função ou apontado pela última Seek função é escrito.

O StringIsFixedLength argumento controla se a função interpreta as cadeias como comprimento variável ou fixo. FilePut não escreve o descritor de comprimento quando o argumento é True. Se usares StringIsFixedLength = True com FilePut, tens de fazer o mesmo com FileGet, e tens de garantir que a string está inicializada ao comprimento esperado.

Modo Aleatório

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

  • Se o comprimento dos dados a ser escritos for inferior ao comprimento especificado na RecordLength cláusula da FileOpen função, FilePut escreve registos subsequentes nas fronteiras do comprimento do registo. O espaço entre o fim de um registo e o início do registo seguinte é preenchido com o conteúdo existente do buffer de ficheiros. Como a quantidade de dados de enchimento não pode ser determinada com certeza, é geralmente uma boa ideia que o comprimento do registo coincida com o comprimento dos dados a ser escritos. Se o comprimento dos dados a escrever for maior do que o comprimento especificado na RecordLength cláusula da FileOpen função, será lançada uma exceção.

  • Se a variável a escrever for uma cadeia, FilePut escreve um descritor de dois bytes que contém o comprimento da cadeia e depois escreve os dados que entram na variável. Portanto, o comprimento do registo especificado pela RecordLength cláusula na FileOpen função deve ser pelo menos dois bytes maior do que o comprimento real da cadeia.

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

  • Se a variável a escrever for um objeto que contém uma cadeia, FilePut escreve um descritor de dois bytes que identifica o VarType(8) do objeto, um descritor de dois bytes que indica o comprimento da cadeia, e depois escreve os dados da cadeia. O comprimento do registo especificado pelo RecordLength parâmetro na FileOpen função deve ser pelo menos quatro bytes superior ao comprimento real da cadeia. Se quiseres colocar uma cadeia sem o descriptor, deves passar True para o StringIsFixedLength parâmetro, e a cadeia em que leste deve ter o comprimento correto.

  • Se a variável a escrever for um array, tem a escolha de escrever ou não um descritor para o tamanho e dimensões do array. O Visual Basic 6.0 e versões anteriores escrevem o descritor de ficheiro para um array dinâmico, mas não para um array de tamanho fixo. O Visual Basic 2005 por defeito não escreve o descritor. Para escrever o descritor, defina o ArrayIsDynamic parâmetro para True. Ao escrever o array, tens de corresponder à forma como o array será lido; Se for lido com o descriptor, tens de escrever o descriptor. O descritor especifica o posto do array, o tamanho e os limites inferiores para cada rank. O seu comprimento é igual a 2 mais 8 vezes o número de dimensões: (2 + 8 * NúmeroDeDimensões). O comprimento do registo especificado pela RecordLength cláusula na FileOpen função deve ser maior ou igual à soma de todos os bytes necessários para escrever os dados do array e o descritor do array. Por exemplo, a seguinte declaração do array requer 218 bytes quando o array é escrito no disco.

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

  • FilePut escreve 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 nas estruturas para indicar o tamanho da cadeia quando escrita no disco.

    Note

    Os campos de string que têm mais bytes do que o especificado pelo VBFixedString atributo são truncados quando escritos no disco,

Modo Binário

Para ficheiros abertos no Binary modo, a maioria das Random regras do modo aplica-se, com algumas exceções. As seguintes regras para ficheiros abertos no Binary modo diferem das regras do Random modo:

  • A RecordLength cláusula na FileOpen função não tem efeito. FilePut escreve todas as variáveis no disco de forma contígua, ou seja, sem preenchimento entre registos.

  • Para qualquer array que não seja um array numa estrutura, FilePut escreve apenas os dados. Não está escrito nenhum descritor.

  • FilePut escreve cadeias 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 caracteres na cadeia. Por exemplo, as seguintes instruções escrevem 11 bytes no ficheiro número 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Escrever num ficheiro usando a FilePut função requer Write acesso a partir da FileIOPermissionAccess enumeração.

Ver também

Aplica-se a

FilePut(Int32, Char, Int64)

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja 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 ficheiro válido.

Value
Char

Required. Nome válido de variável que contém dados escritos no disco.

RecordNumber
Int64

Optional. Número de registo (Random ficheiros mode) ou número de byte (Binary ficheiros mode) onde a escrita começa.

Exceções

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

O modo ficheiro é inválido.

Exemplos

Este exemplo utiliza a FilePut função para escrever dados num ficheiro. Cinco registos da estrutura Person são escritos no ficheiro.

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

Observações

FilePut é válido apenas em Random modo e Binary .

Os dados escritos com FilePut são geralmente lidos de um ficheiro 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 omitir RecordNumber, o próximo registo ou byte após o último FileGet ou FilePut função ou apontado pela última Seek função é escrito.

O StringIsFixedLength argumento controla se a função interpreta as cadeias como comprimento variável ou fixo. FilePut não escreve o descritor de comprimento quando o argumento é True. Se usares StringIsFixedLength = True com FilePut, tens de fazer o mesmo com FileGet, e tens de garantir que a string está inicializada ao comprimento esperado.

Modo Aleatório

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

  • Se o comprimento dos dados a ser escritos for inferior ao comprimento especificado na RecordLength cláusula da FileOpen função, FilePut escreve registos subsequentes nas fronteiras do comprimento do registo. O espaço entre o fim de um registo e o início do registo seguinte é preenchido com o conteúdo existente do buffer de ficheiros. Como a quantidade de dados de enchimento não pode ser determinada com certeza, é geralmente uma boa ideia que o comprimento do registo coincida com o comprimento dos dados a ser escritos. Se o comprimento dos dados a escrever for maior do que o comprimento especificado na RecordLength cláusula da FileOpen função, será lançada uma exceção.

  • Se a variável a escrever for uma cadeia, FilePut escreve um descritor de dois bytes que contém o comprimento da cadeia e depois escreve os dados que entram na variável. Portanto, o comprimento do registo especificado pela RecordLength cláusula na FileOpen função deve ser pelo menos dois bytes maior do que o comprimento real da cadeia.

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

  • Se a variável a escrever for um objeto que contém uma cadeia, FilePut escreve um descritor de dois bytes que identifica o VarType(8) do objeto, um descritor de dois bytes que indica o comprimento da cadeia, e depois escreve os dados da cadeia. O comprimento do registo especificado pelo RecordLength parâmetro na FileOpen função deve ser pelo menos quatro bytes superior ao comprimento real da cadeia. Se quiseres colocar uma cadeia sem o descriptor, deves passar True para o StringIsFixedLength parâmetro, e a cadeia em que leste deve ter o comprimento correto.

  • Se a variável a escrever for um array, tem a escolha de escrever ou não um descritor para o tamanho e dimensões do array. O Visual Basic 6.0 e versões anteriores escrevem o descritor de ficheiro para um array dinâmico, mas não para um array de tamanho fixo. O Visual Basic 2005 por defeito não escreve o descritor. Para escrever o descritor, defina o ArrayIsDynamic parâmetro para True. Ao escrever o array, tens de corresponder à forma como o array será lido; Se for lido com o descriptor, tens de escrever o descriptor. O descritor especifica o posto do array, o tamanho e os limites inferiores para cada rank. O seu comprimento é igual a 2 mais 8 vezes o número de dimensões: (2 + 8 * NúmeroDeDimensões). O comprimento do registo especificado pela RecordLength cláusula na FileOpen função deve ser maior ou igual à soma de todos os bytes necessários para escrever os dados do array e o descritor do array. Por exemplo, a seguinte declaração do array requer 218 bytes quando o array é escrito no disco.

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

  • FilePut escreve 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 nas estruturas para indicar o tamanho da cadeia quando escrita no disco.

    Note

    Os campos de string que têm mais bytes do que o especificado pelo VBFixedString atributo são truncados quando escritos no disco,

Modo Binário

Para ficheiros abertos no Binary modo, a maioria das Random regras do modo aplica-se, com algumas exceções. As seguintes regras para ficheiros abertos no Binary modo diferem das regras do Random modo:

  • A RecordLength cláusula na FileOpen função não tem efeito. FilePut escreve todas as variáveis no disco de forma contígua, ou seja, sem preenchimento entre registos.

  • Para qualquer array que não seja um array numa estrutura, FilePut escreve apenas os dados. Não está escrito nenhum descritor.

  • FilePut escreve cadeias 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 caracteres na cadeia. Por exemplo, as seguintes instruções escrevem 11 bytes no ficheiro número 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Escrever num ficheiro usando a FilePut função requer Write acesso a partir da FileIOPermissionAccess enumeração.

Ver também

Aplica-se a

FilePut(Int32, Byte, Int64)

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja 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 ficheiro válido.

Value
Byte

Required. Nome válido de variável que contém dados escritos no disco.

RecordNumber
Int64

Optional. Número de registo (Random ficheiros mode) ou número de byte (Binary ficheiros mode) onde a escrita começa.

Exceções

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

O modo ficheiro é inválido.

Exemplos

Este exemplo utiliza a FilePut função para escrever dados num ficheiro. Cinco registos da estrutura Person são escritos no ficheiro.

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

Observações

FilePut é válido apenas em Random modo e Binary .

Os dados escritos com FilePut são geralmente lidos de um ficheiro 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 omitir RecordNumber, o próximo registo ou byte após o último FileGet ou FilePut função ou apontado pela última Seek função é escrito.

O StringIsFixedLength argumento controla se a função interpreta as cadeias como comprimento variável ou fixo. FilePut não escreve o descritor de comprimento quando o argumento é True. Se usares StringIsFixedLength = True com FilePut, tens de fazer o mesmo com FileGet, e tens de garantir que a string está inicializada ao comprimento esperado.

Modo Aleatório

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

  • Se o comprimento dos dados a ser escritos for inferior ao comprimento especificado na RecordLength cláusula da FileOpen função, FilePut escreve registos subsequentes nas fronteiras do comprimento do registo. O espaço entre o fim de um registo e o início do registo seguinte é preenchido com o conteúdo existente do buffer de ficheiros. Como a quantidade de dados de enchimento não pode ser determinada com certeza, é geralmente uma boa ideia que o comprimento do registo coincida com o comprimento dos dados a ser escritos. Se o comprimento dos dados a escrever for maior do que o comprimento especificado na RecordLength cláusula da FileOpen função, será lançada uma exceção.

  • Se a variável a escrever for uma cadeia, FilePut escreve um descritor de dois bytes que contém o comprimento da cadeia e depois escreve os dados que entram na variável. Portanto, o comprimento do registo especificado pela RecordLength cláusula na FileOpen função deve ser pelo menos dois bytes maior do que o comprimento real da cadeia.

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

  • Se a variável a escrever for um objeto que contém uma cadeia, FilePut escreve um descritor de dois bytes que identifica o VarType(8) do objeto, um descritor de dois bytes que indica o comprimento da cadeia, e depois escreve os dados da cadeia. O comprimento do registo especificado pelo RecordLength parâmetro na FileOpen função deve ser pelo menos quatro bytes superior ao comprimento real da cadeia. Se quiseres colocar uma cadeia sem o descriptor, deves passar True para o StringIsFixedLength parâmetro, e a cadeia em que leste deve ter o comprimento correto.

  • Se a variável a escrever for um array, tem a escolha de escrever ou não um descritor para o tamanho e dimensões do array. O Visual Basic 6.0 e versões anteriores escrevem o descritor de ficheiro para um array dinâmico, mas não para um array de tamanho fixo. O Visual Basic 2005 por defeito não escreve o descritor. Para escrever o descritor, defina o ArrayIsDynamic parâmetro para True. Ao escrever o array, tens de corresponder à forma como o array será lido; Se for lido com o descriptor, tens de escrever o descriptor. O descritor especifica o posto do array, o tamanho e os limites inferiores para cada rank. O seu comprimento é igual a 2 mais 8 vezes o número de dimensões: (2 + 8 * NúmeroDeDimensões). O comprimento do registo especificado pela RecordLength cláusula na FileOpen função deve ser maior ou igual à soma de todos os bytes necessários para escrever os dados do array e o descritor do array. Por exemplo, a seguinte declaração do array requer 218 bytes quando o array é escrito no disco.

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

  • FilePut escreve 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 nas estruturas para indicar o tamanho da cadeia quando escrita no disco.

    Note

    Os campos de string que têm mais bytes do que o especificado pelo VBFixedString atributo são truncados quando escritos no disco,

Modo Binário

Para ficheiros abertos no Binary modo, a maioria das Random regras do modo aplica-se, com algumas exceções. As seguintes regras para ficheiros abertos no Binary modo diferem das regras do Random modo:

  • A RecordLength cláusula na FileOpen função não tem efeito. FilePut escreve todas as variáveis no disco de forma contígua, ou seja, sem preenchimento entre registos.

  • Para qualquer array que não seja um array numa estrutura, FilePut escreve apenas os dados. Não está escrito nenhum descritor.

  • FilePut escreve cadeias 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 caracteres na cadeia. Por exemplo, as seguintes instruções escrevem 11 bytes no ficheiro número 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Escrever num ficheiro usando a FilePut função requer Write acesso a partir da FileIOPermissionAccess enumeração.

Ver também

Aplica-se a

FilePut(Int32, Boolean, Int64)

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja 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 ficheiro válido.

Value
Boolean

Required. Nome válido de variável que contém dados escritos no disco.

RecordNumber
Int64

Optional. Número de registo (Random ficheiros mode) ou número de byte (Binary ficheiros mode) onde a escrita começa.

Exceções

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

O modo ficheiro é inválido.

Exemplos

Este exemplo utiliza a FilePut função para escrever dados num ficheiro. Cinco registos da estrutura Person são escritos no ficheiro.

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

Observações

FilePut é válido apenas em Random modo e Binary .

Os dados escritos com FilePut são geralmente lidos de um ficheiro 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 omitir RecordNumber, o próximo registo ou byte após o último FileGet ou FilePut função ou apontado pela última Seek função é escrito.

O StringIsFixedLength argumento controla se a função interpreta as cadeias como comprimento variável ou fixo. FilePut não escreve o descritor de comprimento quando o argumento é True. Se usares StringIsFixedLength = True com FilePut, tens de fazer o mesmo com FileGet, e tens de garantir que a string está inicializada ao comprimento esperado.

Modo Aleatório

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

  • Se o comprimento dos dados a ser escritos for inferior ao comprimento especificado na RecordLength cláusula da FileOpen função, FilePut escreve registos subsequentes nas fronteiras do comprimento do registo. O espaço entre o fim de um registo e o início do registo seguinte é preenchido com o conteúdo existente do buffer de ficheiros. Como a quantidade de dados de enchimento não pode ser determinada com certeza, é geralmente uma boa ideia que o comprimento do registo coincida com o comprimento dos dados a ser escritos. Se o comprimento dos dados a escrever for maior do que o comprimento especificado na RecordLength cláusula da FileOpen função, será lançada uma exceção.

  • Se a variável a escrever for uma cadeia, FilePut escreve um descritor de dois bytes que contém o comprimento da cadeia e depois escreve os dados que entram na variável. Portanto, o comprimento do registo especificado pela RecordLength cláusula na FileOpen função deve ser pelo menos dois bytes maior do que o comprimento real da cadeia.

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

  • Se a variável a escrever for um objeto que contém uma cadeia, FilePut escreve um descritor de dois bytes que identifica o VarType(8) do objeto, um descritor de dois bytes que indica o comprimento da cadeia, e depois escreve os dados da cadeia. O comprimento do registo especificado pelo RecordLength parâmetro na FileOpen função deve ser pelo menos quatro bytes superior ao comprimento real da cadeia. Se quiseres colocar uma cadeia sem o descriptor, deves passar True para o StringIsFixedLength parâmetro, e a cadeia em que leste deve ter o comprimento correto.

  • Se a variável a escrever for um array, tem a escolha de escrever ou não um descritor para o tamanho e dimensões do array. O Visual Basic 6.0 e versões anteriores escrevem o descritor de ficheiro para um array dinâmico, mas não para um array de tamanho fixo. O Visual Basic 2005 por defeito não escreve o descritor. Para escrever o descritor, defina o ArrayIsDynamic parâmetro para True. Ao escrever o array, tens de corresponder à forma como o array será lido; Se for lido com o descriptor, tens de escrever o descriptor. O descritor especifica o posto do array, o tamanho e os limites inferiores para cada rank. O seu comprimento é igual a 2 mais 8 vezes o número de dimensões: (2 + 8 * NúmeroDeDimensões). O comprimento do registo especificado pela RecordLength cláusula na FileOpen função deve ser maior ou igual à soma de todos os bytes necessários para escrever os dados do array e o descritor do array. Por exemplo, a seguinte declaração do array requer 218 bytes quando o array é escrito no disco.

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

  • FilePut escreve 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 nas estruturas para indicar o tamanho da cadeia quando escrita no disco.

    Note

    Os campos de string que têm mais bytes do que o especificado pelo VBFixedString atributo são truncados quando escritos no disco,

Modo Binário

Para ficheiros abertos no Binary modo, a maioria das Random regras do modo aplica-se, com algumas exceções. As seguintes regras para ficheiros abertos no Binary modo diferem das regras do Random modo:

  • A RecordLength cláusula na FileOpen função não tem efeito. FilePut escreve todas as variáveis no disco de forma contígua, ou seja, sem preenchimento entre registos.

  • Para qualquer array que não seja um array numa estrutura, FilePut escreve apenas os dados. Não está escrito nenhum descritor.

  • FilePut escreve cadeias 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 caracteres na cadeia. Por exemplo, as seguintes instruções escrevem 11 bytes no ficheiro número 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Escrever num ficheiro usando a FilePut função requer Write acesso a partir da FileIOPermissionAccess enumeração.

Ver também

Aplica-se a

FilePut(Int32, Int16, Int64)

Escreve dados de uma variável para um ficheiro de disco. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FilePut. Para obter mais informações, veja 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 ficheiro válido.

Value
Int16

Required. Nome válido de variável que contém dados escritos no disco.

RecordNumber
Int64

Optional. Número de registo (Random ficheiros mode) ou número de byte (Binary ficheiros mode) onde a escrita começa.

Exceções

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

O modo ficheiro é inválido.

Exemplos

Este exemplo utiliza a FilePut função para escrever dados num ficheiro. Cinco registos da estrutura Person são escritos no ficheiro.

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

Observações

FilePut é válido apenas em Random modo e Binary .

Os dados escritos com FilePut são geralmente lidos de um ficheiro 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 omitir RecordNumber, o próximo registo ou byte após o último FileGet ou FilePut função ou apontado pela última Seek função é escrito.

O StringIsFixedLength argumento controla se a função interpreta as cadeias como comprimento variável ou fixo. FilePut não escreve o descritor de comprimento quando o argumento é True. Se usares StringIsFixedLength = True com FilePut, tens de fazer o mesmo com FileGet, e tens de garantir que a string está inicializada ao comprimento esperado.

Modo Aleatório

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

  • Se o comprimento dos dados a ser escritos for inferior ao comprimento especificado na RecordLength cláusula da FileOpen função, FilePut escreve registos subsequentes nas fronteiras do comprimento do registo. O espaço entre o fim de um registo e o início do registo seguinte é preenchido com o conteúdo existente do buffer de ficheiros. Como a quantidade de dados de enchimento não pode ser determinada com certeza, é geralmente uma boa ideia que o comprimento do registo coincida com o comprimento dos dados a ser escritos. Se o comprimento dos dados a escrever for maior do que o comprimento especificado na RecordLength cláusula da FileOpen função, será lançada uma exceção.

  • Se a variável a escrever for uma cadeia, FilePut escreve um descritor de dois bytes que contém o comprimento da cadeia e depois escreve os dados que entram na variável. Portanto, o comprimento do registo especificado pela RecordLength cláusula na FileOpen função deve ser pelo menos dois bytes maior do que o comprimento real da cadeia.

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

  • Se a variável a escrever for um objeto que contém uma cadeia, FilePut escreve um descritor de dois bytes que identifica oVarType(8) do objeto, um descritor de dois bytes que indica o comprimento da cadeia, e depois escreve os dados da cadeia. O comprimento do registo especificado pelo RecordLength parâmetro na FileOpen função deve ser pelo menos quatro bytes superior ao comprimento real da cadeia. Se quiseres colocar uma cadeia sem o descriptor, deves passar True para o StringIsFixedLength parâmetro, e a cadeia em que leste deve ter o comprimento correto.

  • Se a variável a escrever for um array, tem a escolha de escrever ou não um descritor para o tamanho e dimensões do array. O Visual Basic 6.0 e versões anteriores escrevem o descritor de ficheiro para um array dinâmico, mas não para um array de tamanho fixo. O Visual Basic 2005 por defeito não escreve o descritor. Para escrever o descritor, defina o ArrayIsDynamic parâmetro para True. Ao escrever o array, tens de corresponder à forma como o array será lido; Se for lido com o descriptor, tens de escrever o descriptor. O descritor especifica o posto do array, o tamanho e os limites inferiores para cada rank. O seu comprimento é igual a 2 mais 8 vezes o número de dimensões: (2 + 8 * NúmeroDeDimensões). O comprimento do registo especificado pela RecordLength cláusula na FileOpen função deve ser maior ou igual à soma de todos os bytes necessários para escrever os dados do array e o descritor do array. Por exemplo, a seguinte declaração do array requer 218 bytes quando o array é escrito no disco.

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

  • FilePut escreve 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 nas estruturas para indicar o tamanho da cadeia quando escrita no disco.

    Note

    Os campos de string que têm mais bytes do que o especificado pelo VBFixedString atributo são truncados quando escritos no disco,

Modo Binário

Para ficheiros abertos no Binary modo, a maioria das Random regras do modo aplica-se, com algumas exceções. As seguintes regras para ficheiros abertos no Binary modo diferem das regras do Random modo:

  • A RecordLength cláusula na FileOpen função não tem efeito. FilePut escreve todas as variáveis no disco de forma contígua, ou seja, sem preenchimento entre registos.

  • Para qualquer array que não seja um array numa estrutura, FilePut escreve apenas os dados. Não está escrito nenhum descritor.

  • FilePut escreve cadeias 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 caracteres na cadeia. Por exemplo, as seguintes instruções escrevem 11 bytes no ficheiro número 1:

    Dim hellow As String = "Hello World"
    FilePut(1, hellow)
    
  • Escrever num ficheiro usando a FilePut função requer Write acesso a partir da FileIOPermissionAccess enumeração.

Ver também

Aplica-se a