home *** CD-ROM | disk | FTP | other *** search
/ Boston 2 / boston-2.iso / DOS / PROGRAM / CLIPPER / NFTROFF / 17.TR < prev    next >
Text File  |  1993-12-01  |  11KB  |  808 lines

  1. .de }n
  2. .bp
  3. .sp .5i
  4. ..
  5. .wh -.8i }n
  6. .sp .5i
  7. .po -.4i
  8. .ll 7.5i
  9. .ps 9
  10. .vs 9
  11. .in 0i
  12. .sp 2
  13. .ne 20
  14. .ps +3
  15. .vs +3
  16. Submitting code for the Library
  17. .br
  18. .ps -3
  19. .vs -3
  20. .sp 2
  21. .sp
  22. .in 0.16i
  23. When submitting code for the Nanforum Tooklit Library, please
  24. observe the following rules and formatting:
  25. .sp
  26. .in 0.24i
  27. 1\. Please format your headers \fBexactly\fR as shown in the samples\.
  28. .in 0.48i
  29. A good deal of time went into the creation of a program to generate
  30. this Norton Guide\.  By submitting your headers in the requested
  31. format, future versions of the library can be released much more
  32. quickly then the first\.
  33. .sp
  34. .in 0.24i
  35. 2\. Include at least one example of your function, no matter how
  36. .in 0.48i
  37. trivial or obvious it may be\.  An example is worth a thousand words\.
  38. .sp
  39. .in 0.24i
  40. 3\. Enclose all references to parameters within angle brackets, ie:
  41. .in 0.48i
  42. <nElements>\.  The NG generator program will automatically
  43. highlight parameter references in the "Arguments" section\.
  44. .sp
  45. .in 0.24i
  46. 4\. Do not put any blank lines between $sections$, the NG generator
  47. .in 0.48i
  48. will insert them as needed\.  Blank lines are ok within sections\.
  49. .sp
  50. .in 0.24i
  51. 5\. The $ONELINER$ field must be no longer than 60 characters\.  It is
  52. .in 0.48i
  53. intended for a brief description of the function only\.
  54. .sp
  55. .in 0.24i
  56. 6\. All fields except $FUNCNAME$, $CATEGORY$ and $ONELINER$ can
  57. .in 0.48i
  58. contain as many lines as necessary\.
  59. .sp
  60. .in 0.24i
  61. 7\. The $ARGUMENTS$ and $DESCRIPTION$ fields should contain blank lines
  62. .in 0.48i
  63. between paragraphs or argument descriptions\.
  64. .sp
  65. .in 0.24i
  66. 8\. The $RETURNS$ field is only necessary for functions\.  If your
  67. .in 0.48i
  68. submission is a command, omit this entry\.
  69. .sp
  70. .in 0.24i
  71. 9\. The $INCLUDE$ field is for the name of the header file, if any,
  72. .in 0.48i
  73. that is required for the use of your function\.  Generally this
  74. will apply only to commands\.
  75. .sp
  76. .in 0.16i
  77. 10\. The $SEEALSO$ filed is for the names of related functions or
  78. .in 0.48i
  79. commands, and is used to generate the "See also:" references in
  80. the Norton Guide\.  This field is optional and may be filled in by
  81. the librarian or documenter\.
  82. .sp
  83. If a $SEEALSO$ entry contains two or more words, enclose the
  84. entry within quotes, ie:
  85. .sp
  86. .in 0.96i
  87. $SEEALSO$
  88. .in 1.2i
  89. "MENU TO" FT_MENUTO()
  90. .sp
  91. .in 0.16i
  92. 11\. It is preferable to have only one function per file, except for
  93. .in 0.48i
  94. STATIC functions or internal support routines\.  Do not document
  95. STATIC or internal support functions with a standard header
  96. (although they should be documented with comments)\.
  97. .sp
  98. If it is necessary to include more than one "PUBLIC" function in
  99. a source code file, do not duplicate the initial file header (the
  100. one with the "File\.\.\.\." and "Author\.\.\.\." fields)\.
  101. .sp
  102. .sp
  103. Thank you\.
  104. .in 0i
  105. .sp
  106. .in 1.5i
  107. .ti -1.5i
  108. .ta 1.5i
  109. .ft B
  110. See Also:    
  111. .ft R
  112. Sample Clipper or C header
  113. , Sample ASM header
  114. .ta
  115. .in 0i
  116. .sp 2
  117. .ne 20
  118. .ps +3
  119. .vs +3
  120. Sample Clipper or C header
  121. .br
  122. .ps -3
  123. .vs -3
  124. .sp 2
  125. .sp
  126. .in 1.28i
  127. \fBThis example shows how you would set up the
  128. .in 1.2i
  129. \fBheaders for either a Clipper or C source file\.
  130. .sp
  131. .in 0i
  132. .br
  133. /*
  134. .in 0.08i
  135. .br
  136. * File\.\.\.\.\.\.: PRTSCR\.C
  137. .br
  138. * Author\.\.\.\.: Ted Means
  139. .br
  140. * CIS ID\.\.\.\.: 73067,3332
  141. .br
  142. * Date\.\.\.\.\.\.: $Date$
  143. .br
  144. * Revision\.\.: $Revision$
  145. .br
  146. * Log file\.\.: $Logfile$
  147. .br
  148. *
  149. .br
  150. * This is an original work by Ted Means and is placed in the
  151. .br
  152. * public domain\.
  153. .br
  154. *
  155. .br
  156. * Modification history:
  157. .br
  158. * ---------------------
  159. .br
  160. *
  161. .br
  162. * $Log$
  163. .br
  164. *
  165. .br
  166. */
  167. .sp
  168. .in 0i
  169. .ta 0.32i
  170. .br
  171. /*    $DOC$
  172. .br
  173. .ta
  174. .in 0.08i
  175. .ta 0.24i
  176. .br
  177. *    $FUNCNAME$
  178. .br
  179. .ta
  180. .ta 0.48i
  181. .br
  182. *    FT_PrtScr()
  183. .br
  184. .ta
  185. .ta 0.24i
  186. .br
  187. *    $ONELINER$
  188. .br
  189. .ta
  190. .ta 0.48i
  191. .br
  192. *    Enable or disable printscreens
  193. .br
  194. .ta
  195. .ta 0.24i
  196. .br
  197. *    $SYNTAX$
  198. .br
  199. .ta
  200. .ta 0.48i
  201. .br
  202. *    FT_PrtScr( <lSetStat> ) -> lCurStat
  203. .br
  204. .ta
  205. .ta 0.24i
  206. .br
  207. *    $ARGUMENTS$
  208. .br
  209. .ta
  210. .ta 0.48i
  211. .br
  212. *    <lSetStat> set to \.T\. will enable printscreens, \.F\. will
  213. .br
  214. .ta
  215. .ta 0.48i
  216. .br
  217. *    disable printscreens\.
  218. .br
  219. .ta
  220. .ta 0.24i
  221. .br
  222. *    $RETURNS$
  223. .br
  224. .ta
  225. .ta 0.48i
  226. .br
  227. *    The current state ( \.T\. for enabled, \.F\. for disabled)\.
  228. .br
  229. .ta
  230. .ta 0.24i
  231. .br
  232. *    $DESCRIPTION$
  233. .br
  234. .ta
  235. .ta 0.48i
  236. .br
  237. *    This function is valuable if you have a need to disable the
  238. .br
  239. .ta
  240. .ta 0.48i
  241. .br
  242. *    printscreen key\.  It works by fooling the BIOS into thinking
  243. .br
  244. .ta
  245. .ta 0.48i
  246. .br
  247. *    that a printscreen is already in progress\.  The BIOS will then
  248. .br
  249. .ta
  250. .ta 0.48i
  251. .br
  252. *    refuse to invoke the printscreen handler\.
  253. .br
  254. .ta
  255. .ta 0.24i
  256. .br
  257. *    $EXAMPLES$
  258. .br
  259. .ta
  260. .ta 0.48i 2.32i
  261. .br
  262. *    FT_PrtScr( \.F\. )    // Disable the printscreen key
  263. .br
  264. .ta
  265. .ta 0.48i 2.32i
  266. .br
  267. *    FT_PrtScr( \.T\. )    // Enable the printscreen key
  268. .br
  269. .ta
  270. .ta 0.48i 2.32i
  271. .br
  272. *    MemVar := FT_PrtScr()    // Get the current status
  273. .br
  274. .ta
  275. .ta 0.24i
  276. .br
  277. *    $INCLUDE$
  278. .br
  279. .ta
  280. .ta 0.48i
  281. .br
  282. *    FTVIDEO\.CH
  283. .br
  284. .ta
  285. .ta 0.24i
  286. .br
  287. *    $SEEALSO$
  288. .br
  289. .ta
  290. .ta 0.48i
  291. .br
  292. *    ft_peek() ft_poke()
  293. .br
  294. .ta
  295. .ta 0.24i
  296. .br
  297. *    $END$
  298. .br
  299. .ta
  300. .br
  301. */
  302. .sp
  303. .in 1.92i
  304. \fBFormatting Guidelines
  305. .in 0i
  306. .br
  307. /*
  308. .in 0.08i
  309. .br
  310. * File\.\.\.\.\.\.: PRTSCR\.C
  311. .br
  312. * Author\.\.\.\.: Ted Means
  313. .br
  314. * CIS ID\.\.\.\.: 73067,3332
  315. .ta 2.4i
  316. .br
  317. * Date\.\.\.\.\.\.: $Date$    \fB<- Leave blank, for librarian\'s use
  318. .br
  319. .ta
  320. .ta 2.4i 2.88i
  321. .br
  322. * Revision\.\.: $Revision$    \fB<-    "
  323. .br
  324. .ta
  325. .ta 2.4i 2.88i
  326. .br
  327. * Log file\.\.: $Logfile$    \fB<-    "
  328. .br
  329. .ta
  330. .br
  331. *
  332. .br
  333. * This is an original work by Ted Means and is placed in the
  334. .br
  335. * public domain\.
  336. .br
  337. *
  338. .br
  339. * Modification history:
  340. .br
  341. * ---------------------
  342. .ta 2.48i
  343. .br
  344. *    \fB\(sq
  345. .br
  346. .ta
  347. .ta 2.48i
  348. .br
  349. * $Log$    \fB\(br Leave blank, for librarian\'s use
  350. .br
  351. .ta
  352. .ta 2.48i
  353. .br
  354. *    \fB\(sq
  355. .br
  356. .ta
  357. .br
  358. */
  359. .sp
  360. .in 0i
  361. .ta 0.32i
  362. .br
  363. /*    $DOC$
  364. .br
  365. .ta
  366. .in 0.08i
  367. .ta 0.24i
  368. .br
  369. *    $FUNCNAME$
  370. .br
  371. .ta
  372. .in 0.16i
  373. .br
  374. \fB\(sq
  375. .br
  376. \l'1.2i'
  377. .br
  378.  indent all items 6 spaces after asterisk
  379. .in 0.08i
  380. .ta 0.48i 3.52i
  381. .br
  382. * \fB\(sq\fR    FT_PRTSCR()    \fB<- 15 characters MAXIMUM
  383. .br
  384. .ta
  385. .ta 0.16i
  386. .br
  387. * \fB    \(br\fR$ONELINER$
  388. .br
  389. .ta
  390. .ta 0.16i 0.48i 3.52i
  391. .br
  392. * \fB    \(br\fR    Enable or disable printscreens    \fB<- 60 character MAXIMUM
  393. .br
  394. .ta
  395. .ta 0.16i
  396. .br
  397. * \fB    \(br\fR$SYNTAX$
  398. .br
  399. .ta
  400. .ta 0.16i 0.48i
  401. .br
  402. * \fB    \(br\fR    FT_PRTSCR( <lSetStat> ) -> lCurStat
  403. .br
  404. .ta
  405. .ta 0.16i
  406. .br
  407. * \fB    \(br\fR$ARGUMENTS$ \(sq
  408. .br
  409. \l'1.52i'
  410. .br
  411.  Parameters in angle brackets
  412. .br
  413. .ta
  414. .ta 0.16i 0.48i
  415. .br
  416. * \fB    \(br\fR    <lSetStat> set to \.T\. will enable printscreens, \.F\. will
  417. .br
  418. .ta
  419. .ta 0.16i 0.48i
  420. .br
  421. * \fB    \(br\fR    disable printscreens\.
  422. .br
  423. .ta
  424. .ta 0.16i
  425. .br
  426. * \fB    \(br\fR$RETURNS$
  427. .br
  428. .ta
  429. .ta 0.16i 0.48i
  430. .br
  431. * \fB    \(br\fR    The current state ( \.T\. for enabled, \.F\. for disabled)\.
  432. .br
  433. .ta
  434. .ta 0.16i
  435. .br
  436. * \fB    \(br\fR$DESCRIPTION$
  437. .br
  438. .ta
  439. .ta 0.16i 0.48i
  440. .br
  441. * \fB    \(br\fR    This function is valuable if you have a need to disable the
  442. .br
  443. .ta
  444. .ta 0.16i 0.48i
  445. .br
  446. * \fB    \(br\fR    printscreen key\.  It works by fooling the BIOS into thinking
  447. .br
  448. .ta
  449. .ta 0.16i 0.48i
  450. .br
  451. * \fB    \(br\fR    that a printscreen is already in progress\.  The BIOS will then
  452. .br
  453. .ta
  454. .ta 0.16i 0.48i
  455. .br
  456. * \fB    \(br\fR    refuse to invoke the printscreen handler\.
  457. .br
  458. .ta
  459. .in 0.24i
  460. .ta 0i 0.32i
  461. .br
  462. \fB    \(br\fR    \fB\(sq
  463. .br
  464. \l'1.04i'
  465. .br
  466.  Lines no longer than 65 characters 
  467. .br
  468. \l'1.12i'
  469. .br
  470. \(sq
  471. .br
  472. .ta
  473. .in 0.08i
  474. .ta 0.16i
  475. .br
  476. * \fB    \(br\fR$EXAMPLES$
  477. .br
  478. .ta
  479. .ta 0.16i 0.48i 2.32i
  480. .br
  481. * \fB    \(br\fR    FT_PRTSCR( \.F\. )    // Disable the printscreen key
  482. .br
  483. .ta
  484. .ta 0.16i 0.48i 2.32i
  485. .br
  486. * \fB    \(br\fR    FT_PRTSCR( \.T\. )    // Enable the printscreen key
  487. .br
  488. .ta
  489. .ta 0.16i 0.48i 2.32i
  490. .br
  491. * \fB    \(br\fR    MemVar := FT_PRTSCR()    // Get the current status
  492. .br
  493. .ta
  494. .ta 0.16i
  495. .br
  496. * \fB    \(br\fR$INCLUDE$
  497. .br
  498. .ta
  499. .ta 0.16i 0.48i 3.52i
  500. .br
  501. * \fB    \(br\fR    FTVIDEO\.CH    \fB<- optional
  502. .br
  503. .ta
  504. .ta 0.16i
  505. .br
  506. * \fB    \(br\fR$SEEALSO$
  507. .br
  508. .ta
  509. .ta 0.16i 0.48i 3.52i
  510. .br
  511. * \fB    \(br\fR    FT_PEEK() FT_POKE()    \fB<- optional
  512. .br
  513. .ta
  514. .ta 0.16i
  515. .br
  516. * \fB    \(br\fR$END$
  517. .br
  518. .ta
  519. .ta 0.16i
  520. .br
  521. */\fB    \(br\fR
  522. .br
  523. .ta
  524. .in 0.24i
  525. .br
  526. \fB\(sq
  527. .br
  528. \l'0.08i'
  529. .br
  530.  Function names in all caps
  531. .in 0i
  532. .sp
  533. .in 1.5i
  534. .ti -1.5i
  535. .ta 1.5i
  536. .ft B
  537. See Also:    
  538. .ft R
  539. Sample ASM header
  540. , Submitting code for the Library
  541. .ta
  542. .in 0i
  543. .sp 2
  544. .ne 20
  545. .ps +3
  546. .vs +3
  547. Sample ASM header
  548. .br
  549. .ps -3
  550. .vs -3
  551. .sp 2
  552. .sp
  553. .in 1.2i
  554. .br
  555. \fBThis example shows how you would set up
  556. .in 1.36i
  557. .br
  558. \fBthe headers for an ASM source file\.
  559. .sp
  560. .in 0i
  561. .br
  562. ; File\.\.\.\.\.\.: ADAPTER\.ASM
  563. .br
  564. ; Author\.\.\.\.: Ted Means
  565. .br
  566. ; CIS ID\.\.\.\.: 73067,3332
  567. .br
  568. ; Date\.\.\.\.\.\.: $Date$
  569. .br
  570. ; Revision\.\.: $Revision$
  571. .br
  572. ; Log file\.\.: $Logfile$
  573. .br
  574. ;
  575. .br
  576. ; This is an original work by Ted Means and is placed in the
  577. .br
  578. ; public domain\.
  579. .br
  580. ;
  581. .br
  582. ; Modification history:
  583. .br
  584. ; ---------------------
  585. .br
  586. ;
  587. .br
  588. ; $Log$
  589. .br
  590. ;
  591. .br
  592. ;
  593. .ta 0.24i
  594. .br
  595. ;    $DOC$
  596. .br
  597. .ta
  598. .ta 0.24i
  599. .br
  600. ;    $FUNCNAME$
  601. .br
  602. .ta
  603. .ta 0.48i
  604. .br
  605. ;    FT_ADAPTER()
  606. .br
  607. .ta
  608. .ta 0.24i
  609. .br
  610. ;    $CATEGORY$
  611. .br
  612. .ta
  613. .ta 0.48i
  614. .br
  615. ;    Video
  616. .br
  617. .ta
  618. .ta 0.24i
  619. .br
  620. ;    $ONELINER$
  621. .br
  622. .ta
  623. .ta 0.48i
  624. .br
  625. ;    Report the type of video adapter installed
  626. .br
  627. .ta
  628. .ta 0.24i
  629. .br
  630. ;    $SYNTAX$
  631. .br
  632. .ta
  633. .ta 0.48i
  634. .br
  635. ;    FT_ADAPTER() -> nResult
  636. .br
  637. .ta
  638. .ta 0.24i
  639. .br
  640. ;    $ARGUMENTS$
  641. .br
  642. .ta
  643. .ta 0.48i
  644. .br
  645. ;    None
  646. .br
  647. .ta
  648. .ta 0.24i
  649. .br
  650. ;    $RETURNS$
  651. .br
  652. .ta
  653. .ta 0.48i 0.72i
  654. .br
  655. ;    0    if monochrome
  656. .br
  657. .ta
  658. .ta 0.48i 0.72i
  659. .br
  660. ;    1    if CGA
  661. .br
  662. .ta
  663. .ta 0.48i 0.72i
  664. .br
  665. ;    2    if EGA
  666. .br
  667. .ta
  668. .ta 0.48i 0.72i
  669. .br
  670. ;    3    if VGA
  671. .br
  672. .ta
  673. .ta 0.24i
  674. .br
  675. ;    $DESCRIPTION$
  676. .br
  677. .ta
  678. .ta 0.48i
  679. .br
  680. ;    This function is valuable if you use a graphics library and need to
  681. .br
  682. .ta
  683. .ta 0.48i
  684. .br
  685. ;    know what type of graphics adapter is installed\.
  686. .br
  687. .ta
  688. .br
  689. ;
  690. .ta 0.48i
  691. .br
  692. ;    The source code is written to adhere to Turbo Assembler\'s IDEAL mode\.
  693. .br
  694. .ta
  695. .ta 0.48i
  696. .br
  697. ;    To use another assembler, you will need to rearrange the PROC and
  698. .br
  699. .ta
  700. .ta 0.48i
  701. .br
  702. ;    SEGMENT directives, and also the ENDP and ENDS directives (a very
  703. .br
  704. .ta
  705. .ta 0.48i
  706. .br
  707. ;    minor task)\.
  708. .br
  709. .ta
  710. .ta 0.24i
  711. .br
  712. ;    $EXAMPLES$
  713. .br
  714. .ta
  715. .ta 0.48i
  716. .br
  717. ;    iVideo := FT_ADAPTER()
  718. .br
  719. .ta
  720. .br
  721. ;
  722. .ta 0.48i
  723. .br
  724. ;    DO CASE
  725. .br
  726. .ta
  727. .ta 0.72i
  728. .br
  729. ;    CASE iVideo == 0
  730. .br
  731. .ta
  732. .ta 0.96i
  733. .br
  734. ;    Qout( "You have a monochrome adapter\." )
  735. .br
  736. .ta
  737. .ta 0.72i
  738. .br
  739. ;    CASE iVideo == 1
  740. .br
  741. .ta
  742. .ta 0.96i
  743. .br
  744. ;    Qout( "You have a CGA adapter\." )
  745. .br
  746. .ta
  747. .ta 0.72i
  748. .br
  749. ;    CASE iVideo == 2
  750. .br
  751. .ta
  752. .ta 0.96i
  753. .br
  754. ;    Qout( "You have an EGA adapter\." )
  755. .br
  756. .ta
  757. .ta 0.72i
  758. .br
  759. ;    CASE iVideo == 3
  760. .br
  761. .ta
  762. .ta 0.96i
  763. .br
  764. ;    Qout( "You have a VGA adapter\." )
  765. .br
  766. .ta
  767. .ta 0.48i
  768. .br
  769. ;    ENDCASE
  770. .br
  771. .ta
  772. .ta 0.24i
  773. .br
  774. ;    $INCLUDE$
  775. .br
  776. .ta
  777. .ta 0.48i
  778. .br
  779. ;    FTVIDEO\.CH
  780. .br
  781. .ta
  782. .ta 0.24i
  783. .br
  784. ;    $SEEALSO$
  785. .br
  786. .ta
  787. .ta 0.48i 1.6i
  788. .br
  789. ;    FT_SETMODE()    FT_GETMODE()
  790. .br
  791. .ta
  792. .ta 0.24i
  793. .br
  794. ;    $END$
  795. .br
  796. .ta
  797. .br
  798. ;
  799. .sp
  800. .in 1.5i
  801. .ti -1.5i
  802. .ta 1.5i
  803. .ft B
  804. See Also:    
  805. .ft R
  806. Sample Clipper or C header
  807. , Submitting code for the Library
  808.