Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- FORCE Data Base Compiler - ############################################################################## http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
##############################################################################
###+--------------+###########################################################
#+-| FIND_FATTR() |---------------------------------------------+#############
#| +--------------+ Returns the file, disk, or volume attribute |#############
#+--------------------------------------------------------------+#############
##############################################################################
##############################################################################
#+--| Summary |----------------+##############################################
#|     #INCLUDE system.hdr     |##############################################
#+-----------------------------+##############################################
##############################################################################
##############################################################################
#+--| Syntax |--------------------------------+###############################
#|     FUNCTION UINT find_fattr PROTOTYPE     |###############################
#+--------------------------------------------+###############################
##############################################################################
##############################################################################
#######+---| Description |--------------------------------------------+#######
#######| The find_fattr() function returns the file, disk or volume   |#######
#######| attribute from the last find_first() or find_next() function |#######
#######| call.  Use this call to differentiate between a directory    |#######
#######| name and a filename.                                         |#######
#######+--------------------------------------------------------------+#######
##############################################################################
##############################################################################
#########+--| Example 1 |-------------------------------------------+#########
#########| *    Place directory names and filenames into a database |#########
#########|                                                          |#########
#########| PROCEDURE fill_database                                  |#########
#########|                                                          |#########
#########|     IF .NOT. find_first( "*.*", 0x3f )                   |#########
#########|         RETURN                                           |#########
#########|     ENDIF                                                |#########
#########|                                                          |#########
#########|     REPEAT                                               |#########
#########|          IF find_fattr() = 0x20 .OR.                     |#########
#########|            find_fattr() = 0x10                           |#########
#########|                                                          |#########
#########|              APPEND BLANK                                |#########
#########|              REPLACE f->name WITH find_fstr()            |#########
#########|              IF find_fattr() = 0x20                      |#########
#########|                  REPLACE f->type WITH "Normal"           |#########
#########|              ELSE                                        |#########
#########|                  REPLACE f->type WITH "Dir"              |#########
#########|              ENDIF                                       |#########
#########|          ENDIF                                           |#########
#########|      UNTIL .NOT. find_next()                             |#########
#########| ENDPRO                                                   |#########
#########+----------------------------------------------------------+#########
##############################################################################
##############################################################################
#########+--| Example 2 |-------------------------------------------+#########
#########| *    A file_type() function, which returns the file      |#########
#########| *    attribute as a character string.                    |#########
#########|                                                          |#########
#########| VARDEF                                                   |#########
#########|     CHAR(10) t[x] = "Read Only", "Hidden", "System",;    |#########
#########|                     "Volume", "Directory", "Archive"     |#########
#########| ENDDEF                                                   |#########
#########|                                                          |#########
#########| FUNCTION CHAR file_type                                  |#########
#########|  PARAMETERS CONST CHAR pathname                          |#########
#########|     VARDEF                                               |#########
#########|         INT    r                                         |#########
#########|     ENDIF                                                |#########
#########|                                                          |#########
#########|     IF .NOT. find_first( pathname, 0x3f )                |#########
#########|         RETURN "File not found"                          |#########
#########|     ENDIF                                                |#########
#########|                                                          |#########
#########|     ? pathname + " is "                                  |#########
#########|                                                          |#########
#########|     FOR r = 1 to 6                                       |#########
#########|         IF bitset( find_attr(), r )                      |#########
#########|              ?? t[r]                                     |#########
#########|         ENDIF                                            |#########
#########|     NEXT                                                 |#########
#########| ENDPRO                                                   |#########
#########+----------------------------------------------------------+#########
##############################################################################

See Also: find_fdate() find_fext() find_first() find_fsize() ...

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