[<<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