home *** CD-ROM | disk | FTP | other *** search
- .de }n
- .bp
- .sp .5i
- ..
- .wh -.8i }n
- .sp .5i
- .po -.4i
- .ll 7.5i
- .ps 9
- .vs 9
- .in 0i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- Submitting code for the Library
- .br
- .ps -3
- .vs -3
- .sp 2
- .sp
- .in 0.16i
- When submitting code for the Nanforum Tooklit Library, please
- observe the following rules and formatting:
- .sp
- .in 0.24i
- 1\. Please format your headers \fBexactly\fR as shown in the samples\.
- .in 0.48i
- A good deal of time went into the creation of a program to generate
- this Norton Guide\. By submitting your headers in the requested
- format, future versions of the library can be released much more
- quickly then the first\.
- .sp
- .in 0.24i
- 2\. Include at least one example of your function, no matter how
- .in 0.48i
- trivial or obvious it may be\. An example is worth a thousand words\.
- .sp
- .in 0.24i
- 3\. Enclose all references to parameters within angle brackets, ie:
- .in 0.48i
- <nElements>\. The NG generator program will automatically
- highlight parameter references in the "Arguments" section\.
- .sp
- .in 0.24i
- 4\. Do not put any blank lines between $sections$, the NG generator
- .in 0.48i
- will insert them as needed\. Blank lines are ok within sections\.
- .sp
- .in 0.24i
- 5\. The $ONELINER$ field must be no longer than 60 characters\. It is
- .in 0.48i
- intended for a brief description of the function only\.
- .sp
- .in 0.24i
- 6\. All fields except $FUNCNAME$, $CATEGORY$ and $ONELINER$ can
- .in 0.48i
- contain as many lines as necessary\.
- .sp
- .in 0.24i
- 7\. The $ARGUMENTS$ and $DESCRIPTION$ fields should contain blank lines
- .in 0.48i
- between paragraphs or argument descriptions\.
- .sp
- .in 0.24i
- 8\. The $RETURNS$ field is only necessary for functions\. If your
- .in 0.48i
- submission is a command, omit this entry\.
- .sp
- .in 0.24i
- 9\. The $INCLUDE$ field is for the name of the header file, if any,
- .in 0.48i
- that is required for the use of your function\. Generally this
- will apply only to commands\.
- .sp
- .in 0.16i
- 10\. The $SEEALSO$ filed is for the names of related functions or
- .in 0.48i
- commands, and is used to generate the "See also:" references in
- the Norton Guide\. This field is optional and may be filled in by
- the librarian or documenter\.
- .sp
- If a $SEEALSO$ entry contains two or more words, enclose the
- entry within quotes, ie:
- .sp
- .in 0.96i
- $SEEALSO$
- .in 1.2i
- "MENU TO" FT_MENUTO()
- .sp
- .in 0.16i
- 11\. It is preferable to have only one function per file, except for
- .in 0.48i
- STATIC functions or internal support routines\. Do not document
- STATIC or internal support functions with a standard header
- (although they should be documented with comments)\.
- .sp
- If it is necessary to include more than one "PUBLIC" function in
- a source code file, do not duplicate the initial file header (the
- one with the "File\.\.\.\." and "Author\.\.\.\." fields)\.
- .sp
- .sp
- Thank you\.
- .in 0i
- .sp
- .in 1.5i
- .ti -1.5i
- .ta 1.5i
- .ft B
- See Also:
- .ft R
- Sample Clipper or C header
- , Sample ASM header
- .ta
- .in 0i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- Sample Clipper or C header
- .br
- .ps -3
- .vs -3
- .sp 2
- .sp
- .in 1.28i
- \fBThis example shows how you would set up the
- .in 1.2i
- \fBheaders for either a Clipper or C source file\.
- .sp
- .in 0i
- .br
- /*
- .in 0.08i
- .br
- * File\.\.\.\.\.\.: PRTSCR\.C
- .br
- * Author\.\.\.\.: Ted Means
- .br
- * CIS ID\.\.\.\.: 73067,3332
- .br
- * Date\.\.\.\.\.\.: $Date$
- .br
- * Revision\.\.: $Revision$
- .br
- * Log file\.\.: $Logfile$
- .br
- *
- .br
- * This is an original work by Ted Means and is placed in the
- .br
- * public domain\.
- .br
- *
- .br
- * Modification history:
- .br
- * ---------------------
- .br
- *
- .br
- * $Log$
- .br
- *
- .br
- */
- .sp
- .in 0i
- .ta 0.32i
- .br
- /* $DOC$
- .br
- .ta
- .in 0.08i
- .ta 0.24i
- .br
- * $FUNCNAME$
- .br
- .ta
- .ta 0.48i
- .br
- * FT_PrtScr()
- .br
- .ta
- .ta 0.24i
- .br
- * $ONELINER$
- .br
- .ta
- .ta 0.48i
- .br
- * Enable or disable printscreens
- .br
- .ta
- .ta 0.24i
- .br
- * $SYNTAX$
- .br
- .ta
- .ta 0.48i
- .br
- * FT_PrtScr( <lSetStat> ) -> lCurStat
- .br
- .ta
- .ta 0.24i
- .br
- * $ARGUMENTS$
- .br
- .ta
- .ta 0.48i
- .br
- * <lSetStat> set to \.T\. will enable printscreens, \.F\. will
- .br
- .ta
- .ta 0.48i
- .br
- * disable printscreens\.
- .br
- .ta
- .ta 0.24i
- .br
- * $RETURNS$
- .br
- .ta
- .ta 0.48i
- .br
- * The current state ( \.T\. for enabled, \.F\. for disabled)\.
- .br
- .ta
- .ta 0.24i
- .br
- * $DESCRIPTION$
- .br
- .ta
- .ta 0.48i
- .br
- * This function is valuable if you have a need to disable the
- .br
- .ta
- .ta 0.48i
- .br
- * printscreen key\. It works by fooling the BIOS into thinking
- .br
- .ta
- .ta 0.48i
- .br
- * that a printscreen is already in progress\. The BIOS will then
- .br
- .ta
- .ta 0.48i
- .br
- * refuse to invoke the printscreen handler\.
- .br
- .ta
- .ta 0.24i
- .br
- * $EXAMPLES$
- .br
- .ta
- .ta 0.48i 2.32i
- .br
- * FT_PrtScr( \.F\. ) // Disable the printscreen key
- .br
- .ta
- .ta 0.48i 2.32i
- .br
- * FT_PrtScr( \.T\. ) // Enable the printscreen key
- .br
- .ta
- .ta 0.48i 2.32i
- .br
- * MemVar := FT_PrtScr() // Get the current status
- .br
- .ta
- .ta 0.24i
- .br
- * $INCLUDE$
- .br
- .ta
- .ta 0.48i
- .br
- * FTVIDEO\.CH
- .br
- .ta
- .ta 0.24i
- .br
- * $SEEALSO$
- .br
- .ta
- .ta 0.48i
- .br
- * ft_peek() ft_poke()
- .br
- .ta
- .ta 0.24i
- .br
- * $END$
- .br
- .ta
- .br
- */
- .sp
- .in 1.92i
- \fBFormatting Guidelines
- .in 0i
- .br
- /*
- .in 0.08i
- .br
- * File\.\.\.\.\.\.: PRTSCR\.C
- .br
- * Author\.\.\.\.: Ted Means
- .br
- * CIS ID\.\.\.\.: 73067,3332
- .ta 2.4i
- .br
- * Date\.\.\.\.\.\.: $Date$ \fB<- Leave blank, for librarian\'s use
- .br
- .ta
- .ta 2.4i 2.88i
- .br
- * Revision\.\.: $Revision$ \fB<- "
- .br
- .ta
- .ta 2.4i 2.88i
- .br
- * Log file\.\.: $Logfile$ \fB<- "
- .br
- .ta
- .br
- *
- .br
- * This is an original work by Ted Means and is placed in the
- .br
- * public domain\.
- .br
- *
- .br
- * Modification history:
- .br
- * ---------------------
- .ta 2.48i
- .br
- * \fB\(sq
- .br
- .ta
- .ta 2.48i
- .br
- * $Log$ \fB\(br Leave blank, for librarian\'s use
- .br
- .ta
- .ta 2.48i
- .br
- * \fB\(sq
- .br
- .ta
- .br
- */
- .sp
- .in 0i
- .ta 0.32i
- .br
- /* $DOC$
- .br
- .ta
- .in 0.08i
- .ta 0.24i
- .br
- * $FUNCNAME$
- .br
- .ta
- .in 0.16i
- .br
- \fB\(sq
- .br
- \l'1.2i'
- .br
- indent all items 6 spaces after asterisk
- .in 0.08i
- .ta 0.48i 3.52i
- .br
- * \fB\(sq\fR FT_PRTSCR() \fB<- 15 characters MAXIMUM
- .br
- .ta
- .ta 0.16i
- .br
- * \fB \(br\fR$ONELINER$
- .br
- .ta
- .ta 0.16i 0.48i 3.52i
- .br
- * \fB \(br\fR Enable or disable printscreens \fB<- 60 character MAXIMUM
- .br
- .ta
- .ta 0.16i
- .br
- * \fB \(br\fR$SYNTAX$
- .br
- .ta
- .ta 0.16i 0.48i
- .br
- * \fB \(br\fR FT_PRTSCR( <lSetStat> ) -> lCurStat
- .br
- .ta
- .ta 0.16i
- .br
- * \fB \(br\fR$ARGUMENTS$ \(sq
- .br
- \l'1.52i'
- .br
- Parameters in angle brackets
- .br
- .ta
- .ta 0.16i 0.48i
- .br
- * \fB \(br\fR <lSetStat> set to \.T\. will enable printscreens, \.F\. will
- .br
- .ta
- .ta 0.16i 0.48i
- .br
- * \fB \(br\fR disable printscreens\.
- .br
- .ta
- .ta 0.16i
- .br
- * \fB \(br\fR$RETURNS$
- .br
- .ta
- .ta 0.16i 0.48i
- .br
- * \fB \(br\fR The current state ( \.T\. for enabled, \.F\. for disabled)\.
- .br
- .ta
- .ta 0.16i
- .br
- * \fB \(br\fR$DESCRIPTION$
- .br
- .ta
- .ta 0.16i 0.48i
- .br
- * \fB \(br\fR This function is valuable if you have a need to disable the
- .br
- .ta
- .ta 0.16i 0.48i
- .br
- * \fB \(br\fR printscreen key\. It works by fooling the BIOS into thinking
- .br
- .ta
- .ta 0.16i 0.48i
- .br
- * \fB \(br\fR that a printscreen is already in progress\. The BIOS will then
- .br
- .ta
- .ta 0.16i 0.48i
- .br
- * \fB \(br\fR refuse to invoke the printscreen handler\.
- .br
- .ta
- .in 0.24i
- .ta 0i 0.32i
- .br
- \fB \(br\fR \fB\(sq
- .br
- \l'1.04i'
- .br
- Lines no longer than 65 characters
- .br
- \l'1.12i'
- .br
- \(sq
- .br
- .ta
- .in 0.08i
- .ta 0.16i
- .br
- * \fB \(br\fR$EXAMPLES$
- .br
- .ta
- .ta 0.16i 0.48i 2.32i
- .br
- * \fB \(br\fR FT_PRTSCR( \.F\. ) // Disable the printscreen key
- .br
- .ta
- .ta 0.16i 0.48i 2.32i
- .br
- * \fB \(br\fR FT_PRTSCR( \.T\. ) // Enable the printscreen key
- .br
- .ta
- .ta 0.16i 0.48i 2.32i
- .br
- * \fB \(br\fR MemVar := FT_PRTSCR() // Get the current status
- .br
- .ta
- .ta 0.16i
- .br
- * \fB \(br\fR$INCLUDE$
- .br
- .ta
- .ta 0.16i 0.48i 3.52i
- .br
- * \fB \(br\fR FTVIDEO\.CH \fB<- optional
- .br
- .ta
- .ta 0.16i
- .br
- * \fB \(br\fR$SEEALSO$
- .br
- .ta
- .ta 0.16i 0.48i 3.52i
- .br
- * \fB \(br\fR FT_PEEK() FT_POKE() \fB<- optional
- .br
- .ta
- .ta 0.16i
- .br
- * \fB \(br\fR$END$
- .br
- .ta
- .ta 0.16i
- .br
- */\fB \(br\fR
- .br
- .ta
- .in 0.24i
- .br
- \fB\(sq
- .br
- \l'0.08i'
- .br
- Function names in all caps
- .in 0i
- .sp
- .in 1.5i
- .ti -1.5i
- .ta 1.5i
- .ft B
- See Also:
- .ft R
- Sample ASM header
- , Submitting code for the Library
- .ta
- .in 0i
- .sp 2
- .ne 20
- .ps +3
- .vs +3
- Sample ASM header
- .br
- .ps -3
- .vs -3
- .sp 2
- .sp
- .in 1.2i
- .br
- \fBThis example shows how you would set up
- .in 1.36i
- .br
- \fBthe headers for an ASM source file\.
- .sp
- .in 0i
- .br
- ; File\.\.\.\.\.\.: ADAPTER\.ASM
- .br
- ; Author\.\.\.\.: Ted Means
- .br
- ; CIS ID\.\.\.\.: 73067,3332
- .br
- ; Date\.\.\.\.\.\.: $Date$
- .br
- ; Revision\.\.: $Revision$
- .br
- ; Log file\.\.: $Logfile$
- .br
- ;
- .br
- ; This is an original work by Ted Means and is placed in the
- .br
- ; public domain\.
- .br
- ;
- .br
- ; Modification history:
- .br
- ; ---------------------
- .br
- ;
- .br
- ; $Log$
- .br
- ;
- .br
- ;
- .ta 0.24i
- .br
- ; $DOC$
- .br
- .ta
- .ta 0.24i
- .br
- ; $FUNCNAME$
- .br
- .ta
- .ta 0.48i
- .br
- ; FT_ADAPTER()
- .br
- .ta
- .ta 0.24i
- .br
- ; $CATEGORY$
- .br
- .ta
- .ta 0.48i
- .br
- ; Video
- .br
- .ta
- .ta 0.24i
- .br
- ; $ONELINER$
- .br
- .ta
- .ta 0.48i
- .br
- ; Report the type of video adapter installed
- .br
- .ta
- .ta 0.24i
- .br
- ; $SYNTAX$
- .br
- .ta
- .ta 0.48i
- .br
- ; FT_ADAPTER() -> nResult
- .br
- .ta
- .ta 0.24i
- .br
- ; $ARGUMENTS$
- .br
- .ta
- .ta 0.48i
- .br
- ; None
- .br
- .ta
- .ta 0.24i
- .br
- ; $RETURNS$
- .br
- .ta
- .ta 0.48i 0.72i
- .br
- ; 0 if monochrome
- .br
- .ta
- .ta 0.48i 0.72i
- .br
- ; 1 if CGA
- .br
- .ta
- .ta 0.48i 0.72i
- .br
- ; 2 if EGA
- .br
- .ta
- .ta 0.48i 0.72i
- .br
- ; 3 if VGA
- .br
- .ta
- .ta 0.24i
- .br
- ; $DESCRIPTION$
- .br
- .ta
- .ta 0.48i
- .br
- ; This function is valuable if you use a graphics library and need to
- .br
- .ta
- .ta 0.48i
- .br
- ; know what type of graphics adapter is installed\.
- .br
- .ta
- .br
- ;
- .ta 0.48i
- .br
- ; The source code is written to adhere to Turbo Assembler\'s IDEAL mode\.
- .br
- .ta
- .ta 0.48i
- .br
- ; To use another assembler, you will need to rearrange the PROC and
- .br
- .ta
- .ta 0.48i
- .br
- ; SEGMENT directives, and also the ENDP and ENDS directives (a very
- .br
- .ta
- .ta 0.48i
- .br
- ; minor task)\.
- .br
- .ta
- .ta 0.24i
- .br
- ; $EXAMPLES$
- .br
- .ta
- .ta 0.48i
- .br
- ; iVideo := FT_ADAPTER()
- .br
- .ta
- .br
- ;
- .ta 0.48i
- .br
- ; DO CASE
- .br
- .ta
- .ta 0.72i
- .br
- ; CASE iVideo == 0
- .br
- .ta
- .ta 0.96i
- .br
- ; Qout( "You have a monochrome adapter\." )
- .br
- .ta
- .ta 0.72i
- .br
- ; CASE iVideo == 1
- .br
- .ta
- .ta 0.96i
- .br
- ; Qout( "You have a CGA adapter\." )
- .br
- .ta
- .ta 0.72i
- .br
- ; CASE iVideo == 2
- .br
- .ta
- .ta 0.96i
- .br
- ; Qout( "You have an EGA adapter\." )
- .br
- .ta
- .ta 0.72i
- .br
- ; CASE iVideo == 3
- .br
- .ta
- .ta 0.96i
- .br
- ; Qout( "You have a VGA adapter\." )
- .br
- .ta
- .ta 0.48i
- .br
- ; ENDCASE
- .br
- .ta
- .ta 0.24i
- .br
- ; $INCLUDE$
- .br
- .ta
- .ta 0.48i
- .br
- ; FTVIDEO\.CH
- .br
- .ta
- .ta 0.24i
- .br
- ; $SEEALSO$
- .br
- .ta
- .ta 0.48i 1.6i
- .br
- ; FT_SETMODE() FT_GETMODE()
- .br
- .ta
- .ta 0.24i
- .br
- ; $END$
- .br
- .ta
- .br
- ;
- .sp
- .in 1.5i
- .ti -1.5i
- .ta 1.5i
- .ft B
- See Also:
- .ft R
- Sample Clipper or C header
- , Submitting code for the Library
-