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]
##############################################################################
###+-------+##################################################################
#+-| F_PUT |-------------------------------------+############################
#| +-------+ Writes output_line to the disk file |############################
#+-----------------------------------------------+############################
##############################################################################
##############################################################################
#+--| Summary |----------------+##############################################
#|     #INCLUDE fileio.hdr     |##############################################
#+-----------------------------+##############################################
##############################################################################
##############################################################################
#+--| Syntax |--------------------------------------------------+#############
#|     PROCEDURE f_put PROTOTYPE                                |#############
#|      PARAMETERS FILE file_stream, CONST CHAR output_line     |#############
#+--------------------------------------------------------------+#############
##############################################################################
##############################################################################
#########+---| Description |---------------------------------------+##########
#########| The f_put procedure writes output_line to the disk file |##########
#########| associated with file_stream.  The file must have been   |##########
#########| opened in the append or create mode.                    |##########
#########| ------------------------------------------------------- |##########
#########| The carriage-return and line-feed characters are not    |##########
#########| prepended or appended to the string.  Therefore, f_put  |##########
#########| is similar to:                                          |##########
#########|                                                         |##########
#########|    ?? output_line                                       |##########
#########| ------------------------------------------------------- |##########
#########| The procedure f_putln prepends the carriage-return and  |##########
#########| line-feed characters to the output and is similar to:   |##########
#########|                                                         |##########
#########|    ? output_line                                        |##########
#########+---------------------------------------------------------+##########
##############################################################################
##############################################################################
#########+--| Example 1 |-------------------------------------------+#########
#########| *    Create a SDF file.  This is identical               |#########
#########| *    to APPEND ... SDF.                                  |#########
#########|                                                          |#########
#########| f_open( f, newfile, &F_CREATE )                          |#########
#########| DO WHILE .NOT. eof()                                     |#########
#########|     f_put( f, a->name+a->addr+chr(10)+chr(13) )          |#########
#########|     SKIP                                                 |#########
#########| ENDDO                                                    |#########
#########| f_close( f )                                             |#########
#########+----------------------------------------------------------+#########
##############################################################################
##############################################################################
#########+--| Example 2 |-------------------------------------------+#########
#########| *    Write the screen display to a file.  the screen     |#########
#########| *    buffer is at address 0xb800 or 0xb000.  The screen  |#########
#########| *    buffer has the following format:                    |#########
#########| *     <char><attr><char><attr>...<char><attr>            |#########
#########| *    Therefore, a line consists of 160 bytes.            |#########
#########|                                                          |#########
#########| VARDEF                                                   |#########
#########|     FILE    scrn_file                                    |#########
#########|     LONG    screen = 0                                   |#########
#########|     INT     set[2] BASED screen                          |#########
#########| ENDDEF                                                   |#########
#########|                                                          |#########
#########| PROCEDURE write_screen                                   |#########
#########|  PARAMETERS UNTYPED scrn_addr                            |#########
#########|     VARDEF                                               |#########
#########|         CHAR(80)    line                                 |#########
#########|         BYTE        b[160] BASED scrn_addr               |#########
#########|         BYTE        l[80]  BASED line                    |#########
#########|         INT         r,c                                  |#########
#########|     ENDDEF                                               |#########
#########|                                                          |#########
#########|     r = 0                                                |#########
#########|     DO WHILE r < 25                                      |#########
#########|         c = 0                                            |#########
#########|         DO WHILE c < 160                                 |#########
#########|             l[c/2] = b[c]                                |#########
#########|             c = c + 2       && 1 byte for char,          |#########
#########|                             && 1 byte for attr           |#########
#########|         ENDDO                                            |#########
#########|         f_put( scrn_file, line+chr(10)+chr(13) )         |#########
#########|         r = r + 1                                        |#########
#########|     ENDDO                                                |#########
#########|     RETURN                                               |#########
#########| ENDPRO                                                   |#########
#########|                                                          |#########
#########| PROCEDURE force_main                                     |#########
#########|     IF iscolor()                                         |#########
#########|         seg[1] = 0xb800                                  |#########
#########|     ELSE                                                 |#########
#########|         seg[1] = 0xb000                                  |#########
#########|     ENDIF                                                |#########
#########|                                                          |#########
#########|     f_open( scrn_file, "scrn.txt", &F_CREATE )           |#########
#########|     DO write_screen WITH screen                          |#########
#########|     f_close( scrn_file )                                 |#########
#########| ENDPRO                                                   |#########
#########+----------------------------------------------------------+#########
##############################################################################

See Also: f_close f_eof() f_flush f_getln() f_open() f_putln

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