Compartilhar via


Função Buscar

Retorna um Long especificando a posição leitura/escrita atual dentro de um arquivo aberto usando a função FileOpen, ou configura a posição para a próxima operação leitura/escrita dentro de um arquivo aberto usando a função FileOpen.

O recurso My dá a você maior produtividade e desempenho em operações de E/S de arquivos que Seek.Para obter mais informações, consulte Objeto My.Computer.FileSystem.

Public Overloads Function Seek( _
   ByVal FileNumber As Integer _
) As Long
' -or-
Public Overloads Sub Seek( _
   ByVal FileNumber As Integer, _
   ByVal Position As Long _
)

Parâmetros

  • FileNumber
    Obrigatório.Um Integer contendo um número de arquivo válido.

  • Position
    Obrigatório.Número na faixa 1–2,147,483,647, inclusive, que indica onde a próxima operação leitura/escrita deve ocorrer.

Exceções

Tipo de exceção

Número de erro

Condição

IOException

52

FileNumber não existe.

IOException

54

Modo de arquivo é inválido.

Ver a coluna " número de erro " se você estiver atualizando aplicativos Visual Basic 6.0 que usam manipulação de erros não estruturada.(Você pode comparar o número do erro com a Propriedade do Número (Erro de objeto).) Entretanto, quando for possivel, você pode considerar substituir tal controle de erro por Visão Geral sobre a Manipulação Estruturada de Exceções para o Visual Basic.

Comentários

Seek retorna um valor entre 1 e 2,147,483,647 (equivalente a 2^31 – 1), inclusive.

A seguir há a descrição dos valores retornados para cada modo de acesso em arquivos.

Modo

Valor de retorno

Random

Número do próximo registro lido ou escrito

Binary, Input, Output, Append

Posição do byte no qual a próxima operação ocorre.O primeiro byte em um arquivo está na posição 2, o segundo na posição 2, e assim por diante.

Exemplo

Esse exemplo usa a função Seek para retornar a posição atual do arquivo.O exemplo assume que TestFile seja um arquivo contendo registros de uma estrutura Record.

Structure Record   ' Define user-defined type.
   Dim ID As Integer
   Dim Name As String
End Structure

Para arquivos abertos no modo Random, Seek retorna o número do próximo registro.

FileOpen(1, "TESTFILE", OpenMode.Random)
Do While Not EOF(1)   
   WriteLine(1,Seek(1))   ' Write record number.
   FileGet(1, MyRecord, -1)   ' Read next record.
Loop
FileClose(1)

Para arquivos abertos em modos como Random, Seek retorna a posição do byte na qual a próxima operação ocorre.Assume que TestFile seja um arquivo contendo algumas linhas de texto.

' Report character position at beginning of each line.
Dim TextLine As String
FileOpen(1, "TESTFILE", OpenMode.Input)   ' Open file for reading.
While Not EOF(1)   
' Read next line.
   TextLine = LineInput(1)
   ' Position of next line.
   MsgBox(Seek(1))
End While
FileClose(1)

Essa exemplo usa a função Seek para deteminar a posição para a próxima leitura ou escrita dentro de um arquivo.Esse exemplo assume que People.txt seja um arquivo contendo registros de uma estrutura Record.

Structure TestRecord
   Dim Name As String
   Dim ID As Integer
End Structure

Para arquivos abertos em modos como Random, Seek determina a posição do byte na qual a próxima operação ocorre.Assume que TestFile seja um arquivo contendo algumas linhas de texto.

Dim someText As String = "This is a test string."
' Open file for output.
FileOpen(1, "TESTFILE", OpenMode.Input)
' Move to the third character.
Seek(1, 3)
Input(1, someText)
Console.WriteLine(someText)
FileClose(1)

Anotações Developer Dispositivo Inteligente

Não há suporte para esta função.

Requisitos

Namespace: Microsoft.VisualBasic

**Módulo:**FileSystem

Assembly: Visual Basic Runtime Library (em Microsoft.VisualBasic.dll)

Consulte também

Referência

Função FileGet

Função Loc

Função FileOpen

Função FilePut

IOException

Outros recursos

Leitura de arquivos no Visual Basic

Gravando em Arquivos no Visual Basic