[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
##############################################################################
###+-----------+##############################################################
#+-| FB_SEEK() |----------------------------------------+#####################
#| +-----------+ Repositions the DOS read write pointer |#####################
#+------------------------------------------------------+#####################
##############################################################################
##############################################################################
#+--| Summary |----------------+##############################################
#| #INCLUDE fileio.hdr |##############################################
#+-----------------------------+##############################################
##############################################################################
##############################################################################
#+--| Syntax |--------------------------------------------------+#############
#| FUNCTION ULONG fb_seek PROTOTYPE |#############
#| PARAMETERS VALUE UINT handle, VALUE ULONG offset,; |#############
#| VALUE INT whence |#############
#+--------------------------------------------------------------+#############
##############################################################################
##############################################################################
##########+---| Description |----------------------------------------+########
##########| The fb_seek() function repositions the DOS read write |########
##########| pointer for the file associated with handle. |########
##########| -------------------------------------------------------- |########
##########| whence defines the starting relative position of offset. |########
##########| whence can refer to the beginning of the file, the |########
##########| current offset or the end of the file. For example, if |########
##########| whence indicates beginning of file, then offset is |########
##########| calculated relative to the beginning of file. The header |########
##########| file fileio.hdr contains defines for the values of |########
##########| whence. refer to the WHENCE TABLE. |######## ####
##########| -------------------------------------------------------- |########
##########| fb_seek() function has no meaning when used with the DOS |########
##########| predefined file handles. |########
##########+----------------------------------------------------------+########
##############################################################################
##############################################################################
#########+--| Example 1 |-------------------------------------------+#########
#########| * Seek to an offset from the beginning of the file. |#########
#########| |#########
#########| long_var = fb_seek( handle, 30, &FB_BEGIN ) |#########
#########+----------------------------------------------------------+#########
##############################################################################
##############################################################################
#########+--| Example 2 |-------------------------------------------+#########
#########| * Here is a way to find the size of a file. |#########
#########| * Seek 0 bytes from the END of the file. |#########
#########| * fb_seek() will return the filesize. |#########
#########| |#########
#########| filesize = fb_seek( fhnd[x], 0, &FB_END ) |#########
#########+----------------------------------------------------------+#########
##############################################################################
##############################################################################
#########+--| Example 3 |-------------------------------------------+#########
#########| * The first record of a database is header() bytes |#########
#########| * from the beginning of a file. Suppose you have |#########
#########| * a database with 4 fields: |#########
#########| * CHAR(4), DATE, NUMBER(3), LOGICAL |#########
#########| * and you want to read in the CHAR(4) and NUMBER(3) |#########
#########| * fields directly...Here's how: |#########
#########| |#########
#########| VARDEF |#########
#########| CHAR(4) char_value |#########
#########| INT num_value,k1,k2,h |#########
#########| ULONG offset |#########
#########| CHAR(3) num_fld |#########
#########| ENDDEF |#########
#########| |#########
#########| IF .NOT. fb_open( h, "database.dbf", &B_READ ) |#########
#########| RETURN |#########
#########| ENDIF |#########
#########| fb_seek( h, header()+1, &F_BEGIN ) && the "+1" is |#########
#########| && for the |#########
#########| && delete field |#########
#########| k1 = fb_read( h, char_value, 4 ) |#########
#########| |#########
#########| *--- seek from the current position + 8 to |#########
#########| * get the "NUMBER" field. |#########
#########| |#########
#########| offset = fb_seek( h, 8, &FB_CURRENT ) |#########
#########| k2 = fb_read( h, num_char, 3 ) |#########
#########| num_val = i_str( num_char ) |#########
#########+----------------------------------------------------------+#########
##############################################################################
See Also:
fb_close
fb_eof()
fb_open()
fb_read()
fb_write()
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson