Freigeben über


<unmanagedCodeEntityReference>Seek</unmanagedCodeEntityReference>-Funktion

Aktualisiert: November 2007

Gibt einen Long-Wert zurück, der in einer mit der FileOpen-Funktion geöffneten Datei die aktuelle Lese-/Schreibposition angibt oder die nächste Lese-/Schreibposition in einer mit der FileOpen-Funktion geöffneten Datei festlegt.

Das My-Feature ermöglicht bei Datei-E/A-Vorgängen höhere Produktivität und Leistung als Seek. Weitere Informationen hierzu finden Sie unter My.Computer.FileSystem-Objekt.

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

Parameter

  • FileNumber
    Erforderlich. Ein Integer-Wert mit einer beliebigen gültigen Dateinummer.

  • Position
    Erforderlich. Zahl im Bereich 1 bis 2.147.483.647 (einschließlich), die die Position für den nächsten Lese- oder Schreibvorgang angibt.

Ausnahmen

Ausnahmetyp

Fehlernummer

Bedingung

IOException

52

FileNumber ist nicht vorhanden.

IOException

54

Dateimodus ist ungültig.

Beachten Sie die Spalte "Fehlernummer", wenn Sie Visual Basic 6.0-Anwendungen aktualisieren, die eine unstrukturierte Fehlerbehandlung verwenden. (Sie können die Fehlernummer mit der Number-Eigenschaft (Err-Objekt) vergleichen.) Wenn möglich, sollten Sie jedoch erwägen, eine solche Fehlersteuerung durch eine Übersicht über die strukturierte Ausnahmebehandlung für Visual Basic zu ersetzen.

Hinweise

Seek gibt einen Wert aus dem Bereich von 1 bis einschließlich 2.147.483.647 (entspricht 2^31 - 1) zurück.

Die folgende Aufstellung beschreibt die Rückgabewerte für die einzelnen Dateizugriffsmodi:

Modus

Rückgabewert

Random

Nummer des nächsten zu lesenden oder zu schreibenden Datensatzes.

Binary, Input, Output, Append

Byteposition, an der die nächste Operation stattfindet. Das erste Byte einer Datei hat die Position 1, das zweite Byte die Position 2 usw.

Beispiel

In diesem Beispiel wird mit der Seek-Funktion die aktuelle Dateiposition zurückgegeben. In diesem Beispiel ist TestFile eine Datei, die Datensätze mit der Struktur Record enthält.

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

Bei im Random-Modus geöffneten Dateien gibt Seek die Nummer des nächsten Datensatzes zurück.

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)

Bei nicht im Random-Modus geöffneten Dateien gibt Seek die Byteposition zurück, an der der nächste Vorgang stattfindet. In dem Beispiel enthält die Datei TestFile einige Zeilen mit Text.

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

In diesem Beispiel wird mit der Seek-Funktion die Dateiposition für den nächsten Lese-/Schreibvorgang festgelegt. In diesem Beispiel ist People.txt eine Datei, die Datensätze mit der Struktur Record enthält.

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

Bei Dateien, die nicht im Random-Modus geöffnet wurden, legt Seek die Byteposition fest, an der die nächste Operation stattfindet. In dem Beispiel enthält die Datei TestFile einige Zeilen mit Text.

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)

Hinweise für Entwickler intelligenter Geräte

Diese Funktion wird nicht unterstützt.

Anforderungen

Namespace:Microsoft.VisualBasic

**Modul:**FileSystem

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

Siehe auch

Referenz

FileGet-Funktion

Loc-Funktion

FileOpen-Funktion

FilePut-Funktion

IOException

Weitere Ressourcen

Lesen aus Dateien in Visual Basic

Schreiben in Dateien in Visual Basic