Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Actualización: noviembre 2007
Devuelve un valor Long que especifica la posición actual de lectura o escritura en un archivo abierto con la función FileOpen o bien establece la posición de la siguiente operación de lectura o escritura en un archivo abierto con la función FileOpen.
La característica My proporciona mayor productividad y rendimiento en las operaciones de E/S del archivo que si se utiliza Seek. Para obtener más información, vea My.Computer.FileSystem (Objeto).
Public Overloads Function Seek( _
ByVal FileNumber As Integer _
) As Long
' -or-
Public Overloads Sub Seek( _
ByVal FileNumber As Integer, _
ByVal Position As Long _
)
FileNumber
Requerido. Integer que contiene un número de archivo válido.Position
Requerido. Número comprendido entre 1 y 2.147.483.647, ambos inclusive, que indica el lugar en que debería llevarse a cabo la próxima operación de lectura o escritura.
Tipo de excepción |
Número de error |
Condición |
---|---|---|
FileNumber no existe. |
||
El modo de archivo no es válido. |
Consulte la columna "Número de error" si está actualizando aplicaciones de Visual Basic 6.0 que utilizan el control de errores no estructurado. (Se puede comparar el número de error con respecto a Number (Propiedad, objeto Err)). Sin embargo, siempre que sea posible, se debe considerar la sustitución de dicho control de errores por Información general sobre el control estructurado de excepciones de Visual Basic.
Seek devuelve un valor comprendido entre 1 y 2.147.483.647 (equivalente a 2^31 – 1), ambos inclusive.
En la siguiente tabla se describe el valor devuelto en cada modo de acceso a archivos:
Modo |
Valor devuelto |
---|---|
Random |
Número del siguiente registro que se lee o escribe. |
Binary, Input, Output, Append |
Posición de byte en la que se llevará a cabo la siguiente operación. El primer byte de un archivo tiene la posición 1, el segundo byte, la posición 2 y así sucesivamente. |
En este ejemplo se utiliza la función Seek para devolver la posición de archivo actual. Se supone que TestFile es un archivo con registros de la estructura Record.
Structure Record ' Define user-defined type.
Dim ID As Integer
Dim Name As String
End Structure
Con archivos abiertos en modo Random, Seek devuelve el número del siguiente 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)
Con archivos abiertos en modos distintos de Random, Seek devuelve la posición de byte en la que se lleva a cabo la siguiente operación. Se supone que TestFile es un archivo con unas pocas líneas 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)
En este ejemplo se utiliza la función Seek para establecer la posición de la siguiente operación de lectura o escritura que se producirá en un archivo. Se supone que People.txt es un archivo con registros de la estructura Record.
Structure TestRecord
Dim Name As String
Dim ID As Integer
End Structure
Con archivos abiertos en modos distintos de Random, Seek establece la posición de byte en la que se lleva a cabo la siguiente operación. Se supone que TestFile es un archivo con unas pocas líneas 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)
Esta función no es compatible.
Espacio de nombres:Microsoft.VisualBasic
**Módulo:**FileSystem
**Ensamblado:**Visual Basic Runtime Library (en Microsoft.VisualBasic.dll)