Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Harbour Version 0.37 (c) reference Guid - Norton Guide http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]

FSEEK()

Positions the file pointer in a file.
---------------------------------------------------------------------------------

 Syntax

        FSEEK( <nHandle>, <nOffset>, [<nOrigin>] ) --> nPosition  

 Arguments

        <nHandle>   DOS file handle.      

        <nOffset>   The number of bytes to move.      

        <nOrigin>   The relative position in the file.    

 Returns

        <nPosition>   the current position relative to begin-of-file    

 Description

      This function sets the file pointer in the file whose DOS file
      handle is <nHandle> and moves the file pointer by <expN2> bytes
      from the file position designated by <nOrigin>. The returned value
      is the relative position of the file pointer to the
      beginning-of-file  marker once the operation has been completed.

      <nHandle> is the file handle number. It is obtained from the FOPEN()
      or FCREATE() function.

      The value of <nOffSet> is the number of bytes to move the file
      pointer  from the position determined by <nOrigin>.The value of
      <nOffset> may  be a negative number, suggesting backward movement.

      The value of <nOrigin> designates the starting point from which the
      file pointer should he moved, as shown in the following table:

      +---------------------------------------------------------+
      | <nOrigin> | fileio.ch   | File position                 |
      |-----------+-------------+-------------------------------|
      | 0         | FS_SET      | Beginning of file             |
      | 1         | FS_RELATIVE | Current file pointer position |
      | 2         | FS_END      | End of file                   |
      +---------------------------------------------------------+
      If a value is not provided for <nOrigin>, it defaults to 0 and  moves
      the file pointer from the beginning of the file.

 Examples

      // here is a function that read one text line from an open file

      // nH = file handle obtained from FOPEN()
      // cB = a string buffer passed-by-reference to hold the result
      // nMaxLine = maximum number of bytes to read

      #define EOL HB_OSNEWLINE()
      FUNCTION FREADln( nH, cB, nMaxLine )
      LOCAL cLine, nSavePos, nEol, nNumRead
      cLine := space( nMaxLine )
      cB := ''
      nSavePos := FSEEK( nH, 0, FS_RELATIVE )
      nNumRead := FREAD( nH, @cLine, nMaxLine )
      IF ( nEol := AT( EOL, substr( cLine, 1, nNumRead ) ) ) == 0
        cB := cLine
      ELSE
        cB := SUBSTR( cLine, 1, nEol - 1 )
        FSEEK( nH, nSavePos + nEol + 1, FS_SET )
      ENDIF
      RETURN nNumRead != 0
      

Status

      Ready

 Compliance

      This function is CA-Clipper compliant.

 Files

      Library is rtl  Header is fileio.ch



See Also: FCREATE() FERROR() FOPEN() FREAD() FREADSTR() FWRITE()

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson