Freigeben über


FSEEK( )-Funktion

Bewegt den Dateizeiger in einer Datei, die mit einer Dateifunktion auf niedriger Ebene geöffnet wurde.

FSEEK(nFileHandle, nBytesMoved [, nRelativePosition])

Rückgabewerte

Numerisch

Parameter

  • nFileHandle
    Gibt das Dateihandle der Datei an, in der der Dateizeiger mit FSEEK( ) bewegt wird. Die FCREATE( )-Funktion oder die FOPEN( )-Funktion geben ein Dateihandle zurück, wenn die Datei erstellt bzw. geöffnet wird.
  • nBytesMoved
    Gibt die Anzahl von Bytes an, um die der Dateizeiger verschoben werden soll. Wenn nBytesMoved positiv ist, wird der Dateizeiger in Richtung Dateiende bewegt. Wenn nBytesMoved negativ ist, wird der Dateizeiger in Richtung Dateianfang bewegt.
  • nRelativePosition
    Bewegt den Dateizeiger zu einer relativen Position in der Datei. Standardmäßig wird der Dateizeiger relativ zum Dateianfang bewegt. Mit dem Argument nRelativePosition haben Sie zusätzlich die Möglichkeit, den Dateizeiger relativ zur aktuellen Position des Dateizeigers oder relativ zum Dateiende zu bewegen. In der folgenden Tabelle finden Sie die gültigen Werte für nRelativePosition und die entsprechende Position, von der aus der Dateizeiger bewegt wird.
    nRelativePosition Bewegt den Dateizeiger relativ zu
    0 (Standardeinstellung) dem Dateianfang
    1 der aktuellen Position des Dateizeigers
    2 dem Dateiende

Hinweise

Nach dem Verschieben des Dateizeigers gibt FSEEK( ) die Anzahl der Bytes zurück, die der Dateizeiger vom Dateianfang entfernt ist. Der Dateizeiger kann auch mit FREAD( ) und FWRITE( ) bewegt werden.

Beispiel

In der folgenden benutzerdefinierten Funktion wird mit FSEEK( ) die Größe einer Datei zurückgegeben. Wenn Sie der benutzerdefinierten Funktion keine Parameter übergeben, gibt diese den Wert -2 zurück. Wenn die Datei nicht gefunden wird, gibt die benutzerdefinierte Funktion den Wert -1 zurück.

FUNCTION fsize2
PARAMETERS gcFileName  && File to be checked
PRIVATE pnHandle,pnSize
IF PARAMETERS( ) = 0
   RETURN -2  && Return -2 if no parameter passed
ELSE
   IF !FILE(gcFileName)
      RETURN -1  && Return -1 if file does not exist
   ENDIF
ENDIF
pnHandle = FOPEN(gcFileName)   && Open file
pnSize = FSEEK(pnHandle,0,2)   && Determine file size, assign to pnSize
=FCLOSE(pnHandle)  && Close file
RETURN pnSize  && Return value

Siehe auch

FCHSIZE( ) | FCLOSE( ) | FCREATE( ) | FEOF( ) | FFLUSH( ) | FGETS( ) | FOPEN( ) | FPUTS( ) | FREAD( ) | FWRITE( )