[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
##############################################################################
###+---------+################################################################
#+-| A_EOF() |-----------------------------------------+######################
#| +---------+ Returns TRUE if alias is at end of file |######################
#+-----------------------------------------------------+######################
##############################################################################
##############################################################################
#+--| Summary |------------------+############################################
#| #INCLUDE database.hdr |############################################
#+-------------------------------+############################################
##############################################################################
##############################################################################
#+--| Syntax |------------------------------+#################################
#| FUNCTION LOGICAL a_eof PROTOTYPE |#################################
#| PARAMETERS ALIAS aliasname |#################################
#+------------------------------------------+#################################
##############################################################################
##############################################################################
##########+---| Description |---------------------------------------+#########
##########| The a_eof() function returns TRUE if the record pointer |#########
##########| has been positioned past the last logical record in the |#########
##########| specified aliasname. This function is similar to eof() |#########
##########| although an alias may be specified |#########
##########| ------------------------------------------------------- |#########
##########| The a_eof() function detects the end of the database if |#########
##########| a DO WHILE loop is used to skip the database or if a |#########
##########| SEEK is attempted. |#########
##########| ------------------------------------------------------- |#########
##########| The a_eof() function performs identically to the eof() |#########
##########| function. a_eof() differs syntactically in that it |#########
##########| accepts an alias as a parameter. |#########
##########+---------------------------------------------------------+#########
##############################################################################
##############################################################################
############+--| Design |-----------------------------------------+###########
############| Use a_eof() when your application has more than one |###########
############| database open at one time. The a_eof() function |###########
############| eliminates the need to manage the current workarea. |###########
############+-----------------------------------------------------+###########
##############################################################################
##############################################################################
#########+--| Example 1 |-------------------------------------------+#########
#########| * Print out a parts catalogue in record order. |#########
#########| |#########
#########| USE "parts.dbf" ALIAS parts |#########
#########| DO WHILE .NOT. a_eof( parts ) |#########
#########| ? parts->pnum, parts->desc, parts->price |#########
#########| !parts SKIP |#########
#########| ENDDO |#########
#########+----------------------------------------------------------+#########
##############################################################################
##############################################################################
#########+--| Example 2 |-------------------------------------------+#########
#########| * Append all vegetables that were delivered on |#########
#########| * a Monday to a temporary audit file. Each |#########
#########| * database command is explicitly tied to an |#########
#########| * alias using the !<alias> syntax. |#########
#########| |#########
#########| !delivery GOTO TOP |#########
#########| DO WHILE .NOT. a_eof( delivery ) |#########
#########| IF dow( delivery->date ) = "Monday" |#########
#########| !audit APPEND BLANK |#########
#########| REPLACE audit->veg WITH delivery->veg |#########
#########| ENDIF |#########
#########| !delivery SKIP |#########
#########| ENDDO |#########
#########+----------------------------------------------------------+#########
##############################################################################
##############################################################################
#########+--| Example 3 |-------------------------------------------+#########
#########| * An alias and field can be a parameter to a |#########
#########| * function or procedure. This procedure writes |#########
#########| * a field to a text file. |#########
#########| |#########
#########| PROCEDURE write_it |#########
#########| PARAMETERS ALIAS cur_alias, FIELD CHAR data,; |#########
#########| CONST CHAR filename, CONST CHAR char_filter |#########
#########| VARDEF |#########
#########| FILE f |#########
#########| ENDDEF |#########
#########| IF .NOT. f_open( f, filename, &F_APPEND ) |#########
#########| RETURN |#########
#########| ENDIF |#########
#########| |#########
#########| SET FILTER TO data $ char_filter |#########
#########| !cur_alias GOTO TOP |#########
#########| DO WHILE .NOT. a_eof( cur_alias ) |#########
#########| f_putln( f, data ) |#########
#########| ENDDO |#########
#########| f_close( f ) |#########
#########| ENDPRO |#########
#########+----------------------------------------------------------+#########
##############################################################################
See Also:
a_bof()
bof()
eof()
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson