Seek, fonction

Mise à jour : novembre 2007

Retourne une valeur de type Long spécifiant la position de lecture/écriture actuelle dans un fichier ouvert à l'aide de la fonction FileOpen ou définit la position pour la prochaine opération de lecture/écriture dans un fichier ouvert à l'aide de la fonction FileOpen.

La fonctionnalité My permet une meilleure productivité et de meilleures performances dans les opérations d'E/S sur fichier que Seek. Pour plus d'informations, consultez My.Computer.FileSystem, objet.

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

Paramètres

  • FileNumber
    Requis. Valeur de type Integer contenant un numéro de fichier valide.

  • Position
    Requis. Nombre compris entre 1 et 2 147 483 647, inclus, qui indique l'endroit où l'opération de lecture/écriture suivante doit avoir lieu.

Exceptions

Type d'exception

Numéro de l'erreur

Condition

IOException

52

FileNumber n'existe pas.

IOException

54

Le mode de fichier est non valide.

Consultez la colonne « Numéro d'erreur » si vous mettez à niveau des applications Visual Basic 6.0 qui utilisent la gestion non structurée des erreurs. (Vous pouvez comparer le numéro d'erreur par rapport à Number, propriété (objet Err).) Toutefois, lorsque cela est possible, vous devez envisager de remplacer un tel contrôle d'erreurs par Vue d'ensemble de la gestion structurée des exceptions pour Visual Basic.

Notes

La fonction Seek retourne une valeur comprise entre 1 et 2 147 483 647 (équivalent à 2^31 – 1), inclus.

Le tableau suivant décrit les valeurs de retour en fonction du mode d'accès au fichier :

Mode

Valeur de retour

Random

Numéro de l'enregistrement suivant lu ou écrit

Binary, Input, Output, Append

Position de l'octet à partir duquel l'opération suivante doit avoir lieu. Le premier octet d'un fichier occupe la position 1, le deuxième octet la position 2, et ainsi de suite.

Exemple

Cet exemple utilise la fonction Seek pour retourner la position actuelle du fichier. Nous supposons que TestFile est un fichier contenant les enregistrements de la structure Record.

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

Dans le cas de fichiers ouverts en mode Random, la fonction Seek retourne le numéro de l'enregistrement suivant.

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)

Dans le cas de fichiers ouverts en d'autres modes que le mode Random, la fonction Seek retourne la position de l'octet à partir duquel l'opération suivante doit s'effectuer. Nous supposons que TestFile est un fichier contenant quelques lignes de texte.

' 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)

Cet exemple utilise la fonction Seek pour définir la position de la prochaine opération de lecture ou d'écriture dans un fichier. Nous supposons que People.txt est un fichier contenant les enregistrements de la structure Record.

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

Dans le cas de fichiers ouverts en d'autres modes que le mode Random, l'instruction Seek définit la position de l'octet à partir duquel l'opération suivante doit s'effectuer. Nous supposons que TestFile est un fichier contenant quelques lignes de texte.

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)

Notes du développeur sur Smart Device

Cette fonction n'est pas prise en charge.

Configuration requise

Espace de noms :Microsoft.VisualBasic

**Module :**FileSystem

**Assembly :**bibliothèque Visual Basic Runtime (dans Microsoft.VisualBasic.dll)

Voir aussi

Référence

FileGet, fonction

Loc, fonction

FileOpen, fonction

FilePut, fonction

IOException

Autres ressources

Lecture à partir de fichiers en Visual Basic

Écriture dans des fichiers en Visual Basic