home *** CD-ROM | disk | FTP | other *** search
/ POINT Software Programming / PPROG1.ISO / clipper / fastlib / fast.man < prev    next >
Text File  |  1994-06-07  |  312KB  |  15,274 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.                             Manu Roibal Prieto
  27.                         Sagastagoitia, 13 2º B izq
  28.                       Barakaldo 48903. Bizkaia. Spain.
  29.                Voice phone 34-4-4992660 FAX/BBS 34-4-4605666
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53. Printout of `FAST.lib 3.15 » Reference'
  54. Printed by the Norton Guides Printer v2.0 (NGP.EXE).
  55.  
  56.  
  57.                                  - Page 1 -
  58. Norton Guide: `FAST.lib 3.15 » Reference'
  59.  
  60.  
  61. Menu List: FAST.lib 1, Data Types
  62.  
  63.  
  64.  
  65.  
  66.     Here I show some simple functions to handle the variables and types
  67.   of data that I hope will be to your liking.
  68.  
  69.  ──────────────────────────────────────────────────────────────────────────────
  70.  
  71.  
  72.  
  73.  Conversions
  74.  
  75.  ──────────────────────────────────────────────────────────────────────────────
  76.  
  77.  
  78.     ASCIIToEBCDIC()
  79.  
  80.          Converts an ASCII string to EBCDIC
  81.  
  82.     Syntax:
  83.  
  84.          ASCIIToEBCDIC( cString ) -> cNewString
  85.  
  86.          cString : The string to convert
  87.  
  88.     Description:
  89.  
  90.          Converts an ASCII string to EBCDIC notation.
  91.  
  92.     Return:
  93.  
  94.          A new string in EBCDIC notation.
  95.  
  96.     Example:
  97.  
  98.          ? ASCIIToEBCDIC( "Hello world" )
  99.  
  100. See Also: "EBCDICToASCII()" 
  101.  
  102.  
  103.     Byte2Hex()
  104.  
  105.          Converts a byte into a hexadecimal string
  106.  
  107.     Syntax:
  108.  
  109.          Byte2Hex ( cByte ) -> cHexadecimal
  110.  
  111.          cByte : Byte to convert.
  112.  
  113.     Description:
  114.  
  115.          Converts a byte into a hexadecimal string.
  116.  
  117.                                  - Page 2 -
  118. Norton Guide: `FAST.lib 3.15 » Reference'
  119.  
  120.  
  121.  
  122.     Return:
  123.  
  124.          Hexadecimal number or Nil if cByte is not a character.
  125.  
  126.     Example:
  127.  
  128.          ? Byte2Hex ( "O" )             // "4F"
  129.  
  130. See Also: "Byte2Bin()" 
  131.  
  132.  
  133.     Byte2Bin()
  134.  
  135.          Converts a byte to a binary string
  136.  
  137.     Syntax:
  138.  
  139.          Byte2Bin ( cByte ) -> cBinary
  140.  
  141.          cByte : Byte to convert.
  142.  
  143.     Description:
  144.  
  145.          Converts a byte to a binary string.
  146.  
  147.     Return:
  148.  
  149.          Binary number or Nil if cByte is not a character.
  150.  
  151.     Example:
  152.  
  153.          ? Byte2Hex ( "O" )             // "01001111"
  154.  
  155. See Also: "Byte2Hex()" 
  156.  
  157.  
  158.     ByteAnd()
  159.  
  160.          Makes an And of two bytes bit to bit
  161.  
  162.     Syntax:
  163.  
  164.          ByteAnd ( cByte1, cByte2 ) -> cNewByte
  165.  
  166.          cByte1 y cByte2 : Bytes to do the And.
  167.  
  168.     Description:
  169.  
  170.          Makes an And Between the two specified bytes and returns the
  171.          new byte as the result.
  172.  
  173.     Return:
  174.  
  175.          The resulting byte of the And or Nil if any of the two entry bytes
  176.  
  177.                                  - Page 3 -
  178. Norton Guide: `FAST.lib 3.15 » Reference'
  179.  
  180.  
  181.          are not character type.
  182.  
  183.     Example:
  184.  
  185.          ? ByteAnd ( "O", "A" )
  186.  
  187. See Also: "ByteNot()" "ByteOr()" 
  188.  
  189.  
  190.     ByteNot()
  191.  
  192.          Makes a Not of the byte bit to bit
  193.  
  194.     Syntax:
  195.  
  196.          ByteNot ( cByte ) -> cnewbyte
  197.  
  198.          cByte : Byte to do the Not.
  199.  
  200.     Description:
  201.  
  202.          Makes a Not of the specified byte and returns the new byte with
  203.          the result.
  204.  
  205.     Return:
  206.  
  207.          The result byte of the Not or Nil if any of the entry bytes is
  208.          not of the type character
  209.  
  210.     Example:
  211.  
  212.          ? ByteNot ( "O" )
  213.  
  214. See Also: "ByteAnd()" "ByteOr()" 
  215.  
  216.  
  217.     ByteOr()
  218.  
  219.          Makes an Or of two bytes bit to bit
  220.  
  221.     Syntax:
  222.  
  223.          ByteOr ( cByte1, cByte2 ) -> cnewbyte
  224.  
  225.          cByte1 y cByte2 : Bytes to do de Or.
  226.  
  227.     Description:
  228.  
  229.          Makes an Or between the two specified bytes and returns the
  230.          new byte with the result.
  231.  
  232.     Return:
  233.  
  234.          The result of the Or or Nil if any of the two bytes is not
  235.          character type.
  236.  
  237.                                  - Page 4 -
  238. Norton Guide: `FAST.lib 3.15 » Reference'
  239.  
  240.  
  241.  
  242.     Example:
  243.  
  244.          ? ByteOr ( "O", "A" )
  245.  
  246. See Also: "ByteAnd()" "ByteNot()" 
  247.  
  248.  
  249.     Color2Num()
  250.  
  251.          Converts a color string into a color numeric
  252.  
  253.     Syntax:
  254.  
  255.          Color2Num ( cColor ) -> nColor
  256.  
  257.          cColor : The color in string format
  258.  
  259.     Description:
  260.  
  261.          Converts a color in string format into numeric format. If the
  262.          entry parameter is a string with more than a color, the style
  263.          "W/B, B/W...", is returned to the numeric value of the first
  264.          element.
  265.  
  266.     Return:
  267.  
  268.          Type color in numeric format.
  269.  
  270.     Example:
  271.  
  272.          ? Color2Num ( "W+/B" )   //   31
  273.  
  274. See Also: "Num2Color()" 
  275.  
  276.  
  277.     Dec2Bin()
  278.  
  279.          Converts a decimal number to a binary string.
  280.  
  281.     Syntax:
  282.  
  283.          Dec2Bin ( nDec ) -> cBinary
  284.  
  285.          nDec : The decimal number to convert.
  286.  
  287.     Description:
  288.  
  289.          Converts a number in decimal base to a string in binary base.
  290.  
  291.     Return:
  292.  
  293.          The binary string.
  294.  
  295.     Example:
  296.  
  297.                                  - Page 5 -
  298. Norton Guide: `FAST.lib 3.15 » Reference'
  299.  
  300.  
  301.  
  302.          ? Dec2Bin ( 10 )   //   "1010"
  303.  
  304. See Also: "Hex2Dec()" "Byte2Hex()" "Byte2Bin()" 
  305.  
  306.  
  307.     DelBit()
  308.  
  309.          Deactivates a bit selected from a byte
  310.  
  311.     Syntax:
  312.  
  313.          DelBit ( cByte, nBitPos ) -> cNewByte
  314.  
  315.          cByte   : Byte to be deactivated.
  316.          nBitPos : Bit position inside the byte.
  317.  
  318.     Description:
  319.  
  320.          Puts to 0 a selected bit from a byte and returns the new byte.
  321.  
  322.     Return:
  323.  
  324.          New byte or Nil if cByte is not a character or nBitPos if is not
  325.          numeric.
  326.  
  327.     Example:
  328.  
  329.          cNewByte := DelBit ( "C", 2 )
  330.  
  331. See Also: "IsBit()" "SetBit()" 
  332.  
  333.  
  334.     EBCDICToASCII()
  335.  
  336.          Converts an EBCDIC string to ASCII
  337.  
  338.     Syntax:
  339.  
  340.          EBCDICToASCII( cString ) -> cNewString
  341.  
  342.          cString : The string to convert
  343.  
  344.     Description:
  345.  
  346.          Converts an EBCDIC string to ASCII notation.
  347.  
  348.     Return:
  349.  
  350.          A new string in ASCII notation.
  351.  
  352.     Example:
  353.  
  354.          ? EBCDICToASCII( "Hello world" )
  355.  
  356.  
  357.                                  - Page 6 -
  358. Norton Guide: `FAST.lib 3.15 » Reference'
  359.  
  360.  
  361. See Also: "ASCIIToEBCDIC()" 
  362.  
  363.  
  364.     Hex2Dec()
  365.  
  366.          Converts a hexadecimal string to a decimal number
  367.  
  368.     Syntax:
  369.  
  370.          Hex2Dec ( cHex ) -> nDec
  371.  
  372.          cHex : The hexadecimal string to be converted.
  373.  
  374.     Description:
  375.  
  376.          Converts a string in hexadecimal base to a integer in
  377.          decimal base.
  378.  
  379.     Return:
  380.  
  381.          The decimal integer.
  382.  
  383.     Example:
  384.  
  385.          ? Hex2Dec ( "FA" )
  386.  
  387. See Also: "Dec2Bin()" "Byte2Hex()" "Byte2Bin()" 
  388.  
  389.  
  390.     Inter()
  391.  
  392.          Interchanges two variables
  393.  
  394.     Syntax:
  395.  
  396.          Inter( xVar1, xVar2 ) -> Nil
  397.  
  398.          xVar1 y xVar2 : The variables to interchange
  399.  
  400.     Description:
  401.  
  402.          Interchanges the value of the variables, that have to be indicated
  403.          in the same way as an array {}.
  404.  
  405.     Return:
  406.  
  407.          Nothing.
  408.  
  409.     Example:
  410.  
  411.          cVar1 := "Hello"
  412.          cVar2 := "Good bye"
  413.  
  414.          Inter( @cVar1, @cVar2 )
  415.          ? cVar1                        // "Good bye"
  416.  
  417.                                  - Page 7 -
  418. Norton Guide: `FAST.lib 3.15 » Reference'
  419.  
  420.  
  421.          ? cVar2                        // "Hello"
  422.  
  423.  
  424.     IsBit()
  425.  
  426.          Determines if Bit 1 or 0
  427.  
  428.     Syntax:
  429.  
  430.          IsBit ( cByte, nBitPos ) -> lIsOn
  431.  
  432.          cByte   : The byte to treat.
  433.          nBitPos : The bit position inside the byte.
  434.  
  435.     Description:
  436.  
  437.          Returns a logic indicating if the selected bit inside the byte
  438.          is 1 or 0
  439.  
  440.     Return:
  441.  
  442.          A logic indicating answer or Nil if cByte is not a character
  443.          or if nBitPos is not numeric.
  444.  
  445.     Example:
  446.  
  447.          lEstaA_1 := IsBit ( "C", 2 )
  448.  
  449. See Also: "DelBit()" "SetBit()" 
  450.  
  451.  
  452.     Num2Color()
  453.  
  454.          Converts a numeric color to a string color
  455.  
  456.     Syntax:
  457.  
  458.          Color2Num ( nColor ) -> cColor
  459.  
  460.          nColor : The color in numeric format
  461.  
  462.     Description:
  463.  
  464.          Converts a color in numeric format to string format. The numeric
  465.          color has to be a value between 0 and 255.
  466.  
  467.     Return:
  468.  
  469.          The color in string format or Nil if the number is bigger than
  470.          255 or smaller than 0.
  471.  
  472.     Example:
  473.  
  474.          ? Num2Color ( 31 )   // "W+/B"
  475.  
  476.  
  477.                                  - Page 8 -
  478. Norton Guide: `FAST.lib 3.15 » Reference'
  479.  
  480.  
  481. See Also: "Color2Num()" 
  482.  
  483.  
  484.     SetBit()
  485.  
  486.          Activates a selected bit from a byte
  487.  
  488.     Syntax:
  489.  
  490.          SetBit ( cByte, nBitPos ) -> cNewByte
  491.  
  492.          cByte   : The byte to treat.
  493.          nBitPos : The position of the bit inside the byte.
  494.  
  495.     Description:
  496.  
  497.          Puts to 1 a selected bit from a byte returning the new byte.
  498.  
  499.     Return:
  500.  
  501.          The new byte or Nil if cByte is not a character or nBitPos is
  502.          not numeric.
  503.  
  504.     Example:
  505.  
  506.          cNewByte := SetBit ( "C", 2 )
  507.  
  508. See Also: "DelBit()" "IsBit()" 
  509.  
  510.  
  511.     Purge()
  512.  
  513.          Purges the value of a variable
  514.  
  515.     Syntax:
  516.  
  517.          Purge ( xVar ) -> xNewVar
  518.  
  519.          xVar : The variable to purge
  520.  
  521.     Description:
  522.  
  523.          Returns a value of the purged parameter, I mean, if xVar is
  524.          numeric returns 0, if character returns spaces, if date "  /  /  "
  525.          if array {}.
  526.  
  527.     Return:
  528.  
  529.          The purged value.
  530.  
  531.     Example:
  532.  
  533.          cNew := Purge ( "Hello" )       // "    "
  534.          cMax := Purge ( { "Hello" } )   // {}
  535.          cMax := Purge ( 123 )           // 0
  536.  
  537.                                  - Page 9 -
  538. Norton Guide: `FAST.lib 3.15 » Reference'
  539.  
  540.  
  541.          cMax := Purge ( .T. )           // .F.
  542.  
  543.  
  544.  
  545.  Imperial and Metric
  546.  
  547.  ──────────────────────────────────────────────────────────────────────────────
  548.  
  549.  
  550.     nAcre2Ha()
  551.  
  552.          Acres into hectares
  553.  
  554.     Syntax:
  555.  
  556.          nAcre2Ha( nNumber ) -> nResul
  557.  
  558.          nNumber : is the value in acres.
  559.  
  560.     Description:
  561.  
  562.          Converts an area from acres into hectares.
  563.  
  564.     Return:
  565.  
  566.          The value of nNumber converted into hectares.
  567.  
  568.     Example:
  569.  
  570.          ? nAcre2Ha( 5 )                        // 2.0234
  571.  
  572. See Also: "nHa2Acre()" 
  573.  
  574.  
  575.     nAcre2M()
  576.  
  577.          Acres into meters
  578.  
  579.     Syntax:
  580.  
  581.          nAcre2M( nNumber ) -> nResul
  582.  
  583.          nNumber : is the value in acres.
  584.  
  585.     Description:
  586.  
  587.          Converts an area from acres into meters.
  588.  
  589.     Return:
  590.  
  591.          The value of nNumber converted into meters.
  592.  
  593.     Example:
  594.  
  595.          ? nAcre2M( 5 )
  596.  
  597.                                  - Page 10 -
  598. Norton Guide: `FAST.lib 3.15 » Reference'
  599.  
  600.  
  601.  
  602. See Also: "nM2Acre()" 
  603.  
  604.  
  605.     nCm2Inch()
  606.  
  607.          Centimeters into inches
  608.  
  609.     Syntax:
  610.  
  611.          nCm2Inch( nNumber ) -> nResul
  612.  
  613.          nNumber : is the value in centimeters.
  614.  
  615.     Description:
  616.  
  617.          Converts a length from centimeters into inches.
  618.  
  619.     Return:
  620.  
  621.          The value of nNumber converted into inches.
  622.  
  623.     Example:
  624.  
  625.          ? nCm2Inch( 30 )                       // 11.811
  626.  
  627. See Also: "nInch2Cm()" 
  628.  
  629.  
  630.     nCC2Inch()
  631.  
  632.          Cubic centimeters into cubic inches
  633.  
  634.     Syntax:
  635.  
  636.          nCC2Inch( nNumber ) -> nResul
  637.  
  638.          nNumber : is the value in cubic centimeters.
  639.  
  640.     Description:
  641.  
  642.          Converts a volume from cubic centimeters into cubic inches.
  643.  
  644.     Return:
  645.  
  646.          The value of nNumber converted into cubic inches.
  647.  
  648.     Example:
  649.  
  650.          ? nCC2Inch( 25 )                       // 1.525
  651.  
  652. See Also: "nInch2CC()" 
  653.  
  654.  
  655.     nCF2Ltr()
  656.  
  657.                                  - Page 11 -
  658. Norton Guide: `FAST.lib 3.15 » Reference'
  659.  
  660.  
  661.  
  662.          Cubic feet into liters
  663.  
  664.     Syntax:
  665.  
  666.          nCF2Ltr( nNumber ) -> nResul
  667.  
  668.          nNumber : is the value in cubic feet.
  669.  
  670.     Description:
  671.  
  672.          Converts a volume from cubic feet into liters.
  673.  
  674.     Return:
  675.  
  676.          The value of nNumber converted into liters.
  677.  
  678.     Example:
  679.  
  680.          ? nCF2Ltr( 2 )                         // 56.657
  681.  
  682. See Also: "nLtr2CF()" 
  683.  
  684.  
  685.     nInch2CC()
  686.  
  687.          Cubic inches into cubic centimeters
  688.  
  689.     Syntax:
  690.  
  691.          nInch2CC( nNumber ) -> nResul
  692.  
  693.          nNumber : is the value in cubic inches.
  694.  
  695.     Description:
  696.  
  697.          Converts a volume from cubic inches into cubic centimeters.
  698.  
  699.     Return:
  700.  
  701.          The value of nNumber converted into cubic centimeters.
  702.  
  703.     Example:
  704.  
  705.          ? nInch2CC( 3 )                        // 49.16
  706.  
  707. See Also: "nCC2Inch()" 
  708.  
  709.  
  710.     nCm2CYd()
  711.  
  712.          Cubic meters into cubic yards
  713.  
  714.     Syntax:
  715.  
  716.  
  717.                                  - Page 12 -
  718. Norton Guide: `FAST.lib 3.15 » Reference'
  719.  
  720.  
  721.          nCm2CYd( nNumber ) -> nResul
  722.  
  723.          nNumber : is the value in cubic meters.
  724.  
  725.     Description:
  726.  
  727.          Converts a volume from cubic meters into cubic yards.
  728.  
  729.     Return:
  730.  
  731.          The value of nNumber converted into cubic yards.
  732.  
  733.     Example:
  734.  
  735.          ? nCm2CYd( 5 )                         // 6.54
  736.  
  737. See Also: "nCYd2Cm()" 
  738.  
  739.  
  740.     nCYd2Cm()
  741.  
  742.          Cubic yards into cubic meters
  743.  
  744.     Syntax:
  745.  
  746.          nCYd2Cm( nNumber ) -> nResul
  747.  
  748.          nNumber : is the value in cubic yards.
  749.  
  750.     Description:
  751.  
  752.          Converts a volume from cubic yards into cubic meters.
  753.  
  754.     Return:
  755.  
  756.          The value of nNumber converted into cubic meters.
  757.  
  758.     Example:
  759.  
  760.          ? nCYd2Cm( 7 )                         // 5.3522
  761.  
  762. See Also: "nCm2CYd()" 
  763.  
  764.  
  765.     nGal2Ltr()
  766.  
  767.          Gallons into liters
  768.  
  769.     Syntax:
  770.  
  771.          nGal2Ltr( nNumber ) -> nResul
  772.  
  773.          nNumber : is the value in gallons.
  774.  
  775.     Description:
  776.  
  777.                                  - Page 13 -
  778. Norton Guide: `FAST.lib 3.15 » Reference'
  779.  
  780.  
  781.  
  782.          Converts a volume from gallons into liters.
  783.  
  784.     Return:
  785.  
  786.          The value of nNumber converted into liters.
  787.  
  788.     Example:
  789.  
  790.          ? nGal2Ltr( 2 )                        // 9.0909
  791.  
  792. See Also: "nLtr2Gal()" 
  793.  
  794.  
  795.     nGr2Oz()
  796.  
  797.          Grams into ounces
  798.  
  799.     Syntax:
  800.  
  801.          nGr2Oz( nNumber ) -> nResul
  802.  
  803.          nNumber : is the value in grams.
  804.  
  805.     Description:
  806.  
  807.          Converts a weight from grams into ounces.
  808.  
  809.     Return:
  810.  
  811.          The value of nNumber converted into ounces.
  812.  
  813.     Example:
  814.  
  815.          ? nGr2Oz( 50 )                         // 1.765
  816.  
  817. See Also: "nOz2Gr()" 
  818.  
  819.  
  820.     nHa2Acre()
  821.  
  822.          Hectares into acres
  823.  
  824.     Syntax:
  825.  
  826.          nHa2Acre( nNumber ) -> nResul
  827.  
  828.          nNumber : is the value in hectares.
  829.  
  830.     Description:
  831.  
  832.          Converts an area from hectares into acres.
  833.  
  834.     Return:
  835.  
  836.  
  837.                                  - Page 14 -
  838. Norton Guide: `FAST.lib 3.15 » Reference'
  839.  
  840.  
  841.          The value of nNumber converted into acres.
  842.  
  843.     Example:
  844.  
  845.          ? nHa2Acre(5)                          // 12.3555
  846.  
  847. See Also: "nAcre2Ha()" 
  848.  
  849.  
  850.     nInch2Cm()
  851.  
  852.          Inches into centimeters
  853.  
  854.     Syntax:
  855.  
  856.          nInch2Cm( nNumber ) -> nResul
  857.  
  858.          nNumber : is the value in inches.
  859.  
  860.     Description:
  861.  
  862.          Converts a length from inches into centimeters.
  863.  
  864.     Return:
  865.  
  866.          The value of nNumber converted into centimeters.
  867.  
  868.     Example:
  869.  
  870.          ? nInch2Cm( 12 )                      // 30.48
  871.  
  872. See Also: "nCm2Inch()" 
  873.  
  874.  
  875.     nKg2Lb()
  876.  
  877.          Kilograms into pounds
  878.  
  879.     Syntax:
  880.  
  881.          nKg2Lb( nNumber ) -> nResul
  882.  
  883.          nNumber : is the value in kilograms.
  884.  
  885.     Description:
  886.  
  887.          To convert a weight from kilograms into pounds.
  888.  
  889.     Return:
  890.  
  891.          The value of nNumber converted into pounds.
  892.  
  893.     Example:
  894.  
  895.          ? nKg2Lb(5)                            // 11.023
  896.  
  897.                                  - Page 15 -
  898. Norton Guide: `FAST.lib 3.15 » Reference'
  899.  
  900.  
  901.  
  902. See Also: "nLb2Kg()" 
  903.  
  904.  
  905.     nLb2Kg()
  906.  
  907.          Pounds into kilograms
  908.  
  909.     Syntax:
  910.  
  911.          nLb2Kg( nNumber ) -> nResul
  912.  
  913.          nNumber : is the value in pounds.
  914.  
  915.     Description:
  916.  
  917.          Converts a weight from pounds into kilograms.
  918.  
  919.     Return:
  920.  
  921.          The value of nNumber converted into kilograms.
  922.  
  923.     Example:
  924.  
  925.          ? nLb2Kg(4)                    // 1.8144
  926.  
  927. See Also: "nKg2Lb()" 
  928.  
  929.  
  930.     nLtr2CF()
  931.  
  932.          Liters into cubic feet
  933.  
  934.     Syntax:
  935.  
  936.          nLtr2CF( nNumber ) -> nResul
  937.  
  938.          nNumber : is the value in liters.
  939.  
  940.     Description:
  941.  
  942.          Converts a volume from liters into cubic feet.
  943.  
  944.     Return:
  945.  
  946.          The value of nNumber converted into cubic feet.
  947.  
  948.     Example:
  949.  
  950.          ? nLtr2CF( 50 )                        // 1.765
  951.  
  952. See Also: "nCF2Ltr()" 
  953.  
  954.  
  955.     nLtr2Gal()
  956.  
  957.                                  - Page 16 -
  958. Norton Guide: `FAST.lib 3.15 » Reference'
  959.  
  960.  
  961.  
  962.          Liters into gallons
  963.  
  964.     Syntax:
  965.  
  966.          nLtr2Gal( nNumber ) -> nResul
  967.  
  968.          nNumber : is the value in liters.
  969.  
  970.     Description:
  971.  
  972.          Converts a volume from liters into gallons.
  973.  
  974.     Return:
  975.  
  976.          The value of nNumber converted into gallons.
  977.  
  978.     Example:
  979.  
  980.          ? nLtr2Gal( 10 )                       // 2.2
  981.  
  982. See Also: "nGal2Ltr()" 
  983.  
  984.  
  985.     nM2Acre()
  986.  
  987.          Meters into acres
  988.  
  989.     Syntax:
  990.  
  991.          nM2Acre( nNumber ) -> nResul
  992.  
  993.          nNumber : is the value in meters.
  994.  
  995.     Description:
  996.  
  997.          Converts an area from meters into acres.
  998.  
  999.     Return:
  1000.  
  1001.          The value of nNumber converted into acres.
  1002.  
  1003.     Example:
  1004.  
  1005.          ? nM2Acre(5)
  1006.  
  1007. See Also: "nAcre2M()" 
  1008.  
  1009.  
  1010.     nMt2Yd()
  1011.  
  1012.          Meters into yards
  1013.  
  1014.     Syntax:
  1015.  
  1016.  
  1017.                                  - Page 17 -
  1018. Norton Guide: `FAST.lib 3.15 » Reference'
  1019.  
  1020.  
  1021.          nMt2Yd( nNumber ) -> nResul
  1022.  
  1023.          nNumber : is the value in meters.
  1024.  
  1025.     Description:
  1026.  
  1027.          Converts a length from meters into yards.
  1028.  
  1029.     Return:
  1030.  
  1031.          The value of nNumber converted into yards
  1032.  
  1033.     Example:
  1034.  
  1035.          ? nMt2Yd( 8 )                          // 8.7488
  1036.  
  1037. See Also: "nYd2Mt()" 
  1038.  
  1039.  
  1040.     nOz2Gr()
  1041.  
  1042.          Ounces into grams
  1043.  
  1044.     Syntax:
  1045.  
  1046.          nOz2Gr( nNumber ) -> nResul
  1047.  
  1048.          nNumber : is the value in ounces.
  1049.  
  1050.     Description:
  1051.  
  1052.          Converts a weight from ounces into grams.
  1053.  
  1054.     Return:
  1055.  
  1056.          The value of nNumber converted into grams.
  1057.  
  1058.     Example:
  1059.  
  1060.          ? nOz2Gr( 4 )                          // 113.31
  1061.  
  1062. See Also: "nGr2Oz()" 
  1063.  
  1064.  
  1065.     nYd2Mt()
  1066.  
  1067.          Yards into meters
  1068.  
  1069.     Syntax:
  1070.  
  1071.          nYd2Mt( nNumber ) -> nResul
  1072.  
  1073.          nNumber : is the value in yards.
  1074.  
  1075.     Description:
  1076.  
  1077.                                  - Page 18 -
  1078. Norton Guide: `FAST.lib 3.15 » Reference'
  1079.  
  1080.  
  1081.  
  1082.          Converts a length from yards into meters.
  1083.  
  1084.     Return:
  1085.  
  1086.          The value of nNumber converted into meters.
  1087.  
  1088.     Example:
  1089.  
  1090.          ? nYd2Mt( 5 )                          // 4.5721
  1091.  
  1092. See Also: "nMt2Yd()" 
  1093.  
  1094.  
  1095.  
  1096.  Array16
  1097.  
  1098.  ──────────────────────────────────────────────────────────────────────────────
  1099.  
  1100.  
  1101.     Add16()
  1102.  
  1103.          Adds an element into an array16
  1104.  
  1105.     Syntax:
  1106.  
  1107.          Add16 ( aArray, xValue ) -> Nil
  1108.  
  1109.          aArray : The array16 previously created
  1110.          xValue : The value of the new element
  1111.  
  1112.     Description:
  1113.  
  1114.          Adds an element to the end of an array16 and initializes it
  1115.          with the xValue value if it is specified.
  1116.  
  1117.     Return:
  1118.  
  1119.          Nothing.
  1120.  
  1121.     Example:
  1122.  
  1123.          a16 := New16 ( 15000, 0 )
  1124.          Add16 ( a16, 0 )          // adds a new element
  1125.  
  1126. See Also: "Get16()" "Len16()" "New16()" "Scan16()" "Set16()" 
  1127.  
  1128.  
  1129.     Get16()
  1130.  
  1131.          Returns an element from an array16
  1132.  
  1133.     Syntax:
  1134.  
  1135.          Get16 ( aArray, nPos ) -> Nil
  1136.  
  1137.                                  - Page 19 -
  1138. Norton Guide: `FAST.lib 3.15 » Reference'
  1139.  
  1140.  
  1141.  
  1142.          aArray : The previously array16 created
  1143.          nPos   : The position to return
  1144.  
  1145.     Description:
  1146.  
  1147.          Returns the value of an array16 position. If nPos is not
  1148.          specified or if is higher than the number of elements of array16
  1149.          the function returns Nil.
  1150.  
  1151.     Return:
  1152.  
  1153.          The value of the specified position or Nil if nPos is not a
  1154.          valid parameter.
  1155.  
  1156.     Example:
  1157.  
  1158.          a16 := New16 ( 15000, 0 )
  1159.          ? Get16 ( a16, 1 )          // Is sure that returns 0
  1160.  
  1161. See Also: "Add16()" "Len16()" "New16()" "Scan16()" "Set16()" 
  1162.  
  1163.  
  1164.     Len16()
  1165.  
  1166.          Returns an array16 length
  1167.  
  1168.     Syntax:
  1169.  
  1170.          Len16 ( aArray ) -> nLen
  1171.  
  1172.          aArray : The previously created array16
  1173.  
  1174.     Description:
  1175.  
  1176.          Returns the length or the number of elements of an array16.
  1177.  
  1178.     Return:
  1179.  
  1180.          The number of elements of the array16.
  1181.  
  1182.     Example:
  1183.  
  1184.          a16 := New16 ( 15000, 0 )
  1185.          Add16 ( a16, 0 )
  1186.          ? Len16 ( a16 )          // 15001
  1187.  
  1188. See Also: "Add16()" "Get16()" "New16()" "Scan16()" "Set16()" 
  1189.  
  1190.  
  1191.     New16()
  1192.  
  1193.          Creates an array structure with 16 million elements
  1194.  
  1195.     Syntax:
  1196.  
  1197.                                  - Page 20 -
  1198. Norton Guide: `FAST.lib 3.15 » Reference'
  1199.  
  1200.  
  1201.  
  1202.          New16 ( nNumItems, xInit ) -> aArray
  1203.  
  1204.          nNumItems : The array number of elements
  1205.          xInit     : The initial value to the array elements
  1206.  
  1207.     Description:
  1208.  
  1209.          Creates a structure of a new type of data that I want to
  1210.          baptize as array16 in honor of its 16 million elements.
  1211.  
  1212.          Actually, if available memory would admit it, which I
  1213.          doubt, you could get 16.777.216 elements.
  1214.  
  1215.     Return:
  1216.  
  1217.          The generated array.
  1218.  
  1219.     Example:
  1220.  
  1221.          New16 ( 125000, 0 )  // creates an 125 element array
  1222.                               // initialized to 0
  1223.  
  1224. See Also: "Add16()" "Get16()" "Len16()" "Scan16()" "Set16()" 
  1225.  
  1226.  
  1227.     Scan16()
  1228.  
  1229.          Looks for an element of an array16
  1230.  
  1231.     Syntax:
  1232.  
  1233.          Scan16 ( aArray, xSearch [, nStart] ) -> nPos
  1234.  
  1235.          aArray  : The previously created array16
  1236.          xSearch : The value to look for into the array
  1237.          nStart  : The initial value of the position to start the looking for.
  1238.                    Is by default the first element
  1239.  
  1240.     Description:
  1241.  
  1242.          Looks for an element in an array16 and returns it's position.
  1243.  
  1244.     Return:
  1245.  
  1246.          The position where the element is found or 0 if it can not be found.
  1247.  
  1248.     Example:
  1249.  
  1250.          a16 := New16 ( 15000, 0 )
  1251.          Add16 ( a16, 1 )
  1252.          ? Len16 ( a16 )            // 15001
  1253.          ? Scan ( a16, 1 )          // Returns 15001 too
  1254.  
  1255. See Also: "Add16()" "Get16()" "Len16()" "New16()" "Set16()" 
  1256.  
  1257.                                  - Page 21 -
  1258. Norton Guide: `FAST.lib 3.15 » Reference'
  1259.  
  1260.  
  1261.  
  1262.  
  1263.     Set16()
  1264.  
  1265.          Puts a value into an array16 position
  1266.  
  1267.     Syntax:
  1268.  
  1269.          Set16 ( aArray, nPos, xValue ) -> Nil
  1270.  
  1271.          aArray : The previously created array16
  1272.          nPos   : The array position to modify
  1273.          xValue : The new value of the specified position
  1274.  
  1275.     Description:
  1276.  
  1277.          Puts a value to an element of an array16. The value of nPos has
  1278.          to be equal or lower to the array16 number of elements.
  1279.  
  1280.     Return:
  1281.  
  1282.          Nothing.
  1283.  
  1284.     Example:
  1285.  
  1286.          a16 := New16 ( 15000, 0 )
  1287.          Set16 ( a16, 100, "Hello" )  // Now the element 100 is "hello"
  1288.  
  1289. See Also: "Add16()" "Get16()" "Len16()" "New16()" "Scan16()" 
  1290.  
  1291.  
  1292.  
  1293.  Array
  1294.  
  1295.  ──────────────────────────────────────────────────────────────────────────────
  1296.  
  1297.  
  1298.     aCar2Arr()
  1299.  
  1300.          Converts a string or memo to an array
  1301.  
  1302.     Syntax:
  1303.  
  1304.          aCar2Arr ( cMemStr, cSep ) -> aArray
  1305.  
  1306.          cMemStr    : The string or memo to treat
  1307.          cSep       : The element separator
  1308.  
  1309.     Description:
  1310.  
  1311.          Converts a string or memo to an array using a character as separator
  1312.          inside the string.
  1313.  
  1314.     Return:
  1315.  
  1316.  
  1317.                                  - Page 22 -
  1318. Norton Guide: `FAST.lib 3.15 » Reference'
  1319.  
  1320.  
  1321.          The generated array.
  1322.  
  1323.     Example:
  1324.  
  1325.          aCar2Arr ( "Fast,Best", "," )     // { "Fast", "Best" }
  1326.          aCar2Arr ( "Best@Fast", "@" )     // { "Best", "Fast" }
  1327.  
  1328.  
  1329.     aMaxArr()
  1330.  
  1331.          Returns the maximum value of an array
  1332.  
  1333.     Syntax:
  1334.  
  1335.          aMaxArr ( aArray ) -> xMax
  1336.  
  1337.          aArray : The array to treat
  1338.  
  1339.     Description:
  1340.  
  1341.          Returns the maximum value of a specified array by the type of data.
  1342.          If is a character array, returns the biggest string and if is a
  1343.          numeric array returns the biggest number...
  1344.  
  1345.     Return:
  1346.  
  1347.          The maximum value or 0 if the array is empty
  1348.  
  1349.     Example:
  1350.  
  1351.          nMax := aMaxArr ( { 2, 3, 1, 9, 7 } )     // 9
  1352.          cMax := aMaxArr ( { "Good", "Bad" } )     // "Good"
  1353.  
  1354. See Also: "aMinArr()" 
  1355.  
  1356.  
  1357.     aMinArr()
  1358.  
  1359.          Returns the minimum value of an array
  1360.  
  1361.     Syntax:
  1362.  
  1363.          aMinArr ( aArray ) -> xMax
  1364.  
  1365.          aArray : The array to treat
  1366.  
  1367.     Description:
  1368.  
  1369.          Returns the minimum value of a specified array by the type of data.
  1370.          If is a character array, returns the smallest string and if it is a
  1371.          numeric array returns the smallest number.
  1372.  
  1373.     Return:
  1374.  
  1375.          The minimum value or 0 if the array is empty.
  1376.  
  1377.                                  - Page 23 -
  1378. Norton Guide: `FAST.lib 3.15 » Reference'
  1379.  
  1380.  
  1381.  
  1382.     Example:
  1383.  
  1384.          nMax := aMinArr ( { 2, 3, 1, 9, 7 } )     // 1
  1385.          cMax := aMinArr ( { "Bad", "Good" } )     // "Bad"
  1386.  
  1387. See Also: "aMaxArr()" 
  1388.  
  1389.  
  1390.     aDimArr()
  1391.  
  1392.          Returns the number of dimensions of an array
  1393.  
  1394.     Syntax:
  1395.  
  1396.          aDimArr ( aArray ) -> nDim
  1397.  
  1398.          aArray : The array to treat
  1399.  
  1400.     Description:
  1401.  
  1402.          Returns the number of dimensions of an array. The array has to be
  1403.          homogeneous since it uses the first position to calculate the
  1404.          dimensions.
  1405.  
  1406.     Return:
  1407.  
  1408.          The array dimensions.
  1409.  
  1410.     Example:
  1411.  
  1412.          nMax := aDimArr ( { 2, 3, 1, 9, 7 } )          // 1
  1413.          nMax := aDimArr ( { { 12, 12 }, { 1, 1 } } )   // 2
  1414.  
  1415. See Also: "aMaxArr()" "aMinArr()" 
  1416.  
  1417.  
  1418.     RestArray()
  1419.  
  1420.          Restores a file array
  1421.  
  1422.     Syntax:
  1423.  
  1424.          RestArray( cFile, @nError ) -> aArray
  1425.  
  1426.          cFile  : The file to be restored
  1427.          nError : The error code returned by DOS. 0 there is no error.
  1428.  
  1429.     Description:
  1430.  
  1431.          Restores any kind of array data except logic for the objects.
  1432.  
  1433.     Return:
  1434.  
  1435.          The restored array.
  1436.  
  1437.                                  - Page 24 -
  1438. Norton Guide: `FAST.lib 3.15 » Reference'
  1439.  
  1440.  
  1441.  
  1442.     Example:
  1443.  
  1444.          aArray := RestArray ( "Fast.arr", @nErr )
  1445.          If nErr == 0
  1446.            Message ( "Ok" )
  1447.          Else
  1448.            Message ( "DOS error number " + Str ( nErr ) )
  1449.          EndIf
  1450.  
  1451. See Also: "SaveArray()" 
  1452.  
  1453.  
  1454.     SaveArray()
  1455.  
  1456.          Saves an array to a file
  1457.  
  1458.     Syntax:
  1459.  
  1460.          SaveArray( aArray, cFile, @nError ) -> Nil
  1461.  
  1462.          aArray   : The array to be saved
  1463.          cFile    : The file to be created
  1464.          nError   : The error code returned by DOS. 0 there is no error.
  1465.  
  1466.     Description:
  1467.  
  1468.          Saves any kind of array data except logic for the objects.
  1469.  
  1470.     Return:
  1471.  
  1472.          Nothing.
  1473.  
  1474.     Example:
  1475.  
  1476.          SaveArray ( { 23, "Hello world", { 12, 32 } }, "Fast.arr", @nErr )
  1477.          If nErr == 0
  1478.            Message ( "Ok" )
  1479.          Else
  1480.            Message ( "DOS error number " + Str ( nErr ) )
  1481.          EndIf
  1482.  
  1483. See Also: "RestArray()" 
  1484.  
  1485.  
  1486.  
  1487.  Date
  1488.  
  1489.  ──────────────────────────────────────────────────────────────────────────────
  1490.  
  1491.  
  1492.     cGetMonth()
  1493.  
  1494.          Returns the specified month.
  1495.  
  1496.  
  1497.                                  - Page 25 -
  1498. Norton Guide: `FAST.lib 3.15 » Reference'
  1499.  
  1500.  
  1501.     Syntax:
  1502.  
  1503.          cGetMonth( nMonth ) -> cMonth
  1504.  
  1505.          nMonth : The month number from 1 to 12
  1506.  
  1507.     Description:
  1508.  
  1509.          Returns the month in character format of the specified month.
  1510.  
  1511.     Return:
  1512.  
  1513.          The month in character mode.
  1514.  
  1515.     Example:
  1516.  
  1517.          ? cGetMonth ( 4 )  // April in international version or
  1518.                             // Abril in spanish version
  1519.  
  1520. See Also: "dToDMY()" "dAddMonth()" "lLeap()" 
  1521.  
  1522.  
  1523.     dToDMY()
  1524.  
  1525.          Converts data type Date to String Day/Month/Year.
  1526.  
  1527.     Syntax:
  1528.  
  1529.          dToDMY( dDate ) -> cDate
  1530.  
  1531.          dDate : Date to evaluate.
  1532.  
  1533.     Description:
  1534.  
  1535.          Returns a string with day/month/year.
  1536.  
  1537.     Return:
  1538.  
  1539.          The date in String format DD/MM/AA or DD/MM/AAAA.
  1540.  
  1541.     Example:
  1542.  
  1543.          ? dToDMY ( Date() )  // 31/01/1993
  1544.  
  1545. See Also: "cGetMonth()" "dAddMonth()" "lLeap()" "dToMDY()" 
  1546.  
  1547.  
  1548.     dToMDY()
  1549.  
  1550.          Converts data type Date to String Month/Day/Year.
  1551.  
  1552.     Syntax:
  1553.  
  1554.          dToMDY( dDate ) -> cDate
  1555.  
  1556.  
  1557.                                  - Page 26 -
  1558. Norton Guide: `FAST.lib 3.15 » Reference'
  1559.  
  1560.  
  1561.          dDate : Date to evaluate.
  1562.  
  1563.     Description:
  1564.  
  1565.          Returns a string with month/day/year.
  1566.  
  1567.     Return:
  1568.  
  1569.          The date in String format MM/DD/AA or MM/DD/AAAA.
  1570.  
  1571.     Example:
  1572.  
  1573.          ? dToMDY ( Date() )  // 01/31/1993
  1574.  
  1575. See Also: "cGetMonth()" "dAddMonth()" "lLeap()" "dToDMY()" 
  1576.  
  1577.  
  1578.     dAddMonth()
  1579.  
  1580.          Adds months to a date and returns a new date
  1581.  
  1582.     Syntax:
  1583.  
  1584.          dAddMonth ( dDate, nMonths ) -> dNewDate
  1585.  
  1586.          dDate   : The starting date.
  1587.          nMonths : The number of months to add.
  1588.  
  1589.     Description:
  1590.  
  1591.          Adds nMonths to dDate and returns the new date.
  1592.  
  1593.     Return:
  1594.  
  1595.          The new date.
  1596.  
  1597.     Example:
  1598.  
  1599.          ? dAddMonth ( Date(), 8 )
  1600.  
  1601. See Also: "cGetMonth()" "dToDMY()" "lLeap()" 
  1602.  
  1603.  
  1604.     lLeap()
  1605.  
  1606.          Returns a logic indicating if it is a leap year
  1607.  
  1608.     Syntax:
  1609.  
  1610.          lLeap ( dDate ) -> lIsLeap
  1611.  
  1612.          dDate : The date to determinate if it is leap or not
  1613.  
  1614.     Description:
  1615.  
  1616.  
  1617.                                  - Page 27 -
  1618. Norton Guide: `FAST.lib 3.15 » Reference'
  1619.  
  1620.  
  1621.          The format of the _SET_FORMAT do not affect the result.
  1622.  
  1623.     Return:
  1624.  
  1625.          .T. if it is leap and .F. it is not.
  1626.  
  1627.     Example:
  1628.  
  1629.          ? lLeap ( Date() )
  1630.  
  1631. See Also: "cGetMonth()" "dToDMY()" "dAddMonth()" 
  1632.  
  1633.  
  1634.     FirstDay()
  1635.  
  1636.          Returns the first day of the month
  1637.  
  1638.     Syntax:
  1639.  
  1640.          FirstDay ( dDate ) -> dFirstDay
  1641.  
  1642.          dDate : The date which month is going to be treated
  1643.  
  1644.     Description:
  1645.  
  1646.          Returns the date of the first day at the specified
  1647.          Date or month of the system data.
  1648.  
  1649.     Return:
  1650.  
  1651.          First day of the month Date.
  1652.  
  1653.     Example:
  1654.  
  1655.          ? FirstDay()                         // 01/03/93
  1656.          ? FirstDay( cTod ( "22/01/92" ) )    // 01/01/92
  1657.  
  1658. See Also: "LastDay()" 
  1659.  
  1660.  
  1661.     Sec2days()
  1662.  
  1663.          Converts a given number of seconds to days
  1664.  
  1665.     Syntax:
  1666.  
  1667.          Sec2days ( nSeconds ) -> nDays
  1668.  
  1669.          nSeconds : The number of seconds to convert
  1670.  
  1671.     Description:
  1672.  
  1673.          Returns the specified number of seconds in days.
  1674.  
  1675.     Return:
  1676.  
  1677.                                  - Page 28 -
  1678. Norton Guide: `FAST.lib 3.15 » Reference'
  1679.  
  1680.  
  1681.  
  1682.          The number of days.
  1683.  
  1684.     Example:
  1685.  
  1686.          ? Sec2Days ( 90000 )           // 1
  1687.  
  1688.  
  1689.     LastDay()
  1690.  
  1691.          Returns the last day of the month
  1692.  
  1693.     Syntax:
  1694.  
  1695.          LastDay ( dDate ) -> dLastDay
  1696.  
  1697.          dDate : The date which month has to be treated
  1698.  
  1699.     Description:
  1700.  
  1701.          Returns the specified last day of the month.
  1702.  
  1703.     Return:
  1704.  
  1705.          The date of the last day of the month.
  1706.  
  1707.     Example:
  1708.  
  1709.          ? LastDay()                         // 31/03/93
  1710.          ? LastDay( cTod ( "22/01/92" ) )    // 31/01/92
  1711.  
  1712. See Also: "FirstDay()" 
  1713.  
  1714.  
  1715.     SToD()
  1716.  
  1717.          Converts a string to Clipper Date
  1718.  
  1719.     Syntax:
  1720.  
  1721.          SToD( cString ) -> dDate
  1722.  
  1723.          cString : The string to convert
  1724.  
  1725.     Description:
  1726.  
  1727.          Converts a string to Clipper date.
  1728.  
  1729.     Return:
  1730.  
  1731.          A date value.
  1732.  
  1733.     Example:
  1734.  
  1735.          dDate := SToD( "19902103" )
  1736.  
  1737.                                  - Page 29 -
  1738. Norton Guide: `FAST.lib 3.15 » Reference'
  1739.  
  1740.  
  1741.          ? DToS( dDate )                // DToS() is a standard Clipper func.
  1742.  
  1743.  
  1744.  
  1745.  Time
  1746.  
  1747.  ──────────────────────────────────────────────────────────────────────────────
  1748.  
  1749.  
  1750.     TimeAMPM()
  1751.  
  1752.          Returns the time in the format am/pm
  1753.  
  1754.     Syntax:
  1755.  
  1756.          TimeAMPM() -> cTime
  1757.  
  1758.     Description:
  1759.  
  1760.          Returns system time in the format 12 hours am/pm.
  1761.  
  1762.     Return:
  1763.  
  1764.          The string with the time.
  1765.  
  1766.     Example:
  1767.  
  1768.          ? TimeAMPM()               //  "11:21:19 pm"
  1769.  
  1770.  
  1771.     Time2Time()
  1772.  
  1773.          Returns the difference between two times
  1774.  
  1775.     Syntax:
  1776.  
  1777.          Time2Time ( cTime1, cTime2 ) -> cDifferentHour
  1778.  
  1779.          cTime1 : The first time or start time
  1780.          cTime2 : The second time or end time
  1781.  
  1782.     Description:
  1783.  
  1784.          cTime2 has to be bigger than cTime1.
  1785.  
  1786.     Return:
  1787.  
  1788.          The difference between both hours as a string.
  1789.  
  1790.     Example:
  1791.  
  1792.          ? Time2Time ( "22:12:12", "23:12:13" )  // "01:00:01"
  1793.  
  1794.  
  1795.  
  1796.  
  1797.                                  - Page 30 -
  1798. Norton Guide: `FAST.lib 3.15 » Reference'
  1799.  
  1800.  
  1801.  Numeric
  1802.  
  1803.  ──────────────────────────────────────────────────────────────────────────────
  1804.  
  1805.  
  1806.     Cos()
  1807.  
  1808.          Calculates a cosine number
  1809.  
  1810.     Syntax:
  1811.  
  1812.          Cos( nNumber ) -> nCos
  1813.  
  1814.          nNumber : The number to calculate the cosine from
  1815.  
  1816.     Description:
  1817.  
  1818.          Calculates a cosine number with a numeric method.
  1819.  
  1820.          Warning!!
  1821.          The number has to be in radians, not degrees.
  1822.  
  1823.     Return:
  1824.  
  1825.          The specified cosine number or Nil if the number is not
  1826.          specified.
  1827.  
  1828.     Example:
  1829.  
  1830.          Cos( 0 )    //  1.00
  1831.  
  1832. See Also: "Deg2Rad()" "NumPi()" "Rad2Deg()" "Sin()" 
  1833.  
  1834.  
  1835.     CoSec()
  1836.  
  1837.          Calculates a co-secant number
  1838.  
  1839.     Syntax:
  1840.  
  1841.          CoSec( nNumber ) -> nCoSec
  1842.  
  1843.          nNumber : The number to calculate the co-secant from
  1844.  
  1845.     Description:
  1846.  
  1847.          Calculates a co-secant number with a numeric method.
  1848.  
  1849.          Warning!!
  1850.          The number has to be in radians, not degrees.
  1851.  
  1852.     Return:
  1853.  
  1854.          The specified co-secant number or Nil if the number is not
  1855.          specified.
  1856.  
  1857.                                  - Page 31 -
  1858. Norton Guide: `FAST.lib 3.15 » Reference'
  1859.  
  1860.  
  1861.  
  1862.     Example:
  1863.  
  1864.          CoSec( 0 )             // 1.00
  1865.  
  1866. See Also: "Cos()" "Deg2Rad()" "NumPi()" "Rad2Deg()" 
  1867.  
  1868.  
  1869.     CoTec()
  1870.  
  1871.          Calculates a co-tangent number
  1872.  
  1873.     Syntax:
  1874.  
  1875.          CoTan( nNumber ) -> nCoTan
  1876.  
  1877.          nNumber : The number to calculate the co-tangent from
  1878.  
  1879.     Description:
  1880.  
  1881.          Calculates a co-tangent number with a numeric method.
  1882.  
  1883.          Warning!!
  1884.          The number has to be in radians, not in degrees.
  1885.  
  1886.     Return:
  1887.  
  1888.          The specified co-tangent number or Nil if the number is not
  1889.          specified.
  1890.  
  1891.     Example:
  1892.  
  1893.          CoTan( Deg2Rad ( 45 ) )         // 1.00
  1894.  
  1895. See Also: "Cos()" "Deg2Rad()" "NumPi()" "Rad2Deg()" "Sin()" 
  1896.  
  1897.  
  1898.     Deg2Rad()
  1899.  
  1900.          Converts degrees to radians
  1901.  
  1902.     Syntax:
  1903.  
  1904.          Deg2Rad( nDegree ) -> nRadian
  1905.  
  1906.          nDegree : The number of degrees to convert
  1907.  
  1908.     Description:
  1909.  
  1910.          This function converts a numeric value that specifies an angle in
  1911.          degrees to radians.
  1912.  
  1913.     Return:
  1914.  
  1915.          The number converted to radians or Nil if the number is not
  1916.  
  1917.                                  - Page 32 -
  1918. Norton Guide: `FAST.lib 3.15 » Reference'
  1919.  
  1920.  
  1921.          specified.
  1922.  
  1923.     Example:
  1924.  
  1925.          Deg2Rad( 180 )    //  3.141592
  1926.  
  1927. See Also: "Cos()" "NumPi()" "Rad2Deg()" "Sin()" 
  1928.  
  1929.  
  1930.     Exponent()
  1931.  
  1932.          Elevates a number to a given potency
  1933.  
  1934.     Syntax:
  1935.  
  1936.          Exponent( nNumber, nExponent ) -> nNewNumber
  1937.  
  1938.          nNumber   : The number to be elevated.
  1939.          nExponent : The potency to elevate the number to.
  1940.  
  1941.     Description:
  1942.  
  1943.          Elevates a given number to a given potency. The default potency
  1944.          is two, which is square.
  1945.  
  1946.     Return:
  1947.  
  1948.          The elevated number.
  1949.  
  1950.     Example:
  1951.  
  1952.          Exponent( 10, 3 )    //  1000
  1953.          Exponent( 10 )       //  100
  1954.  
  1955. See Also: "Factorial()" "Sum()" 
  1956.  
  1957.  
  1958.     Factorial()
  1959.  
  1960.          Returns a factorial number
  1961.  
  1962.     Syntax:
  1963.  
  1964.          Factorial( nNumber ) -> nFactorial
  1965.  
  1966.          nNumber : The number to calculate the factorial from.
  1967.  
  1968.     Description:
  1969.  
  1970.          Calculates a factorial number that has to be 0 or bigger than 0.
  1971.  
  1972.     Return:
  1973.  
  1974.          The specified factorial number or Nil if negative number.
  1975.  
  1976.  
  1977.                                  - Page 33 -
  1978. Norton Guide: `FAST.lib 3.15 » Reference'
  1979.  
  1980.  
  1981.     Example:
  1982.  
  1983.          Factorial( 4 )    //  24
  1984.  
  1985. See Also: "Exponent()" "Sum()" 
  1986.  
  1987.  
  1988.     Int2Roman()
  1989.  
  1990.          Converts an integer to roman notation
  1991.  
  1992.     Syntax:
  1993.  
  1994.          Int2Roman( nNumber ) -> cRomanNumber
  1995.  
  1996.          nNumber : The number to convert
  1997.  
  1998.     Description:
  1999.  
  2000.          Converts an integer to roman notation. The number must be positive.
  2001.  
  2002.     Return:
  2003.  
  2004.          A string with the number in roman notation.
  2005.  
  2006.     Example:
  2007.  
  2008.          Int2Roman( 1217 )    //  "MCCXVII"
  2009.  
  2010.  
  2011.     Log10()
  2012.  
  2013.          Returns a logarithm in base 10
  2014.  
  2015.     Syntax:
  2016.  
  2017.          Log10( nNumber ) -> nLogNumber
  2018.  
  2019.          nNumber : The number to calculate the logarithm from.
  2020.  
  2021.     Description:
  2022.  
  2023.          Returns a given logarithm number in base 10 calculated with
  2024.          the use of natural logarithms.
  2025.  
  2026.     Return:
  2027.  
  2028.          The logarithm in base 10 or Nil if negative number.
  2029.  
  2030.     Example:
  2031.  
  2032.          Log10( 10 )    //  1
  2033.  
  2034. See Also: "LogX()" 
  2035.  
  2036.  
  2037.                                  - Page 34 -
  2038. Norton Guide: `FAST.lib 3.15 » Reference'
  2039.  
  2040.  
  2041.  
  2042.     LogX()
  2043.  
  2044.          Returns the logarithm in any base
  2045.  
  2046.     Syntax:
  2047.  
  2048.          LogX( nNumber, nBase ) -> nLogNumber
  2049.  
  2050.          nNumber : The number to calculate the logarithm from.
  2051.          nBase   : The logarithms base.
  2052.  
  2053.     Description:
  2054.  
  2055.          Returns the logarithm in the specified base.
  2056.  
  2057.          See the function Log10().  It is a separate function because
  2058.          you would most likely use base 10.
  2059.  
  2060.     Return:
  2061.  
  2062.          The logarithm in the specified base or Nil if negative number.
  2063.  
  2064.     Example:
  2065.  
  2066.          LogX( 10, 10 )    //  1
  2067.  
  2068. See Also: "Log10()" 
  2069.  
  2070.  
  2071.     nRandom()
  2072.  
  2073.          Generates a random number
  2074.  
  2075.     Syntax:
  2076.  
  2077.          nRandom ( nMax ) -> nNumber
  2078.  
  2079.          nMax : The maximum value able to take for the number.
  2080.  
  2081.     Description:
  2082.  
  2083.          Generates a random number between 0 and the specified number.
  2084.          If you desire a random number between, for example, 2 and 5, you
  2085.          would use syntax like this:  nVar := 3 + nRandom ( 2 )
  2086.  
  2087.     Return:
  2088.  
  2089.          The random generated number.
  2090.  
  2091.     Example:
  2092.  
  2093.          nRandom ( 100 )
  2094.  
  2095.  
  2096.  
  2097.                                  - Page 35 -
  2098. Norton Guide: `FAST.lib 3.15 » Reference'
  2099.  
  2100.  
  2101.     NumE()
  2102.  
  2103.          Returns the E number
  2104.  
  2105.     Syntax:
  2106.  
  2107.          NumE() -> nNumber
  2108.  
  2109.     Description:
  2110.  
  2111.          Returns the E number, which can be very valuable in statistic
  2112.          calculus and another areas of mathamatic and numeric analysis.
  2113.  
  2114.     Return:
  2115.  
  2116.          The E number.
  2117.  
  2118.     Example:
  2119.  
  2120.          NumE()    //  2.7183
  2121.  
  2122. See Also: "NumPi()" 
  2123.  
  2124.  
  2125.     NumPi()
  2126.  
  2127.          Returns the Pi number
  2128.  
  2129.     Syntax:
  2130.  
  2131.          NumPi() -> nNumber
  2132.  
  2133.     Description:
  2134.  
  2135.          Returns the Pi number, which can be very valuable in statistic
  2136.          calculus and another areas of mathamatic and numeric analysis.
  2137.  
  2138.     Return:
  2139.  
  2140.          The Pi number.
  2141.  
  2142.     Example:
  2143.  
  2144.          NumPi()    //  3.141592
  2145.  
  2146. See Also: "NumE()" 
  2147.  
  2148.  
  2149.     Rad2Deg()
  2150.  
  2151.          Converts radians to degrees
  2152.  
  2153.     Syntax:
  2154.  
  2155.          Rad2Deg( nRadian ) -> nDegree
  2156.  
  2157.                                  - Page 36 -
  2158. Norton Guide: `FAST.lib 3.15 » Reference'
  2159.  
  2160.  
  2161.  
  2162.          nRadian : The radian number to convert
  2163.  
  2164.     Description:
  2165.  
  2166.          This function converts a numeric value which specifies a radian
  2167.          angle into degrees.
  2168.  
  2169.     Return:
  2170.  
  2171.          The number converted to degrees or Nil if the number is
  2172.          not specified.
  2173.  
  2174.     Example:
  2175.  
  2176.          Rad2Deg( NumPi() )    //  180.00
  2177.  
  2178. See Also: "Deg2Rad()" "Cos()" "NumPi()" "Sin()" 
  2179.  
  2180.  
  2181.     Sum()
  2182.  
  2183.          Returns the summation of a number
  2184.  
  2185.     Syntax:
  2186.  
  2187.          Sum( nNumber ) -> nSummation
  2188.  
  2189.          nNumber : The number to calculate the summation from.
  2190.  
  2191.     Description:
  2192.  
  2193.          Calculates the summation of a number that has to be 0 or bigger
  2194.          than 0.
  2195.  
  2196.     Return:
  2197.  
  2198.          The summation of a specified number or Nil if negative number.
  2199.  
  2200.     Example:
  2201.  
  2202.          Sum( 4 )    //  10
  2203.  
  2204. See Also: "Exponent()" "Factorial()" 
  2205.  
  2206.  
  2207.     Sec()
  2208.  
  2209.          Calculates a secant number
  2210.  
  2211.     Syntax:
  2212.  
  2213.          Sec( nNumber ) -> nSec
  2214.  
  2215.          nNumber : The number to calculate the secant from
  2216.  
  2217.                                  - Page 37 -
  2218. Norton Guide: `FAST.lib 3.15 » Reference'
  2219.  
  2220.  
  2221.  
  2222.     Description:
  2223.  
  2224.          Calculates a secant number with a numeric method.
  2225.  
  2226.          Warning!!
  2227.          The number has to be in radians, not degrees.
  2228.  
  2229.     Return:
  2230.  
  2231.          The specified secant number or Nil if the number is not
  2232.          specified.
  2233.  
  2234.     Example:
  2235.  
  2236.          Sec( Deg2Rad ( 90 ) )         // 1.00
  2237.  
  2238. See Also: "Deg2Rad()" "NumPi()" "Rad2Deg()" "Sin()" 
  2239.  
  2240.  
  2241.     Sin()
  2242.  
  2243.          Calculates a sine number
  2244.  
  2245.     Syntax:
  2246.  
  2247.          Sin( nNumber ) -> nSin
  2248.  
  2249.          nNumber : The number to calculate the sine from
  2250.  
  2251.     Description:
  2252.  
  2253.          Calculates a sine number with a numeric method.
  2254.  
  2255.          Warning!!
  2256.          The number has to be in radians, not degrees.
  2257.  
  2258.     Return:
  2259.  
  2260.          The specified sine number or Nil if the number is not
  2261.          specified.
  2262.  
  2263.     Example:
  2264.  
  2265.          Sin( NumPi() / 2 )    // 1.00
  2266.  
  2267. See Also: "Deg2Rad()" "Cos()" "NumPi()" "Rad2Deg()" 
  2268.  
  2269.  
  2270.     Tan()
  2271.  
  2272.          Calculates a tangent number
  2273.  
  2274.     Syntax:
  2275.  
  2276.  
  2277.                                  - Page 38 -
  2278. Norton Guide: `FAST.lib 3.15 » Reference'
  2279.  
  2280.  
  2281.          Tan( nNumber ) -> nTan
  2282.  
  2283.          nNumber : The number to calculate the tangent from
  2284.  
  2285.     Description:
  2286.  
  2287.          Calculates a tangent number with a numeric method.
  2288.  
  2289.          Warning!!
  2290.          The number has to be in radians, not degrees.
  2291.  
  2292.     Return:
  2293.  
  2294.          The specified tangent number or Nil if the number is not
  2295.          specified.
  2296.  
  2297.     Example:
  2298.  
  2299.          Sec( Deg2Rad ( 45 ) )         // 1.00
  2300.  
  2301. See Also: "Cos()" "Deg2Rad()" "NumPi()" "Rad2Deg()" "Sin()" 
  2302.  
  2303.  
  2304.  
  2305.  String
  2306.  
  2307.  ──────────────────────────────────────────────────────────────────────────────
  2308.  
  2309.  
  2310.     AsciiAdd()
  2311.  
  2312.          Adds or subtracts all elements of a string
  2313.  
  2314.     Syntax:
  2315.  
  2316.          AsciiAdd( cString, nAdds ) -> cNewString
  2317.  
  2318.          cString : The string to manipulate
  2319.          nAdds   : The number to add
  2320.  
  2321.     Description:
  2322.  
  2323.          Adds or subtracts all elements of a string and returns the
  2324.          new string.
  2325.  
  2326.     Return:
  2327.  
  2328.          The new string.
  2329.  
  2330.     Example:
  2331.  
  2332.          ? AsciiAdd( "0123456789", 1 )      //  "123456789:"
  2333.          ? AsciiAdd( "0123456789", -1 )     //  "/012345678"
  2334.  
  2335. See Also: "AsciiSum()" 
  2336.  
  2337.                                  - Page 39 -
  2338. Norton Guide: `FAST.lib 3.15 » Reference'
  2339.  
  2340.  
  2341.  
  2342.  
  2343.     AsciiSum()
  2344.  
  2345.          Adds all elements of a string
  2346.  
  2347.     Syntax:
  2348.  
  2349.          AsciiSum( cString ) -> nAdds
  2350.  
  2351.          cString : The string to manipulate
  2352.  
  2353.     Description:
  2354.  
  2355.          Adds all ascii values of a specified string.
  2356.  
  2357.     Return:
  2358.  
  2359.          The sum of all ascii values.
  2360.  
  2361.     Example:
  2362.  
  2363.          ? AsciiSum( "AB" )             // 131
  2364.  
  2365. See Also: "AsciiAdd()" 
  2366.  
  2367.  
  2368.     At2()
  2369.  
  2370.          Looks for the Nth occurrence in a string
  2371.  
  2372.     Syntax:
  2373.  
  2374.          At2( cSearch, cTarget [, nOcur] ) -> nPos
  2375.  
  2376.          cSearch : The character substring to search for
  2377.          cTarget : The character string to search
  2378.          nOcur   : Number of the occurrence, default is 1
  2379.  
  2380.     Description:
  2381.  
  2382.          The parameters are the same as AT() of the standard library
  2383.          Clipper.lib except for nOcur that indicates the number of the
  2384.          occurrences to return. The default nOcur is 1.
  2385.          The function is Case Sensitive.
  2386.  
  2387.     Return:
  2388.  
  2389.          The same than AT().
  2390.  
  2391.     Example:
  2392.  
  2393.          ? At2 ( "a", "Manu Roibal" )      //  2
  2394.          ? At2 ( "a", "Manu Roibal", 2 )   // 10
  2395.          ? At2 ( "a", "Manu RoibAl", 2 )   // 0
  2396.  
  2397.                                  - Page 40 -
  2398. Norton Guide: `FAST.lib 3.15 » Reference'
  2399.  
  2400.  
  2401.  
  2402.  
  2403.     aToken()
  2404.  
  2405.          Returns an array of words from a string
  2406.  
  2407.     Syntax:
  2408.  
  2409.          aToken( cString [, cSepara] ) -> aWords
  2410.  
  2411.          cString : The string to treat
  2412.          cSepara : A string with valid word separators. By default
  2413.                    ,;:. ?¿¡!()&/*+-%[]{}"
  2414.  
  2415.     Description:
  2416.  
  2417.          Treats a string as if it were a phrase creating an array of words
  2418.          contained in the string. May be very useful to syntactic analyzers
  2419.          generation, pseudo-compilers...
  2420.  
  2421.     Return:
  2422.  
  2423.          An array of words.
  2424.  
  2425.     Example:
  2426.  
  2427.          aArray := aToken ( "Fast Library For Clipper" )
  2428.          For nInd := 1 To Len ( aArray )
  2429.            ? aArray[ nInd ]
  2430.          Next
  2431.  
  2432. See Also: "NumToken()" "Token()" 
  2433.  
  2434.  
  2435.     Capital()
  2436.  
  2437.          Converts the first letters to capitals
  2438.  
  2439.     Syntax:
  2440.  
  2441.          Capital( cString ) -> cNewString
  2442.  
  2443.          cString : The string to convert
  2444.  
  2445.     Description:
  2446.  
  2447.          Converts the whole letter string to lower-case letters except
  2448.          for the first letter of each word which are capital. Respects
  2449.          blankspaces on the left and on the right.
  2450.  
  2451.     Return:
  2452.  
  2453.          The capitalized a string.
  2454.  
  2455.     Example:
  2456.  
  2457.                                  - Page 41 -
  2458. Norton Guide: `FAST.lib 3.15 » Reference'
  2459.  
  2460.  
  2461.  
  2462.          ? Capital ( " manu ROIBAL " )   // " Manu Roibal "
  2463.  
  2464.  
  2465.     CharEven()
  2466.  
  2467.          Returns a string with the even bytes of another string
  2468.  
  2469.     Syntax:
  2470.  
  2471.          CharEven( cString ) -> cNew
  2472.  
  2473.          cString : The string to manipulate
  2474.  
  2475.     Description:
  2476.  
  2477.          Returns a string with the even bytes of the specified string.
  2478.  
  2479.     Return:
  2480.  
  2481.          The new string.
  2482.  
  2483.     Example:
  2484.  
  2485.          ? CharEven( "1234567890" )   // "24680"
  2486.  
  2487. See Also: "CharMix()" "CharOdd()" 
  2488.  
  2489.  
  2490.     CharMix()
  2491.  
  2492.          Mixes two strings and generates another
  2493.  
  2494.     Syntax:
  2495.  
  2496.          CharMix( cStrEven, cStrOdd ) -> cNew
  2497.  
  2498.          cStrEven : The first string to manipulate
  2499.          cStrOdd  : The second string to manipulate
  2500.  
  2501.     Description:
  2502.  
  2503.          Mixes two specified strings and generates another string.
  2504.  
  2505.     Return:
  2506.  
  2507.          The new string.
  2508.  
  2509.     Example:
  2510.  
  2511.          ? CharMix( "02468", "13579" )   // "0123456789"
  2512.  
  2513. See Also: "CharEven()" "CharOdd()" 
  2514.  
  2515.  
  2516.  
  2517.                                  - Page 42 -
  2518. Norton Guide: `FAST.lib 3.15 » Reference'
  2519.  
  2520.  
  2521.     CharOdd()
  2522.  
  2523.          Returns a string with the odd bytes of another string
  2524.  
  2525.     Syntax:
  2526.  
  2527.          CharOdd( cString ) -> cNew
  2528.  
  2529.          cString : The string to manipulate
  2530.  
  2531.     Description:
  2532.  
  2533.          Returns a string with the odd bytes of the specified string.
  2534.  
  2535.     Return:
  2536.  
  2537.          The new string.
  2538.  
  2539.     Example:
  2540.  
  2541.          ? CharOdd( "1234567890" )   // "13579"
  2542.  
  2543. See Also: "CharEven()" "CharMix()" 
  2544.  
  2545.  
  2546.     Expand()
  2547.  
  2548.          Expands a string
  2549.  
  2550.     Syntax:
  2551.  
  2552.          Expand( cString [, cExpand] ) -> cNewString
  2553.  
  2554.          cCadena : The string to expand
  2555.          cExpand : The character to expand with
  2556.  
  2557.     Description:
  2558.  
  2559.  
  2560.          Expands cString with cExpand being placed between each
  2561.          of cString's characters.  cExpand's default value is a
  2562.          blank space.
  2563.  
  2564.     Return:
  2565.  
  2566.          The expanded string.
  2567.  
  2568.     Example:
  2569.  
  2570.          ? Expand ( "Itxaso", "*" )            // I*t*x*a*s*o
  2571.          ? Expand ( "itxaso" )                 // i t x a s o
  2572.          ? Expand ( "Itxaso", "* *" )          // I* *t* *x* *a* *s* *o
  2573.  
  2574.  
  2575.     Like()
  2576.  
  2577.                                  - Page 43 -
  2578. Norton Guide: `FAST.lib 3.15 » Reference'
  2579.  
  2580.  
  2581.  
  2582.          Compares two strings using wildcards
  2583.  
  2584.     Syntax:
  2585.  
  2586.          Like( cMask, cString ) -> lEqual
  2587.  
  2588.          cMask   : One string may contain the wildcards * and ?
  2589.          cString : The other string to compare
  2590.  
  2591.     Description:
  2592.  
  2593.          Compare two strings with wildcards to one position (?)
  2594.          or wildcards to n positions (*).
  2595.  
  2596.          The function is case sensitive.
  2597.  
  2598.     Return:
  2599.  
  2600.          A logic indicating if the strings are similar or not.
  2601.  
  2602.     Example:
  2603.  
  2604.          ? Like ( "*A*",  "Fast" )          // .F.
  2605.          ? Like ( "*a*",  "Fast" )          // .T.
  2606.          ? Like ( "?ast", "Fast" )          // .T.
  2607.  
  2608.  
  2609.     NumToken()
  2610.  
  2611.          Returns the word count of a string
  2612.  
  2613.     Syntax:
  2614.  
  2615.          NumToken( cString [, cSepara] ) -> nWords
  2616.  
  2617.          cString : The string to treat
  2618.          cSepara : A string with valid word separators. By default
  2619.                    ,;:. ?¿¡!()&/*+-%[]{}"
  2620.  
  2621.     Description:
  2622.  
  2623.          Treats a string as if it were a phrase determining the word count.
  2624.  
  2625.          May be very useful to syntactic analyzers generation,
  2626.          pseudo-compilers...
  2627.  
  2628.     Return:
  2629.  
  2630.          The word count.
  2631.  
  2632.     Example:
  2633.  
  2634.          ? NumToken ( "Fast Library For Clipper" )
  2635.  
  2636.  
  2637.                                  - Page 44 -
  2638. Norton Guide: `FAST.lib 3.15 » Reference'
  2639.  
  2640.  
  2641. See Also: "aToken()" "Token()" 
  2642.  
  2643.  
  2644.     Occurs()
  2645.  
  2646.          Looks for the number of occurrences in a string
  2647.  
  2648.     Syntax:
  2649.  
  2650.          Occurs( cString, cSearch ) -> nTimes
  2651.  
  2652.          cString : The string to search
  2653.          cSearch : The sub-string to look for in cString
  2654.  
  2655.     Description:
  2656.  
  2657.          Returns the number of times that cSearch is in cString.
  2658.  
  2659.          The function is Case Sensitive.
  2660.  
  2661.     Return:
  2662.  
  2663.          The number of times that cSearch is in cString.
  2664.  
  2665.     Example:
  2666.  
  2667.          ? Occurs ( "Manu Roibal", "j" )   //  0
  2668.          ? Occurs ( "Manu Roibal", "A" )   //  0
  2669.          ? Occurs ( "Manu Roibal", "a" )   //  2
  2670.  
  2671.  
  2672.     StrGetCar()
  2673.  
  2674.          Returns a character from a string
  2675.  
  2676.     Syntax:
  2677.  
  2678.          StrGetCar( cString, nPos ) -> nChar
  2679.  
  2680.          cString : The string to treat
  2681.          nPos    : The string position to return
  2682.  
  2683.     Description:
  2684.  
  2685.          Returns the ASCII value of the character in the specified
  2686.          position inside the string.
  2687.  
  2688.          This function, in conjunction with StrSetCar() may be very
  2689.          useful when a string is to be treated in C style as if it
  2690.          were character arrays.
  2691.  
  2692.     Return:
  2693.  
  2694.          The ASCII character value.
  2695.  
  2696.  
  2697.                                  - Page 45 -
  2698. Norton Guide: `FAST.lib 3.15 » Reference'
  2699.  
  2700.  
  2701.     Example:
  2702.  
  2703.          ? StrGetCar ( "Hello World", 1 )      //  72
  2704.          ? StrGetCar ( "Hello world", 0 )      //  Nil
  2705.          ? StrGetCar ( "Hello world", 5 )      //  32
  2706.  
  2707. See Also: "StrSetCar()" 
  2708.  
  2709.  
  2710.     StrSetCar()
  2711.  
  2712.          Modifies a character in a string
  2713.  
  2714.     Syntax:
  2715.  
  2716.          StrSetCar( cString, nPos, nChar ) -> cNewString
  2717.  
  2718.          cString : The string to treat
  2719.          nPos    : The string position modify
  2720.          nChar   : The new character to replace
  2721.  
  2722.     Description:
  2723.  
  2724.          Modifies a string at the specified position and returns the new
  2725.          string.
  2726.  
  2727.          This function, in conjunction with StrSetCar() may be very
  2728.          useful when a string is to be treated in C style as if it were
  2729.          character arrays.
  2730.  
  2731.     Return:
  2732.  
  2733.          The modified string.
  2734.  
  2735.     Example:
  2736.  
  2737.          ? StrSetCar ( "Hello world", 1, 32 )   //  " Hello world"
  2738.          ? StrSetCar ( "Hello world", 0, 35 )   //  "Hello world"
  2739.          ? StrSetCar ( "Hello world", 7, 85 )   //  "Hello world"
  2740.  
  2741. See Also: "StrGetCar()" 
  2742.  
  2743.  
  2744.     Token()
  2745.  
  2746.          Returns a string word given a delimiter and occurrence
  2747.  
  2748.     Syntax:
  2749.  
  2750.          Token( cString, [cSepara], [nWord] ) -> cWord
  2751.  
  2752.          cString : The string to treat
  2753.          cSepara : A string with valid word separators. By default
  2754.                    ,;:. ?¿¡!()&/*+-%[]{}"
  2755.          nWord   : The word number to return. By default 1.
  2756.  
  2757.                                  - Page 46 -
  2758. Norton Guide: `FAST.lib 3.15 » Reference'
  2759.  
  2760.  
  2761.  
  2762.     Description:
  2763.  
  2764.          Treats a string as if it were a phrase determining a specified
  2765.          word from within the string.
  2766.  
  2767.     Return:
  2768.  
  2769.          The specified word or "" if the word number is higher than the
  2770.          maximum number of words in the phrase.
  2771.  
  2772.     Example:
  2773.  
  2774.          ? Token ( "Fast Library For Clipper", , 2 )    // "Library"
  2775.  
  2776. See Also: "aToken()" "NumToken()" 
  2777.  
  2778.  
  2779.  
  2780.  Stack
  2781.  
  2782.  ──────────────────────────────────────────────────────────────────────────────
  2783.  
  2784.  
  2785.     StackEmpty()
  2786.  
  2787.          Determines if stack is empty
  2788.  
  2789.     Syntax:
  2790.  
  2791.          StackEmpty( aStack ) -> lEmpty
  2792.  
  2793.          aStack : The created stack with StackNew()
  2794.  
  2795.     Description:
  2796.  
  2797.          Returns a logic indicating if stack is empty.
  2798.  
  2799.     Return:
  2800.  
  2801.          .T. if empty and .F. if it has any element.
  2802.  
  2803.     Example:
  2804.  
  2805.          aStack := StackNew ()
  2806.          StackPush ( aStack, "hello matthew" )
  2807.          If StackEmpty ( aStack )
  2808.            ...
  2809.  
  2810. See Also: "StackHead()" "StackNew()" "StackPop()" "StackPush()" 
  2811.  
  2812.  
  2813.     StackHead()
  2814.  
  2815.          Returns the top of the FIFO stack
  2816.  
  2817.                                  - Page 47 -
  2818. Norton Guide: `FAST.lib 3.15 » Reference'
  2819.  
  2820.  
  2821.  
  2822.     Syntax:
  2823.  
  2824.          StackHead( aStack ) -> xHeadValue
  2825.  
  2826.          aStack : The created stack with StackNew()
  2827.  
  2828.     Description:
  2829.  
  2830.          Returns the value of the stack top, I mean the last entered
  2831.          value, without removing from stack.
  2832.  
  2833.     Return:
  2834.  
  2835.          The top value of the stack.
  2836.  
  2837.     Example:
  2838.  
  2839.          aStack  := StackNew ()
  2840.          StackPush ( aStack, "hello world" )
  2841.          ? StackHead( aStack )            // "hello world"
  2842.  
  2843. See Also: "StackNew()" "StackPop()" "StackPush()" "StackEmpty()" 
  2844.  
  2845.  
  2846.     StackNew()
  2847.  
  2848.          Creates a FIFO type stack
  2849.  
  2850.     Syntax:
  2851.  
  2852.          StackNew() -> aNewStack
  2853.  
  2854.     Description:
  2855.  
  2856.          Creates a empty FIFO type stack. Remember FIFO (First In First Out)
  2857.  
  2858.     Return:
  2859.  
  2860.          The created stack.
  2861.  
  2862.     Example:
  2863.  
  2864.          aStack := StackNew()
  2865.  
  2866. See Also: "StackHead()" "StackPop()" "StackPush()" "StackEmpty()" 
  2867.  
  2868.  
  2869.     StackPop()
  2870.  
  2871.          Removes a stack element
  2872.  
  2873.     Syntax:
  2874.  
  2875.          StackPop( aStack ) -> xOldHead
  2876.  
  2877.                                  - Page 48 -
  2878. Norton Guide: `FAST.lib 3.15 » Reference'
  2879.  
  2880.  
  2881.  
  2882.          aStack : The stack created with StackNew()
  2883.  
  2884.     Description:
  2885.  
  2886.          Removes a stack element and returns this element's value.
  2887.  
  2888.     Return:
  2889.  
  2890.          The older stack head value.
  2891.  
  2892.     Example:
  2893.  
  2894.          aStack  := StackNew ()
  2895.          StackPush ( aStack, "hello world" )
  2896.          StackPush ( aStack, "Bye bye" )
  2897.          ? StackPop ( aStack )           // "Bye bye"
  2898.          ? StackHead( aStack )           // "hello world"
  2899.  
  2900. See Also: "StackHead()" "StackNew()" "StackPush()" "StackEmpty()" 
  2901.  
  2902.  
  2903.     StackPush()
  2904.  
  2905.          Introduces an element into the stack
  2906.  
  2907.     Syntax:
  2908.  
  2909.          StackPush( aStack, xValue ) -> Nil
  2910.  
  2911.          aStack : The created stack with StackNew()
  2912.          xValue : The new value to introduce into the stack
  2913.  
  2914.     Description:
  2915.  
  2916.          Introduces a new element into the stack and places it as stack
  2917.          head.
  2918.  
  2919.     Return:
  2920.  
  2921.          Nothing.
  2922.  
  2923.     Example:
  2924.  
  2925.          aStack := StackNew ()
  2926.          StackPush ( aStack, "hello world" )
  2927.          StackPush ( aStack, "bye" )
  2928.          ? StackHead( aStack )            // "bye"
  2929.  
  2930. See Also: "StackHead()" "StackNew()" "StackPop()" "StackEmpty()" 
  2931.  
  2932.  
  2933.  
  2934.  
  2935.  
  2936.                                  - Page 49 -
  2937. Norton Guide: `FAST.lib 3.15 » Reference'
  2938.  
  2939.  
  2940. Menu List: FAST.lib 1, Dbf/Memo
  2941.  
  2942.  
  2943.  
  2944.  
  2945.     Now I open a new section in Fast Library answering to some users. In
  2946.  this section I'll go collecting functions for handling databases and memo
  2947.  fields.
  2948.  
  2949.  ──────────────────────────────────────────────────────────────────────────────
  2950.  
  2951.  
  2952.     Gather()
  2953.  
  2954.          Initializes a register with the information of an array
  2955.  
  2956.     Syntax:
  2957.  
  2958.          Gather( aArray ) -> Nil
  2959.  
  2960.          aArray : An array with the information
  2961.  
  2962.     Description:
  2963.  
  2964.          Initializes a register with the information of an array that
  2965.          previously could have been generated with the Scatter function.
  2966.          The table the data comes from is the one that is in the default
  2967.          work area. This table must be opened.
  2968.  
  2969.     Return:
  2970.  
  2971.          Nothing.
  2972.  
  2973.     Example:
  2974.  
  2975.          use sold new
  2976.          dbGoBotton()
  2977.          aArray := Scatter ()
  2978.          aArray [ 1 ] := "matthew"
  2979.          Gather ( aArray )
  2980.  
  2981. See Also: "Scatter()" 
  2982.  
  2983.  
  2984.     HaveDbt()
  2985.  
  2986.          Indicates if the Dbf has a linked Dbt
  2987.  
  2988.     Syntax:
  2989.  
  2990.          HaveDbt( cDbf ) -> lHave
  2991.  
  2992.          cDbf : The name of the Dbf with extension to be verified
  2993.  
  2994.     Description:
  2995.  
  2996.                                  - Page 50 -
  2997. Norton Guide: `FAST.lib 3.15 » Reference'
  2998.  
  2999.  
  3000.  
  3001.          Indicates if the specified Dbf has a linked Dbt, if it has any
  3002.          memo field.
  3003.  
  3004.     Return:
  3005.  
  3006.          .T. if it has memo fields or .F. if it hasn't
  3007.  
  3008.     Example:
  3009.  
  3010.          ? HaveDbt( "Fast.dbf" )
  3011.  
  3012.  
  3013.     Scatter()
  3014.  
  3015.          Returns an array with the information of a register
  3016.  
  3017.     Syntax:
  3018.  
  3019.          Scatter() -> aArray
  3020.  
  3021.     Description:
  3022.  
  3023.          Returns an array with the information of a register.
  3024.          The table the data comes from is the one that is in the default
  3025.          work area. This table must be opened.
  3026.  
  3027.     Return:
  3028.  
  3029.          An array with the same structure as the register and loaded with
  3030.          the current register of the table.
  3031.  
  3032.     Example:
  3033.  
  3034.          use clients new
  3035.          aArray := Scatter ()
  3036.          aArray [ 1 ] := "Joe"
  3037.          Gather ( aArray )
  3038.  
  3039. See Also: "Gather()" 
  3040.  
  3041.  
  3042.  
  3043.  
  3044.  
  3045.  
  3046.  
  3047.  
  3048.  
  3049.  
  3050.  
  3051.  
  3052.  
  3053.  
  3054.  
  3055.                                  - Page 51 -
  3056. Norton Guide: `FAST.lib 3.15 » Reference'
  3057.  
  3058.  
  3059. Menu List: FAST.lib 1, Disk and File
  3060.  
  3061.  
  3062.  
  3063.  
  3064.     These next functions are to centralize all accesses to one or more
  3065.  binary files in Clipper.
  3066.  
  3067.     These functions check all kinds of errors that could be produced
  3068.  in a Clipper program when it accesses binary files, like, the file
  3069.  doesn't exist, or trying to access a file without locking it.
  3070.  
  3071.     Besides, you'll be able to forget the I/O errors because all file access
  3072.  functions retry the operation and inform the user if there's some error.
  3073.  
  3074.  ──────────────────────────────────────────────────────────────────────────────
  3075.  
  3076.  
  3077.     ArjFile()
  3078.  
  3079.          Returns the contents of an ARJ file
  3080.  
  3081.     Syntax:
  3082.  
  3083.          ArjFile ( cFile ) -> aARJ
  3084.  
  3085.          cFile : The name of the ARJ file
  3086.  
  3087.     Description:
  3088.  
  3089.          Returns a bidimensional array with information about the contents
  3090.          of an ARJ file.
  3091.  
  3092.          The subarrays have the following format:
  3093.  
  3094.          {
  3095.            { cName, nCompr, nSize, nRatio, dDate, cTime }
  3096.            ...
  3097.            { cName, nCompr, nSize, nRatio, dDate, cTime }
  3098.          }
  3099.  
  3100.          cName          File name
  3101.          nSize          Real size of file
  3102.          nCompr         Compressed size
  3103.          nRatio         Compression ratio
  3104.          dDate          Date of file
  3105.          cTime          Time of file
  3106.  
  3107.     Return:
  3108.  
  3109.          An array with information about the contents of ARJ file.
  3110.  
  3111.     Example:
  3112.  
  3113.          aARJ := ArjFile ( "C:\FastLib\Fast.Arj" )
  3114.  
  3115.                                  - Page 52 -
  3116. Norton Guide: `FAST.lib 3.15 » Reference'
  3117.  
  3118.  
  3119.          For nInd := 1 To Len ( aARJ )
  3120.            For nOther := 1 To Len ( aARJ [ nInd ] )
  3121.              ? aARJ [ nInd, nOther ]
  3122.            Next
  3123.          Next
  3124.  
  3125. See Also: "ZipFile()" 
  3126.  
  3127.  
  3128.     ClipperPath()
  3129.  
  3130.          Returns the Clipper Path
  3131.  
  3132.     Syntax:
  3133.  
  3134.          ClipperPath() -> cPath
  3135.  
  3136.     Description:
  3137.  
  3138.          Returns a string with the Clipper Path.
  3139.  
  3140.     Return:
  3141.  
  3142.          Clipper Path.
  3143.  
  3144.     Example:
  3145.  
  3146.          ? ClipperPath () // C:\DATA;
  3147.  
  3148. See Also: "DOSPath()" 
  3149.  
  3150.  
  3151.     DirChange()
  3152.  
  3153.          Changes the directory
  3154.  
  3155.     Syntax:
  3156.  
  3157.          DirChange( cNewDirec ) -> nError
  3158.  
  3159.          cNewDirec : New directory
  3160.  
  3161.     Description:
  3162.  
  3163.          Changes the default DOS directory.
  3164.  
  3165.     Return:
  3166.  
  3167.          Returns the DOS error or zero if there is no error.
  3168.  
  3169.     Example:
  3170.  
  3171.          DirChange ( "\OS2\MDOS" )
  3172.  
  3173. See Also: "DirDel()" "DirCreate()" 
  3174.  
  3175.                                  - Page 53 -
  3176. Norton Guide: `FAST.lib 3.15 » Reference'
  3177.  
  3178.  
  3179.  
  3180.  
  3181.     DirCreate()
  3182.  
  3183.          Creates a directory
  3184.  
  3185.     Syntax:
  3186.  
  3187.          DirCreate( cDirec ) -> nError
  3188.  
  3189.          cDirec : New directory
  3190.  
  3191.     Description:
  3192.  
  3193.          Creates a new directory.
  3194.  
  3195.     Return:
  3196.  
  3197.          Returns the DOS error or zero if there is no error.
  3198.  
  3199.     Example:
  3200.  
  3201.          DirCreate ( "\OS2\Midir" )
  3202.  
  3203. See Also: "DirDel()" "DirChange()" 
  3204.  
  3205.  
  3206.     DirDel()
  3207.  
  3208.          Deletes a directory from disk
  3209.  
  3210.     Syntax:
  3211.  
  3212.          DirDel( cDirec ) -> nError
  3213.  
  3214.          cDirec : Directory to delete
  3215.  
  3216.     Description:
  3217.  
  3218.          Deletes a directory. If it's the default directory DirDel() returns
  3219.          error.
  3220.  
  3221.     Return:
  3222.  
  3223.          Returns the DOS error or zero if there is no error.
  3224.  
  3225.     Example:
  3226.  
  3227.          DirDel ( "\OS2\TEMP" )
  3228.  
  3229. See Also: "DirChange()" "DirCreate()" 
  3230.  
  3231.  
  3232.     DirExist()
  3233.  
  3234.  
  3235.                                  - Page 54 -
  3236. Norton Guide: `FAST.lib 3.15 » Reference'
  3237.  
  3238.  
  3239.          Determines if a directory exists
  3240.  
  3241.     Syntax:
  3242.  
  3243.          DirExist( cDirec ) -> lExist
  3244.  
  3245.          cDirec : Directory to search
  3246.  
  3247.     Description:
  3248.  
  3249.          Determines if a directory is found.
  3250.  
  3251.     Return:
  3252.  
  3253.          .T. if directory is found and .F. if not found.
  3254.  
  3255.     Example:
  3256.  
  3257.          ? DirExist ( "C:\OS2\MDOS" )    // .T.
  3258.          ? DirExist ( "A:\DATA" )        // .T.
  3259.  
  3260.  
  3261.     DiskFree()
  3262.  
  3263.          Returns the free space of a disk
  3264.  
  3265.     Syntax:
  3266.  
  3267.          DiskFree( nDisk ) -> nFree
  3268.  
  3269.          nDisk : 0 -> default disk
  3270.                  1 -> A:
  3271.                  2 -> B:
  3272.                  3 -> C:
  3273.                  ...
  3274.  
  3275.     Description:
  3276.  
  3277.          Returns the free space of a specified disk
  3278.  
  3279.     Return:
  3280.  
  3281.          The free space.
  3282.  
  3283.     Example:
  3284.  
  3285.          ? DiskSize( 0 )        // Disk Capacity
  3286.          ? DiskFree( 0 )        // Disk Free
  3287.  
  3288. See Also: "DiskSize()" 
  3289.  
  3290.  
  3291.     DiskSize()
  3292.  
  3293.          Returns the capacity of a disk
  3294.  
  3295.                                  - Page 55 -
  3296. Norton Guide: `FAST.lib 3.15 » Reference'
  3297.  
  3298.  
  3299.  
  3300.     Syntax:
  3301.  
  3302.          DiskSize( nDisk ) -> nCapacity
  3303.  
  3304.          nDisk : 0 -> default disk
  3305.                  1 -> A:
  3306.                  2 -> B:
  3307.                  3 -> C:
  3308.                  ...
  3309.  
  3310.     Description:
  3311.  
  3312.          Returns the capacity of a specified disk
  3313.  
  3314.     Return:
  3315.  
  3316.          The capacity.
  3317.  
  3318.     Example:
  3319.  
  3320.          ? DiskSize( 0 )        // Disk Capacity
  3321.          ? DiskFree( 0 )        // Disk Free
  3322.  
  3323. See Also: "DiskFree()" 
  3324.  
  3325.  
  3326.     DOSPath()
  3327.  
  3328.          Returns the DOS Path
  3329.  
  3330.     Syntax:
  3331.  
  3332.          DOSPath () -> cPath
  3333.  
  3334.     Description:
  3335.  
  3336.          Returns the DOS Path as a character value.
  3337.  
  3338.     Return:
  3339.  
  3340.          DOS Path.
  3341.  
  3342.     Example:
  3343.  
  3344.          ? DOSPath () // C:\DOS;C:\CLIPPER5\BIN;
  3345.  
  3346. See Also: "ClipperPath()" 
  3347.  
  3348.  
  3349.     fAttributes()
  3350.  
  3351.          Returns the attributes of a file
  3352.  
  3353.     Syntax:
  3354.  
  3355.                                  - Page 56 -
  3356. Norton Guide: `FAST.lib 3.15 » Reference'
  3357.  
  3358.  
  3359.  
  3360.          fAttributes( cFile ) -> cAttributes
  3361.  
  3362.          cFile : The name of the file
  3363.  
  3364.     Description:
  3365.  
  3366.          Returns the attributes of a file, H if it's a hidden file, S system,
  3367.          A archive and R read only.
  3368.  
  3369.     Return:
  3370.  
  3371.          A character value with attributes or Nil if the file not found.
  3372.  
  3373.     Example:
  3374.  
  3375.          ? fAttributes ( "Fast.txt" )   // A
  3376.  
  3377. See Also: "fDate()" "fTime()" "fSize()" 
  3378.  
  3379.  
  3380.     fbClose()
  3381.  
  3382.          Closes binary files
  3383.  
  3384.     Syntax:
  3385.  
  3386.          fbClose( aHandle ) -> Nil
  3387.  
  3388.          aHandle : File handle array to close
  3389.  
  3390.     Description:
  3391.  
  3392.          Closes all the specified files in the array.
  3393.  
  3394.     Return:
  3395.  
  3396.          Nothing.
  3397.  
  3398.     Example:
  3399.  
  3400.          fbClose ( { nHandIn, nHandOut, nHandErr } )
  3401.  
  3402. See Also: "fbOpen()" "fbCreate()" "fbWrite()" "fbRead()" 
  3403.  
  3404.  
  3405.     fbCreate()
  3406.  
  3407.          Creates a binary file
  3408.  
  3409.     Syntax:
  3410.  
  3411.          fbCreate( cFile ) -> nHandle
  3412.  
  3413.          cFile : The name of the file
  3414.  
  3415.                                  - Page 57 -
  3416. Norton Guide: `FAST.lib 3.15 » Reference'
  3417.  
  3418.  
  3419.  
  3420.     Description:
  3421.  
  3422.          Creates a file with name cFile. If cFile exists, it will be truncated
  3423.          to size 0. If there's some error, it retries 5 times and then asks
  3424.          the user if he wants to retry.
  3425.  
  3426.     Return:
  3427.  
  3428.          A file handle or -1 if an error is found.
  3429.  
  3430.     Example:
  3431.  
  3432.          nHandle := fbCreate ( "Fast.txt" )
  3433.  
  3434. See Also: "fbOpen()" "fbClose()" "fbWrite()" "fbRead()" 
  3435.  
  3436.  
  3437.     fbOpen()
  3438.  
  3439.          Opens a binary file
  3440.  
  3441.     Syntax:
  3442.  
  3443.          fbOpen( cFile, nMode ) -> nHandle
  3444.  
  3445.          cFile : The name of the file
  3446.          nMode : DOS open mode
  3447.  
  3448.     Description:
  3449.  
  3450.          Trys to open the file cFile in mode nMode with 5 retries and asks
  3451.          the user if he wants to continue retrying.
  3452.  
  3453.     Return:
  3454.  
  3455.          A file handle or -1 if an error is found.
  3456.  
  3457.     Example:
  3458.  
  3459.          nHandle := fbOpen ( "Fast.txt", 0 )
  3460.          If nHandle == -1
  3461.            BoxWarning ( "Open error" )
  3462.          EndIf
  3463.  
  3464. See Also: "fbClose()" "fbCreate()" "fbWrite()" "fbRead()" 
  3465.  
  3466.  
  3467.     fbRead()
  3468.  
  3469.          Reads bytes from a binary file
  3470.  
  3471.     Syntax:
  3472.  
  3473.          fbRead( nHandle, cBuffer, nBuffer, nRead, ;
  3474.  
  3475.                                  - Page 58 -
  3476. Norton Guide: `FAST.lib 3.15 » Reference'
  3477.  
  3478.  
  3479.                  cFile, lForce ) -> lExit
  3480.  
  3481.          nHandle : The file handle of the file.
  3482.          cBuffer : The buffer to fill.
  3483.          nBuffer : The number of bytes to read.
  3484.          nRead   : Variable that returns the number of bytes read.
  3485.          cFile   : The name of the file.
  3486.          lForce  : Logic value to force nBuffer to be the same value
  3487.                    as nRead.
  3488.  
  3489.     Description:
  3490.  
  3491.          Reads nBuffer bytes from the file (nHandle/cFile) depositing the
  3492.          result in cBuffer. If cBuffer isn't big enough, the function will
  3493.          fill it with spaces at the end.  cFile is used to allow error
  3494.          messages to be displayed. If lForce is .T. the value read from the
  3495.          file must be nBuffer bytes and doesn't return until nRead is equal
  3496.          to that amount.  If lForce is .F. the function returns even though
  3497.          the value nRead hasn't been reached. Forget retries cause the
  3498.          same function checks all of that.
  3499.  
  3500.     Return:
  3501.  
  3502.          If there's some error, returns .F. if not returns .T.
  3503.  
  3504.     Example:
  3505.  
  3506.          cFile     := "Fast.txt"
  3507.          nHand     := fbOpen ( cFile, 0 )
  3508.          nRead     := 0
  3509.          nBuffer   := 100
  3510.          cBuffer   := Space ( nBuffer )
  3511.          lForce    := .F.
  3512.          If ! fbRead( nHand, cBuffer, nBuffer, @nRead, cFile, lForce )
  3513.            BoxWarning ( "The reading has been unsuccessful" )
  3514.          Else
  3515.            BoxWarning ( "I've read " + Str ( nRead ) + " Bytes" )
  3516.          EndIf
  3517.          fbClose ( { nHand } )
  3518.  
  3519. See Also: "fbOpen()" "fbClose()" "fbCreate()" "fbWrite()" 
  3520.  
  3521.  
  3522.     fbWrite()
  3523.  
  3524.          Writes to a binary file
  3525.  
  3526.     Syntax:
  3527.  
  3528.          fbWrite ( nHandle, cBuffer, nBuffer, nWrite, ;
  3529.                    cFile, lForce ) -> lexit
  3530.  
  3531.          nHandle : The file handle of the file.
  3532.          cBuffer : The buffer to write to the file.
  3533.          nBuffer : The number of bytes to be written.
  3534.  
  3535.                                  - Page 59 -
  3536. Norton Guide: `FAST.lib 3.15 » Reference'
  3537.  
  3538.  
  3539.          nWrite  : Variable that returns the number of bytes written.
  3540.          cFile   : The name of the file.
  3541.          lForce  : Logic value to force nBuffer to be the same value
  3542.                    as nWrite.
  3543.  
  3544.     Description:
  3545.  
  3546.          Writes nBuffer bytes from cBuffer to the file (nHandle).  cFile is
  3547.          used to allow error messages to be dislpayed. If lForce is .T. the
  3548.          value written to the file must be nBuffer bytes and doesn't return
  3549.          until nRead is equal to that amount. If lForce is .F. the function
  3550.          returns even though the value nRead hasn't been reached.  Forget
  3551.          retries becuase the same function checks all of that.
  3552.  
  3553.     Return:
  3554.  
  3555.          If there's an error returns .F. if not, returns .T.
  3556.  
  3557.     Example:
  3558.  
  3559.          cFile     := "Fast.txt"
  3560.          nHand     := fbOpen ( cfile, 2 )
  3561.          nWrite    := 100
  3562.          nBuffer   := 100
  3563.          cBuffer   := Space ( nBuffer )
  3564.          lForce    := .T.
  3565.          If ! fbWrite( nHand, cBuffer, nBuffer, @nWrite, cfile, lForce )
  3566.            Warning( "The read has been unsuccessful" )
  3567.          Else
  3568.            Warning( Str( nWrite ) + " must be the same " + Str( nBuffer ) )
  3569.          EndIf
  3570.          fbClose ( { nHand } )
  3571.  
  3572. See Also: "fbOpen()" "fbClose()" "fbCreate()" "fbRead()" 
  3573.  
  3574.  
  3575.     fDate()
  3576.  
  3577.          Returns the date of a file
  3578.  
  3579.     Syntax:
  3580.  
  3581.          fDate ( cFile ) -> dDate
  3582.  
  3583.          cFile : The name of the file
  3584.  
  3585.     Description:
  3586.  
  3587.          Returns file date as a date value.
  3588.  
  3589.     Return:
  3590.  
  3591.          The date of the file or Nil if file not exists
  3592.  
  3593.     Example:
  3594.  
  3595.                                  - Page 60 -
  3596. Norton Guide: `FAST.lib 3.15 » Reference'
  3597.  
  3598.  
  3599.  
  3600.          ? fDate ( "Fast.Txt" )  //   22/12/92
  3601.  
  3602. See Also: "fAttributes()" "fTime()" "fSize()" 
  3603.  
  3604.  
  3605.     fDefUnit()
  3606.  
  3607.          Changes the default drive
  3608.  
  3609.     Syntax:
  3610.  
  3611.          fDefUnit( nUnit ) -> Nil
  3612.  
  3613.          nUnit : New default drive
  3614.  
  3615.     Description:
  3616.  
  3617.          Changes the default drive to the new specified
  3618.          drive knowing that 0=A:, 1=B;, ...
  3619.  
  3620.     Return:
  3621.  
  3622.          Nothing.
  3623.  
  3624.     Example:
  3625.  
  3626.          fDefUnit ( 1 )  // Change B:
  3627.  
  3628. See Also: "fMaxUnit()" 
  3629.  
  3630.  
  3631.     fDel()
  3632.  
  3633.          Deletes a file from disk
  3634.  
  3635.     Syntax:
  3636.  
  3637.          fDel( cFile ) -> nError
  3638.  
  3639.          cFile : The name of the file
  3640.  
  3641.     Description:
  3642.  
  3643.          Deletes the specified file.
  3644.  
  3645.     Return:
  3646.  
  3647.          Returns the DOS error or zero if there is no error.
  3648.  
  3649.     Example:
  3650.  
  3651.          If fDel ( "\dos\command.com" ) == 0
  3652.            BoxWarning( "Nooooooooo" )
  3653.          EndIf
  3654.  
  3655.                                  - Page 61 -
  3656. Norton Guide: `FAST.lib 3.15 » Reference'
  3657.  
  3658.  
  3659.  
  3660.  
  3661.     fExtension()
  3662.  
  3663.          Returns the file extension
  3664.  
  3665.     Syntax:
  3666.  
  3667.          fExtension ( cFile ) -> cExtension
  3668.  
  3669.          cFile : The name of the file
  3670.  
  3671.     Description:
  3672.  
  3673.          Returns the file extension following the DOS rule for description,
  3674.          that is to say, a name of 8 letters followed by a point and an
  3675.          extension of 3 letters.
  3676.  
  3677.     Return:
  3678.  
  3679.          File extension as a character value or "" if file doesn't exist
  3680.  
  3681.     Example:
  3682.  
  3683.          ? fExtension ( "C:\FastLib\Fast.Txt" ) // Txt
  3684.  
  3685. See Also: "fName()" "fPath()" "fUnit()" 
  3686.  
  3687.  
  3688.     fMaxUnit()
  3689.  
  3690.          Returns the number of logic DOS drives
  3691.  
  3692.     Syntax:
  3693.  
  3694.          fMaxUnit() -> nDrives
  3695.  
  3696.     Description:
  3697.  
  3698.          Returns the number of logic DOS drives. Frequently, if a Novell
  3699.          net exists a return of 32 is common. Under native DOS a return of 5
  3700.          or the value of LASTDRIVE, which ever is greater.
  3701.  
  3702.     Return:
  3703.  
  3704.          The number of logic DOS drives.
  3705.  
  3706.     Example:
  3707.  
  3708.          nDrives := Str ( fMaxUnit () )
  3709.          ? "I have " + nDrives + " on my system."
  3710.  
  3711. See Also: "fDefUnit()" 
  3712.  
  3713.  
  3714.  
  3715.                                  - Page 62 -
  3716. Norton Guide: `FAST.lib 3.15 » Reference'
  3717.  
  3718.  
  3719.     fName()
  3720.  
  3721.          Returns the name of a file without extension
  3722.  
  3723.     Syntax:
  3724.  
  3725.          fName ( cFile ) -> cName
  3726.  
  3727.          cFile : The name of the file
  3728.  
  3729.     Description:
  3730.  
  3731.          Returns the name of a file following the DOS rule for description,
  3732.          that is to say, a name of 8 letters followed by a point and an
  3733.          extension of 3 letters.
  3734.  
  3735.     Return:
  3736.  
  3737.          The name of a file without extension.
  3738.  
  3739.     Example:
  3740.  
  3741.          ? fName ( "C:\FastLib\Fast.Txt" ) // Fast
  3742.  
  3743. See Also: "fExtension()" "fPath()" "fUnit()" 
  3744.  
  3745.  
  3746.     fName()
  3747.  
  3748.          Returns the path of a file
  3749.  
  3750.     Syntax:
  3751.  
  3752.          fPath ( cFile ) -> cPath
  3753.  
  3754.          cFile : The name of the file
  3755.  
  3756.     Description:
  3757.  
  3758.          Returns the path of a file following the DOS rule for description,
  3759.          that is to say, a name of 8 letters followed by a point and an
  3760.          extension of 3 letters.
  3761.  
  3762.     Return:
  3763.  
  3764.          The path of the file.
  3765.  
  3766.     Example:
  3767.  
  3768.          ? fPath ( "C:\FastLib\Fast.Txt" ) // C:\FastLib\
  3769.  
  3770. See Also: "fExtension()" "fName()" "fUnit()" 
  3771.  
  3772.  
  3773.     fRandom()
  3774.  
  3775.                                  - Page 63 -
  3776. Norton Guide: `FAST.lib 3.15 » Reference'
  3777.  
  3778.  
  3779.  
  3780.          Generates a random filename
  3781.  
  3782.     Syntax:
  3783.  
  3784.          fRandom() -> cFile
  3785.  
  3786.     Description:
  3787.  
  3788.          Returns a random filename with .TMP extension
  3789.  
  3790.     Return:
  3791.  
  3792.          The name of the file.
  3793.  
  3794.     Example:
  3795.  
  3796.          ? fRandom ()           // "WEDKFGVD.TMP"
  3797.  
  3798.  
  3799.     FreeFiles()
  3800.  
  3801.          Returns the number of available DOS File Handles
  3802.  
  3803.     Syntax:
  3804.  
  3805.          FreeFiles() -> nFiles
  3806.  
  3807.     Description:
  3808.  
  3809.          Returns the number of available DOS File Handles as a numeric value.
  3810.  
  3811.     Return:
  3812.  
  3813.          A numeric value of the number of available DOS File Handles.
  3814.  
  3815.     Example:
  3816.  
  3817.          If FreeFiles() < 20
  3818.            BoxWarning ( "I'm sorry but you must have 20 files" )
  3819.          EndIF
  3820.  
  3821.  
  3822.     fSearch()
  3823.  
  3824.          Searches for a string in a file
  3825.  
  3826.     Syntax:
  3827.  
  3828.          fSearch( cFile, cString ) -> aPosition
  3829.  
  3830.          cFile   : The file to searched
  3831.          cString : The string to be found
  3832.  
  3833.     Description:
  3834.  
  3835.                                  - Page 64 -
  3836. Norton Guide: `FAST.lib 3.15 » Reference'
  3837.  
  3838.  
  3839.  
  3840.          Searches for a string in a file and returns an array with all of the
  3841.          positions that the string has been found or an empty array if
  3842.          the string isn't found in the file.
  3843.  
  3844.     Return:
  3845.  
  3846.          An array from 0 to n elements, each element contains one relative
  3847.          position to the file, starting from 0.
  3848.  
  3849.     Example:
  3850.  
  3851.          aRet := fSearch ( "Test.txt", "i want to be free" )
  3852.          For nInd := 1 To Len ( aRet )
  3853.            ? aRet [ nInd ]
  3854.          Next
  3855.  
  3856.  
  3857.     fSize()
  3858.  
  3859.          Returns the size of a file
  3860.  
  3861.     Syntax:
  3862.  
  3863.          fSize ( cFile ) -> nSize
  3864.  
  3865.          cFile : The name of the file
  3866.  
  3867.     Description:
  3868.  
  3869.          Returns the size of a file as a numeric value.
  3870.  
  3871.     Return:
  3872.  
  3873.          The size of the file or Nil if the file is not found.
  3874.  
  3875.     Example:
  3876.  
  3877.          ? fSize ( "Fast.Txt" )  //   112
  3878.  
  3879. See Also: "fAttributes()" "fDate()" "fTime()" 
  3880.  
  3881.  
  3882.     fTime()
  3883.  
  3884.          Returns the time of a file
  3885.  
  3886.     Syntax:
  3887.  
  3888.          fTime ( cFile ) -> cTime
  3889.  
  3890.          cFile : The name of the file
  3891.  
  3892.     Description:
  3893.  
  3894.  
  3895.                                  - Page 65 -
  3896. Norton Guide: `FAST.lib 3.15 » Reference'
  3897.  
  3898.  
  3899.          Returns the time of a file as a character value.
  3900.  
  3901.     Return:
  3902.  
  3903.          The time of the file or Nil if file not found.
  3904.  
  3905.     Example:
  3906.  
  3907.          ? fTime ( "Fast.Txt" )  //   12:12:13
  3908.  
  3909. See Also: "fAttributes()" "fDate()" "fSize()" 
  3910.  
  3911.  
  3912.     fUnit()
  3913.  
  3914.          Returns the drive where a file exists
  3915.  
  3916.     Syntax:
  3917.  
  3918.          fUnit ( cFile ) -> cUnit
  3919.  
  3920.          cFile : The name of the file
  3921.  
  3922.     Description:
  3923.  
  3924.          Returns the drive where a file exists as a character value.
  3925.  
  3926.     Return:
  3927.  
  3928.          The drive where the file was found or Nil if file not found.
  3929.  
  3930.     Example:
  3931.  
  3932.          ? fUnit ( "C:\FastLib\Fast.Txt" ) // C:
  3933.  
  3934. See Also: "fExtension()" "fName()" "fPath()" 
  3935.  
  3936.  
  3937.     GetLabel()
  3938.  
  3939.          Returns the label of a disk
  3940.  
  3941.     Syntax:
  3942.  
  3943.          GetLabel( nUnit ) -> cLabel
  3944.  
  3945.          nUnit : A disk number. 0=Current disk, 1=A:, 2=B:, 3=C:, ...
  3946.  
  3947.     Description:
  3948.  
  3949.          Returns the label of a disk.
  3950.  
  3951.     Return:
  3952.  
  3953.          A string with the label.
  3954.  
  3955.                                  - Page 66 -
  3956. Norton Guide: `FAST.lib 3.15 » Reference'
  3957.  
  3958.  
  3959.  
  3960.     Example:
  3961.  
  3962.          ? GetLabel ( 0 )               // "MANU ROIBAL"
  3963.  
  3964. See Also: "SetLabel()" 
  3965.  
  3966.  
  3967.     IsBootAble()
  3968.  
  3969.          Determines if the current disk has a boot sector
  3970.  
  3971.     Syntax:
  3972.  
  3973.          IsBootAble() -> lBoot
  3974.  
  3975.     Description:
  3976.  
  3977.          Determines if the current disk has a boot sector.
  3978.  
  3979.     Return:
  3980.  
  3981.          A logic value indicating if it has a boot sector.
  3982.  
  3983.     Example:
  3984.  
  3985.          While ! IsBootAble()
  3986.            Warning( "Insert a disk with Operating System" )
  3987.          End
  3988.  
  3989.  
  3990.     IsFloppy()
  3991.  
  3992.          Determines if the current disk is a floppy
  3993.  
  3994.     Syntax:
  3995.  
  3996.          IsFloppy() -> lFloppy
  3997.  
  3998.     Description:
  3999.  
  4000.          Determines if the current disk is a floppy.
  4001.  
  4002.     Return:
  4003.  
  4004.          A logic value indicating if it is a floppy.
  4005.  
  4006.     Example:
  4007.  
  4008.          If IsFloppy()
  4009.            Warning( "Error: You need a hard disk" )
  4010.          EndIf
  4011.  
  4012. See Also: "IsHardDisk()" "IsNetDev()" 
  4013.  
  4014.  
  4015.                                  - Page 67 -
  4016. Norton Guide: `FAST.lib 3.15 » Reference'
  4017.  
  4018.  
  4019.  
  4020.     IsHardDisk()
  4021.  
  4022.          Determines if the current disk is a hard disk
  4023.  
  4024.     Syntax:
  4025.  
  4026.          IsHardDisk() -> lHard
  4027.  
  4028.     Description:
  4029.  
  4030.          Determines if the current disk is a hard disk.
  4031.  
  4032.     Return:
  4033.  
  4034.          A logic value indicating if it's a hard disk.
  4035.  
  4036.     Example:
  4037.  
  4038.          If IsHardDisk()
  4039.            Warning( "You have a hard disk" )
  4040.          EndIf
  4041.  
  4042. See Also: "IsFloppy()" "IsNetDev()" 
  4043.  
  4044.  
  4045.     IsNetDev()
  4046.  
  4047.          Determines if the current disk is a net disk
  4048.  
  4049.     Syntax:
  4050.  
  4051.          IsNetDev() -> lLan
  4052.  
  4053.     Description:
  4054.  
  4055.          Determines if the current disk is a net disk.
  4056.  
  4057.     Return:
  4058.  
  4059.          A logic value indicating if it's a net disk.
  4060.  
  4061.     Example:
  4062.  
  4063.          If IsNetDev()
  4064.            Warning( "You have a LAN" )
  4065.          EndIf
  4066.  
  4067. See Also: "IsFloppy()" "IsHardDisk()" 
  4068.  
  4069.  
  4070.     SetLabel()
  4071.  
  4072.          Sets the label on a disk
  4073.  
  4074.  
  4075.                                  - Page 68 -
  4076. Norton Guide: `FAST.lib 3.15 » Reference'
  4077.  
  4078.  
  4079.     Syntax:
  4080.  
  4081.          SetLabel( nUnit [, cNewLabel] ) -> nError
  4082.  
  4083.          nUnit     : A disk number. 0=Current disk, 1=A:, 2=B:, 3=C:, ...
  4084.          cNewLabel : The new label. Default value is "".
  4085.  
  4086.     Description:
  4087.  
  4088.          Sets the label on a disk.
  4089.  
  4090.     Return:
  4091.  
  4092.          DOS error code or zero if there is no error.
  4093.  
  4094.     Example:
  4095.  
  4096.          cLabel := GetLabel( 0 )
  4097.          ? cLabel                       // returns "MANU ROIBAL"
  4098.          SetLabel( 0 )                  // purges label
  4099.          GetLabel( 0 )                  // returns ""
  4100.          SetLabel( 0, cLabel )          // sets new label
  4101.          ? GetLabel( 0 )                // returns "MANU ROIBAL"
  4102.  
  4103. See Also: "GetLabel()" 
  4104.  
  4105.  
  4106.     ZipFile()
  4107.  
  4108.          Returns the contents of a ZIP file
  4109.  
  4110.     Syntax:
  4111.  
  4112.          ZipFile ( cFile ) -> aZIP
  4113.  
  4114.          cFile : The name of the ZIP file
  4115.  
  4116.     Description:
  4117.  
  4118.          Returns a bidimensional array with information about the contents
  4119.          of ZIP file.
  4120.  
  4121.          The subarrays have the following format:
  4122.  
  4123.          {
  4124.            { cName, cFull, dDate, cTime, nSize, nComp, cRatio, cMeth, nNum }
  4125.            ...
  4126.            { cName, cFull, dDate, cTime, nSize, nComp, cRatio, cMeth, nNum }
  4127.          }
  4128.  
  4129.          cName          File name
  4130.          cFull          File name with path
  4131.          dDate          Date of file
  4132.          cTime          Time of file
  4133.          nSize          Real size of file
  4134.  
  4135.                                  - Page 69 -
  4136. Norton Guide: `FAST.lib 3.15 » Reference'
  4137.  
  4138.  
  4139.          nComp          Compressed size
  4140.          cRatio         Compression ratio
  4141.          cMeth          Compression method
  4142.          nNum           Number of file
  4143.  
  4144.     Return:
  4145.  
  4146.          An array with information about the contents of a ZIP file.
  4147.  
  4148.     Example:
  4149.  
  4150.          aZIP := ZipFile ( "C:\FastLib\Fast.Zip" )
  4151.          For nInd := 1 To Len ( aZIP )
  4152.            For nOther := 1 To Len ( aZIP [ nInd ] )
  4153.              ? aZIP [ nInd, nOther ]
  4154.            Next
  4155.          Next
  4156.  
  4157. See Also: "ArjFile()" 
  4158.  
  4159.  
  4160.  
  4161.  
  4162.  
  4163.  
  4164.  
  4165.  
  4166.  
  4167.  
  4168.  
  4169.  
  4170.  
  4171.  
  4172.  
  4173.  
  4174.  
  4175.  
  4176.  
  4177.  
  4178.  
  4179.  
  4180.  
  4181.  
  4182.  
  4183.  
  4184.  
  4185.  
  4186.  
  4187.  
  4188.  
  4189.  
  4190.  
  4191.  
  4192.  
  4193.  
  4194.                                  - Page 70 -
  4195. Norton Guide: `FAST.lib 3.15 » Reference'
  4196.  
  4197.  
  4198. Menu List: FAST.lib 1, Games
  4199.  
  4200.  
  4201.  
  4202.  
  4203.     What do you want games I say? ... Enjoy yourself!
  4204.  
  4205.  ──────────────────────────────────────────────────────────────────────────────
  4206.  
  4207.  
  4208.     Caos()
  4209.  
  4210.          Reproduce a caos situation on your PC
  4211.  
  4212.     Syntax:
  4213.  
  4214.          Caos() -> Nil
  4215.  
  4216.     Description:
  4217.  
  4218.          It Reproduces a caos situation on your PC pushing the letters.
  4219.          Just write Caos() in your program.
  4220.  
  4221.     Return:
  4222.  
  4223.          Nothing.
  4224.  
  4225.     Example:
  4226.  
  4227.          Caos()
  4228.  
  4229.  
  4230.     IsGame()
  4231.  
  4232.          Indicates if the system has a joystick
  4233.  
  4234.     Syntax:
  4235.  
  4236.          IsGame() -> lExist
  4237.  
  4238.     Description:
  4239.  
  4240.          Determines if the system has a joystick and initializes
  4241.          the BIOS communications area.
  4242.  
  4243.     Return:
  4244.  
  4245.          .T. if there's joystick and .f. if there isn't
  4246.  
  4247.     Example:
  4248.  
  4249.          If IsJoystick()
  4250.            Warning ( "My computer is a gameboy" )
  4251.          EndIf
  4252.  
  4253.  
  4254.                                  - Page 71 -
  4255. Norton Guide: `FAST.lib 3.15 » Reference'
  4256.  
  4257.  
  4258.  
  4259.     jButton1()
  4260.  
  4261.          Indicates if the button 1 of the joystick is pressed
  4262.  
  4263.     Syntax:
  4264.  
  4265.          jButton1() -> lPush
  4266.  
  4267.     Description:
  4268.  
  4269.          Indicates if the button 1 of the first joystick on the system is
  4270.          pressed or not, returning a logic value.
  4271.  
  4272.     Return:
  4273.  
  4274.          .T. if it's pressed or .F. if not.
  4275.  
  4276.     Example:
  4277.  
  4278.          If jButton1()
  4279.            Warning ( "Button 1 is down" )
  4280.          EndIf
  4281.  
  4282. See Also: "jButton2()" 
  4283.  
  4284.  
  4285.     jButton2()
  4286.  
  4287.          Indicates if the button 2 of the joystick is pressed
  4288.  
  4289.     Syntax:
  4290.  
  4291.          jButton2() -> lPush
  4292.  
  4293.     Description:
  4294.  
  4295.          Indicates if the button 2 of the first joystick on the system is
  4296.          pressed or not, returning a logic value.
  4297.  
  4298.     Return:
  4299.  
  4300.          .T. if it's pressed or .F. if not.
  4301.  
  4302.     Example:
  4303.  
  4304.          If jButton2()
  4305.            Warning ( "Button 2 is down" )
  4306.          EndIf
  4307.  
  4308. See Also: "jButton1()" 
  4309.  
  4310.  
  4311.  
  4312.     jClick()
  4313.  
  4314.                                  - Page 72 -
  4315. Norton Guide: `FAST.lib 3.15 » Reference'
  4316.  
  4317.  
  4318.  
  4319.          Indicates if any button of the joystick has been pressed
  4320.  
  4321.     Syntax:
  4322.  
  4323.          jClick() -> lPush
  4324.  
  4325.     Description:
  4326.  
  4327.          Indicates if any button of the joystick has been pressed. To
  4328.          determine which has been used jButton1() and jButton2().
  4329.  
  4330.     Return:
  4331.  
  4332.          A logic value indicating if any button has been pressed.
  4333.  
  4334.     Example:
  4335.  
  4336.          If jClick()
  4337.            Warning ( "Buttons 1 or/and 2 are down" )
  4338.          EndIf
  4339.  
  4340. See Also: "jButton1()" "jButton2()" 
  4341.  
  4342.  
  4343.     jInArea()
  4344.  
  4345.          Determines if the joystick is on a zone
  4346.  
  4347.     Syntax:
  4348.  
  4349.          jInArea( nY1, nX1, nY2, nX2 ) -> lInArea
  4350.  
  4351.          nY1, nX1, nY2, nX2 : The zone's co-ordinates
  4352.  
  4353.     Description:
  4354.  
  4355.          Determines if the joystick's controls is in a range.
  4356.  
  4357.     Return:
  4358.  
  4359.          A logic value indicating if it's inside the specified zone.
  4360.  
  4361.     Example:
  4362.  
  4363.          If jInArea ( 240, 330, 242, 340 )
  4364.            Warning ( "Ok. Joystick is in the middle" )
  4365.          EndIf
  4366.  
  4367.  
  4368.     jPosX()
  4369.  
  4370.          Indicates the X position of the joystick
  4371.  
  4372.     Syntax:
  4373.  
  4374.                                  - Page 73 -
  4375. Norton Guide: `FAST.lib 3.15 » Reference'
  4376.  
  4377.  
  4378.  
  4379.          jPosX() -> nPos
  4380.  
  4381.     Description:
  4382.  
  4383.          Indicates the position on the X co-ordinate of the system's
  4384.          first joystick's control.
  4385.  
  4386.     Return:
  4387.  
  4388.          The X position of the joystick.
  4389.  
  4390.     Example:
  4391.  
  4392.          If jPosX() < 400 .And. jPosX() > 200
  4393.            Warning( "Perfect" )
  4394.          EndIf
  4395.  
  4396. See Also: "jPosY()" 
  4397.  
  4398.  
  4399.     jPosY()
  4400.  
  4401.          Indicates the Y position of the joystick
  4402.  
  4403.     Syntax:
  4404.  
  4405.          jPosY() -> nPos
  4406.  
  4407.     Description:
  4408.  
  4409.          Indicates the position on the Y co-ordinate of the system's
  4410.          first joystick's control.
  4411.  
  4412.     Return:
  4413.  
  4414.          The Y position of the joystick.
  4415.  
  4416.     Example:
  4417.  
  4418.          If jPosY() < 300 .And. jPosY() > 100
  4419.            Warning ( "Ok" )
  4420.          EndIf
  4421.  
  4422. See Also: "jPosX()" 
  4423.  
  4424.  
  4425.     Puzzle()
  4426.  
  4427.          Play a Puzzle made with 100% Clipper Code
  4428.  
  4429.     Syntax:
  4430.  
  4431.          Puzzle( [nY], [nX], [cColor] ) -> lWin
  4432.  
  4433.  
  4434.                                  - Page 74 -
  4435. Norton Guide: `FAST.lib 3.15 » Reference'
  4436.  
  4437.  
  4438.          nY     : Upper row
  4439.          nX     : Left column
  4440.          cColor : The screen's color
  4441.  
  4442.     Description:
  4443.  
  4444.          Enjoy Puzzle.
  4445.  
  4446.     Return:
  4447.  
  4448.          If winner returns .T., the looser else .F.
  4449.  
  4450.     Example:
  4451.  
  4452.          Puzzle()
  4453.  
  4454. See Also: "Serpent()" 
  4455.  
  4456.  
  4457.     Serpent()
  4458.  
  4459.          Play the Snake made with 100% Clipper code
  4460.  
  4461.     Syntax:
  4462.  
  4463.          Serpent( cColor, cColorHead, cColorMark ) -> Nil
  4464.  
  4465.          cColor     : The screen's color and the Snake's body
  4466.          cColorHead : The Snake's head color when it's pressed down
  4467.          cColorMark : The color of the screen's brand
  4468.  
  4469.     Description:
  4470.  
  4471.          Enjoy serpent game.
  4472.  
  4473.     Return:
  4474.  
  4475.          Nothing.
  4476.  
  4477.     Example:
  4478.  
  4479.          Serpent ( "W+/B*", "R+/B*", "G+/B*" )
  4480.  
  4481.  
  4482.     SpeakGame()
  4483.  
  4484.          Generates a sound with the speaker
  4485.  
  4486.     Syntax:
  4487.  
  4488.          SpeakGame( nLapsus ) -> Nil
  4489.  
  4490.          nLapsus : The sound's duration. This value also determines the
  4491.                    frequency of the sound.
  4492.  
  4493.  
  4494.                                  - Page 75 -
  4495. Norton Guide: `FAST.lib 3.15 » Reference'
  4496.  
  4497.  
  4498.     Description:
  4499.  
  4500.          Generates a sound with the speaker accessing at low level
  4501.          and determining the frequency.
  4502.  
  4503.     Return:
  4504.  
  4505.          Nothing.
  4506.  
  4507.     Example:
  4508.  
  4509.          SpeakGame( 10000 )
  4510.  
  4511.  
  4512.  
  4513.  
  4514.  
  4515.  
  4516.  
  4517.  
  4518.  
  4519.  
  4520.  
  4521.  
  4522.  
  4523.  
  4524.  
  4525.  
  4526.  
  4527.  
  4528.  
  4529.  
  4530.  
  4531.  
  4532.  
  4533.  
  4534.  
  4535.  
  4536.  
  4537.  
  4538.  
  4539.  
  4540.  
  4541.  
  4542.  
  4543.  
  4544.  
  4545.  
  4546.  
  4547.  
  4548.  
  4549.  
  4550.  
  4551.  
  4552.  
  4553.                                  - Page 76 -
  4554. Norton Guide: `FAST.lib 3.15 » Reference'
  4555.  
  4556.  
  4557. Menu List: FAST.lib 1, Graphics
  4558.  
  4559.  
  4560.  
  4561.  
  4562.     This section is intended to give Clipper access to the graphic mode,
  4563.  as the standard libraries do not allow use of these video modes.
  4564.  
  4565.     They are very simple functions that don't use external libraries,
  4566.  instead they generate all the line algorithms based on internal
  4567.  calculations. And the code will just increase about 3kb in size!!
  4568.  
  4569.  ──────────────────────────────────────────────────────────────────────────────
  4570.  
  4571.  
  4572.     BackGraph()
  4573.  
  4574.          Draws the back of the 3D graphic
  4575.  
  4576.     Syntax:
  4577.  
  4578.          BackGraph ( cTitle, nMaxValue, nBaseSize ) -> Nil
  4579.  
  4580.          cTitle        : The title of the graphic
  4581.          nMaxValue     : The maximum value of the graphic
  4582.          nBaseSize     : The base size in pixels
  4583.  
  4584.     Description:
  4585.  
  4586.          Draws the back of the 3D graphic including title and scale
  4587.          depending on nMaxValue.
  4588.  
  4589.          In this way, with this function and DrawBar() you can build
  4590.          your graphics.
  4591.  
  4592.     Return:
  4593.  
  4594.          Nothing.
  4595.  
  4596.     Example:
  4597.  
  4598.          SetVGA()
  4599.          BackGraph( "This is a demo", 150000, 60 )
  4600.          Inkey( 0 )
  4601.          TxtMode()
  4602.  
  4603. See Also: "DrawBar()" 
  4604.  
  4605.  
  4606.     Degrade()
  4607.  
  4608.          Makes a progressive degrade of the palette
  4609.  
  4610.     Syntax:
  4611.  
  4612.  
  4613.                                  - Page 77 -
  4614. Norton Guide: `FAST.lib 3.15 » Reference'
  4615.  
  4616.  
  4617.          Degrade( cPalette ) -> Nil
  4618.  
  4619.         cPalette : A string of 768 bytes with the actual palette or with
  4620.                    the one wanted to be taken as reference for the degrade.
  4621.  
  4622.     Description:
  4623.  
  4624.          This function works in sync with the CRT controller so that
  4625.          the degrade can offer a vision of soft and progressive change.
  4626.  
  4627.     Return:
  4628.  
  4629.          Nothing.
  4630.  
  4631.     Example:
  4632.  
  4633.          cPalette := GetPalette()
  4634.          Degrade( cPalette )
  4635.          Upgrade( cPalette )
  4636.  
  4637. See Also: "Upgrade()" "GetPalette()" 
  4638.  
  4639.  
  4640.     DispChar()
  4641.  
  4642.          Writes a character on the screen
  4643.  
  4644.     Syntax:
  4645.  
  4646.          DispChar ( nChar, nX, nY, nFore, nBack ) -> Nil
  4647.  
  4648.          nChar : ASCII value of the character to be printed
  4649.          nX    : Coordinate X
  4650.          nY    : Coordinate Y
  4651.          nFore : The color of the character
  4652.          nBack : The color of the background
  4653.  
  4654.     Description:
  4655.  
  4656.          It writes a character in graphic mode. The mode must be EGA or VGA.
  4657.  
  4658.     Return:
  4659.  
  4660.          Nothing.
  4661.  
  4662.     Example:
  4663.  
  4664.          DispChar ( Asc ( "A" ), 20, 30, 2, 0 )
  4665.  
  4666. See Also: "DispStr()" 
  4667.  
  4668.  
  4669.     DispStr()
  4670.  
  4671.          Writes a string on the screen
  4672.  
  4673.                                  - Page 78 -
  4674. Norton Guide: `FAST.lib 3.15 » Reference'
  4675.  
  4676.  
  4677.  
  4678.     Syntax:
  4679.  
  4680.          DispStr ( cStr, nX, nY, nFore, nBack, nSep ) -> Nil
  4681.  
  4682.          cStr  : The string to be written
  4683.          nX    : Coordinate X
  4684.          nY    : Coordinate Y
  4685.          nFore : The color of characters
  4686.          nBack : The color of the background
  4687.          nSep  : Space between characters. Default 8 points
  4688.  
  4689.     Description:
  4690.  
  4691.          It writes a string in graphic mode. The mode must be EGA or VGA.
  4692.  
  4693.     Return:
  4694.  
  4695.          Nothing.
  4696.  
  4697.     Example:
  4698.  
  4699.          DispStr ( "Write in graphic mode", 20, 30, 2, 0, 10 )
  4700.  
  4701. See Also: "DispChar()" "Outxy()" 
  4702.  
  4703.  
  4704.     DrawBar()
  4705.  
  4706.          Draws a 3D bar
  4707.  
  4708.     Syntax:
  4709.  
  4710.          DrawBar( nX, nY, nHigh, nWide, nShadowLen, ;
  4711.                   nColor, nShadowColor, lDelimiter, nTypeBar ) -> Nil
  4712.  
  4713.          nX           : Coordinate X
  4714.          nY           : Coordinate Y
  4715.          nHigh        : The height of the bar
  4716.          nWide        : The width of the bar
  4717.          nShadowLen   : The size of the shadow
  4718.          nColor       : The color of bar
  4719.          nShadowColor : The color of shadow
  4720.          lDelimiter   : A logic value indicating if you want draw lines
  4721.                         delimiting the bar
  4722.          nTypeBar     : Bar Type
  4723.                           0 : Default, normal bar
  4724.                           1 : top pyramidal bar
  4725.                           2 : bottom pyramidal bar
  4726.                           3 : cylindric bar
  4727.  
  4728.     Description:
  4729.  
  4730.          Draws a 3D bar in graphic mode.
  4731.  
  4732.  
  4733.                                  - Page 79 -
  4734. Norton Guide: `FAST.lib 3.15 » Reference'
  4735.  
  4736.  
  4737.          This function is used by Graph*() functions in FAST.lib.
  4738.          In this way, with this function and BackGraph() you can build
  4739.          your graphics.
  4740.  
  4741.     Return:
  4742.  
  4743.          Nothing.
  4744.  
  4745.     Example:
  4746.  
  4747.          SetVGA()
  4748.          DrawBar( 100, 300, 150, 20, 10, 3, 11, .F. )
  4749.          Inkey( 0 )
  4750.          TxtMode()
  4751.  
  4752. See Also: "BackGraph()" 
  4753.  
  4754.  
  4755.     FliEver()
  4756.  
  4757.          Shows a FLI animation until you press a key
  4758.  
  4759.     Syntax:
  4760.  
  4761.          FliEver( cFileFLI ) -> nResult
  4762.  
  4763.          cFileFLI : The FLI file to show
  4764.  
  4765.     Description:
  4766.  
  4767.          Shows an animation created with Autodesk Animator.
  4768.  
  4769.          The animation of the Fast Library demo program is an example
  4770.          of a CorelDRAW CD.
  4771.  
  4772.     Return:
  4773.  
  4774.          0 or another number indicating an error.
  4775.  
  4776.     Example:
  4777.  
  4778.          FliEver( "demo.fli )
  4779.  
  4780. See Also: "FliOnce()" 
  4781.  
  4782.  
  4783.     FliOnce()
  4784.  
  4785.          Shows a FLI animation
  4786.  
  4787.     Syntax:
  4788.  
  4789.          FliOnce( cFileFLI ) -> nResult
  4790.  
  4791.          cFileFLI : The FLI file to show
  4792.  
  4793.                                  - Page 80 -
  4794. Norton Guide: `FAST.lib 3.15 » Reference'
  4795.  
  4796.  
  4797.  
  4798.     Description:
  4799.  
  4800.          Shows an animation created with Autodesk Animator.
  4801.  
  4802.          The animation of the Fast Library demo program is an example
  4803.          of a CorelDRAW CD.
  4804.  
  4805.     Return:
  4806.  
  4807.          0 or another number indicating an error.
  4808.  
  4809.     Example:
  4810.  
  4811.          FliOnce( "demo.fli )
  4812.  
  4813. See Also: "FliEver()" 
  4814.  
  4815.  
  4816.     gBox()
  4817.  
  4818.          Draws a box in graphic mode
  4819.  
  4820.     Syntax:
  4821.  
  4822.          gBox ( nX1, nY1, nX2, nY2, nColor ) -> Nil
  4823.  
  4824.          nX1    : Initial coordinate X
  4825.          nY1    : Initial coordinate Y
  4826.          nX2    : Final coordinate X
  4827.          nY2    : Final coordinate Y
  4828.          nColor : Numeric value color
  4829.  
  4830.     Description:
  4831.  
  4832.          It draws a box in graphic mode. The mode must be EGA or VGA.
  4833.  
  4834.     Return:
  4835.  
  4836.          Nothing.
  4837.  
  4838.     Example:
  4839.  
  4840.          gBox ( 200, 300, 250, 350, 4 )
  4841.  
  4842. See Also: "gLine()" 
  4843.  
  4844.  
  4845.     gCircle()
  4846.  
  4847.          Draws a circle in graphic mode
  4848.  
  4849.     Syntax:
  4850.  
  4851.          gCircle ( nCenterX, nCenterY, nRadius, nColor ) -> Nil
  4852.  
  4853.                                  - Page 81 -
  4854. Norton Guide: `FAST.lib 3.15 » Reference'
  4855.  
  4856.  
  4857.  
  4858.          nCenterX : Coordinate X of center
  4859.          nCenterY : Coordinate Y of center
  4860.          nRadius  : Radius value
  4861.          nColor   : Numeric value color
  4862.  
  4863.     Description:
  4864.  
  4865.          It draws a circle in graphic mode. The mode must be EGA or VGA.
  4866.  
  4867.     Return:
  4868.  
  4869.          Nothing.
  4870.  
  4871.     Example:
  4872.  
  4873.          gCircle ( 200, 300, 50, 2 )
  4874.  
  4875. See Also: "gEllipse()" 
  4876.  
  4877.  
  4878.     GetPixel()
  4879.  
  4880.          Informs of the color at a point in graphic mode
  4881.  
  4882.     Syntax:
  4883.  
  4884.          GetPixel( nCol, nRow ) -> nColor
  4885.  
  4886.          nCol    : Column of the point to verify
  4887.          nRow    : Row of the point to verify
  4888.  
  4889.     Description:
  4890.  
  4891.          Informs of the color at a point in graphic mode at the
  4892.          specified coordinates.
  4893.  
  4894.     Return:
  4895.  
  4896.          Nothing.
  4897.  
  4898.     Example:
  4899.  
  4900.          nMode := SetVGA()
  4901.          If GetPixel ( 330, 240 ) == 0
  4902.            DispChar ( "It's Black", 20, 20, 3, 0, 10 )
  4903.          EndIf
  4904.          Inkey(0)
  4905.          TxtMode()
  4906.  
  4907. See Also: "SetPixel()" 
  4908.  
  4909.  
  4910.     gEllipse()
  4911.  
  4912.  
  4913.                                  - Page 82 -
  4914. Norton Guide: `FAST.lib 3.15 » Reference'
  4915.  
  4916.  
  4917.          Draws an ellipse in graphic mode
  4918.  
  4919.     Syntax:
  4920.  
  4921.          gEllipse ( nCenterX, nCenterY, nFocusA, nFocusB, nColor ) -> Nil
  4922.  
  4923.          nCenterX : Coordinate X of center
  4924.          nCenterY : Coordinate Y of center
  4925.          nFocusA  : Valor of focus A
  4926.          nFocusB  : Valor of focus B
  4927.          nColor   : Numeric color value
  4928.  
  4929.     Description:
  4930.  
  4931.          It draws an ellipse in graphic mode. The mode must be EGA or VGA.
  4932.  
  4933.     Return:
  4934.  
  4935.          Nothing.
  4936.  
  4937.     Example:
  4938.  
  4939.          gEllipse ( 200, 300, 60, 50, 3 )
  4940.  
  4941. See Also: "gCircle()" 
  4942.  
  4943.  
  4944.     gifColors()
  4945.  
  4946.          Returns the number of colors of a GIF
  4947.  
  4948.     Syntax:
  4949.  
  4950.          gifIsGIF ( cFile ) -> nColors
  4951.  
  4952.          cFile : Name of the GIF file
  4953.  
  4954.     Description:
  4955.  
  4956.          This function returns the number of colors that contains the GIF
  4957.          image.
  4958.  
  4959.     Return:
  4960.  
  4961.          A value between 2 y 256 indicating the number of colors or Nil if
  4962.          the file does not have GIF format.
  4963.  
  4964.     Example:
  4965.  
  4966.          ? gifColors ( "c:\xx\giveme.gif" )
  4967.  
  4968. See Also: "gifIsGIF()" 
  4969.  
  4970.  
  4971.     gifIsGIF()
  4972.  
  4973.                                  - Page 83 -
  4974. Norton Guide: `FAST.lib 3.15 » Reference'
  4975.  
  4976.  
  4977.  
  4978.          Indicates if a file has GIF format or not
  4979.  
  4980.     Syntax:
  4981.  
  4982.          gifIsGIF ( cFile ) -> lIsGIF
  4983.  
  4984.          cFile : Name of the GIF file
  4985.  
  4986.     Description:
  4987.  
  4988.          This function returns a logic indicating if the file is GIF or not.
  4989.  
  4990.          The rest of GIF functions use this function to decide when to
  4991.          return some value.
  4992.  
  4993.     Return:
  4994.  
  4995.          .T. if the file is GIF or .F. if it does not have GIF format or
  4996.          does not exist.
  4997.  
  4998.     Example:
  4999.  
  5000.          ? gifIsGIF ( "c:\xx\giveme.gif" )
  5001.  
  5002. See Also: "gifVersion()" 
  5003.  
  5004.  
  5005.     gifIsPalette()
  5006.  
  5007.          Determines if the GIF has palette or not
  5008.  
  5009.     Syntax:
  5010.  
  5011.          gifIsPalette( cFile ) -> lPalette
  5012.  
  5013.          cFile : Name of the GIF file
  5014.  
  5015.     Description:
  5016.  
  5017.          This function determines if it must use the system palette in
  5018.          order to show the image or the GIF has its own palette.
  5019.  
  5020.     Return:
  5021.  
  5022.          A logic indicating if the GIF has palette or Nil if the file does
  5023.          not have GIF format.
  5024.  
  5025.     Example:
  5026.  
  5027.          ? gifIsPalette ( "c:\xx\giveme.gif" )
  5028.  
  5029. See Also: "gifIsGIF()" 
  5030.  
  5031.  
  5032.  
  5033.                                  - Page 84 -
  5034. Norton Guide: `FAST.lib 3.15 » Reference'
  5035.  
  5036.  
  5037.     gifShow256()
  5038.  
  5039.          Shows a 320x200x256 GIF on the screen
  5040.  
  5041.     Syntax:
  5042.  
  5043.          gifShow256 ( cFile ) -> lError
  5044.  
  5045.          cFile : Name of the GIF file
  5046.  
  5047.     Description:
  5048.  
  5049.          The GIF can be any size you want. Forget about the 64 kb
  5050.          limitation.
  5051.  
  5052.          It only works if a VGA card exists in the system.
  5053.          The function does not wait for a key, nor restores the video
  5054.          mode, so this is left to the user's responsibility. This is
  5055.          very useful when you want to show various GIF and you don't
  5056.          want to get text mode between one and the other.
  5057.          This function works best with GIF of less colors. It has
  5058.          been tested with GIFs of 320x200x32 and 320x200x64, also with
  5059.          320x200x256.
  5060.  
  5061.     Return:
  5062.  
  5063.          .T. if all has gone well or .F. if the file is not found or the
  5064.          GIF format is incorrect.
  5065.  
  5066.     Example:
  5067.  
  5068.          If IsVGA()
  5069.            nOldMode := SetVGA256()
  5070.            If gifShow256 ( "f:\xxx\giveme.gif" )
  5071.              Inkey(0)
  5072.            EndIf
  5073.            VideoMode ( nOldMode )
  5074.          EndIf
  5075.  
  5076. See Also: "GifShowVESA()" 
  5077.  
  5078.  
  5079.     gifShowVESA()
  5080.  
  5081.          Shows a GIF in VESA modes
  5082.  
  5083.     Syntax:
  5084.  
  5085.          gifShowVESA ( cFile ) -> lError
  5086.  
  5087.          cFile : Name of the GIF file
  5088.  
  5089.     Description:
  5090.  
  5091.          The GIF can be any size you want. Forget about the 64 kb
  5092.  
  5093.                                  - Page 85 -
  5094. Norton Guide: `FAST.lib 3.15 » Reference'
  5095.  
  5096.  
  5097.          limitation.
  5098.  
  5099.          It only works if a SVGA VESA compatible card exists on the system.
  5100.          The function does not wait for a key, nor restores the video
  5101.          mode, so this is left to the user's responsibility. This is
  5102.          very useful when you want to show various GIF and you don't
  5103.          want to get text mode between one and the other.
  5104.          This function works best with GIF of less colors. It has
  5105.          been tested with GIFs of 640x400x256, 640x480x256, 800x600x256,
  5106.          1024x768x256 and 1280x1024x256.
  5107.  
  5108.     Return:
  5109.  
  5110.          .T. if all has gone well or .F. if the file is not found or the
  5111.          GIF format is incorrect.
  5112.  
  5113.     Example:
  5114.  
  5115.          If IsVESA()
  5116.            cFile    := "f:\xxx\car.gif"
  5117.            nOldMode := VideoMode()
  5118.            nNewMode := SearchVESA( cFile )
  5119.            If nNewMode != Nil
  5120.              VESAMode( nNewMode )
  5121.              If gifShowVESA ( cFile )
  5122.                Inkey(0)
  5123.              EndIf
  5124.              VideoMode ( nOldMode )
  5125.            EndIf
  5126.          EndIf
  5127.  
  5128. See Also: "gifShow256()" "SearchVESA()" 
  5129.  
  5130.  
  5131.     gifVersion()
  5132.  
  5133.          Returns the version of a GIF
  5134.  
  5135.     Syntax:
  5136.  
  5137.          gifVersion ( cFile ) -> nVersion
  5138.  
  5139.          cFile : Name of the GIF file
  5140.  
  5141.     Description:
  5142.  
  5143.          This function returns the GIF file format version.
  5144.  
  5145.     Return:
  5146.  
  5147.          A string containing the version like GIF89a or Nil if the file
  5148.          does not have GIF format.
  5149.  
  5150.     Example:
  5151.  
  5152.  
  5153.                                  - Page 86 -
  5154. Norton Guide: `FAST.lib 3.15 » Reference'
  5155.  
  5156.  
  5157.          ? gifVersion ( "c:\xx\giveme.gif" )
  5158.  
  5159. See Also: "gifIsGIF()" 
  5160.  
  5161.  
  5162.     gifX()
  5163.  
  5164.          Returns the width of a GIF
  5165.  
  5166.     Syntax:
  5167.  
  5168.          gifX ( cFile ) -> nWidth
  5169.  
  5170.          cFile : Name of the GIF file
  5171.  
  5172.     Description:
  5173.  
  5174.          This function returns the width, in pixels, of the GIF image.
  5175.  
  5176.     Return:
  5177.  
  5178.          A numeric value indicating the number of pixels in width or Nil
  5179.          if the file does not have GIF format.
  5180.  
  5181.     Example:
  5182.  
  5183.          ? gifX ( "c:\xx\giveme.gif" )
  5184.  
  5185. See Also: "gifIsGIF()" "gifX()" 
  5186.  
  5187.  
  5188.     gifY()
  5189.  
  5190.          Returns the height of a GIF
  5191.  
  5192.     Syntax:
  5193.  
  5194.          gifX ( cFile ) -> nLong
  5195.  
  5196.          cFile : Name of the GIF file
  5197.  
  5198.     Description:
  5199.  
  5200.  
  5201.          This function returns the height, in pixels, of the GIF image.
  5202.  
  5203.     Return:
  5204.  
  5205.          A numeric value indicating the number of pixels in height or Nil
  5206.          if the file does not have GIF format.
  5207.  
  5208.     Example:
  5209.  
  5210.          ? gifY ( "c:\xx\giveme.gif" )
  5211.  
  5212.  
  5213.                                  - Page 87 -
  5214. Norton Guide: `FAST.lib 3.15 » Reference'
  5215.  
  5216.  
  5217. See Also: "gifIsGIF()" "gifX()" 
  5218.  
  5219.  
  5220.     gLine()
  5221.  
  5222.          Draws a line in graphic mode
  5223.  
  5224.     Syntax:
  5225.  
  5226.          gLine ( nX1, nY1, nX2, nY2, nColor ) -> Nil
  5227.  
  5228.          nX1    : Initial coordinate X
  5229.          nY1    : Initial coordinate Y
  5230.          nX2    : Final coordinate X
  5231.          nY2    : Final coordinate Y
  5232.          nColor : Numeric value color
  5233.  
  5234.     Description:
  5235.  
  5236.          Draws a line in graphic mode. The mode must be EGA or VGA.
  5237.  
  5238.     Return:
  5239.  
  5240.          Nothing.
  5241.  
  5242.     Example:
  5243.  
  5244.          gLine ( 200, 300, 250, 350, 4 )
  5245.  
  5246. See Also: "gBox()" 
  5247.  
  5248.  
  5249.     GraphBar()
  5250.  
  5251.          Bar graphics with Clipper!!
  5252.  
  5253.     Syntax:
  5254.  
  5255.          GraphBar( cTitle, aArray1, aArray2, aArray3, aArray4, ;
  5256.                    nTypeBar ) -> Nil
  5257.  
  5258.          cTitle   : Title or legend of graphic
  5259.          aArray1  : contain a legend and an array of values for the graphic.
  5260.          aArray2  :  "
  5261.          aArray3  :  "
  5262.          aArray4  :  "
  5263.          nTypeBar : Bar Type
  5264.                       0 : Default, normal bar
  5265.                       1 : top pyramidal bar
  5266.                       2 : bottom pyramidal bar
  5267.                       3 : cylindric bar
  5268.  
  5269.     Description:
  5270.  
  5271.          It generates bar graphics in Clipper. It only works in EGA
  5272.  
  5273.                                  - Page 88 -
  5274. Norton Guide: `FAST.lib 3.15 » Reference'
  5275.  
  5276.  
  5277.          and VGA.
  5278.  
  5279.          The number of bars will be the highest size of the 4 subarrays.
  5280.          This function is made from other functions of Fast Library, so
  5281.          if you do not like it, you can make your own directly. The only
  5282.          objective is to save you some work.
  5283.  
  5284.          Fast offers the resources to rebuild this function if there is
  5285.          something in it that you would like to modify more to you liking.
  5286.          The only thing needed is some simple knowledge of Plain Geometry.
  5287.  
  5288.     Return:
  5289.  
  5290.          Nothing.
  5291.  
  5292.     Example:
  5293.  
  5294.          SetVGA ()
  5295.          GraphBar ( "GraphBar Demo", ;
  5296.                     { "HP",       { 481, 212, 212, 266, 699, 312 } }, ;
  5297.                     , ;
  5298.                     { "DEC",      { 481, 212, 212, 266, 699, 312 } }, ;
  5299.                     { "IBM",      { 281, 332, 212, 557, 499, 612 } }, ;
  5300.                     1 )
  5301.          Inkey (0)
  5302.          TxtMode ()
  5303.  
  5304. See Also: "GraphBar2()" "GraphBar3()" "GraphEllipse()" "GraphTart()" 
  5305.  
  5306.  
  5307.     GraphBar2()
  5308.  
  5309.          Another bar graph with Clipper!!
  5310.  
  5311.     Syntax:
  5312.  
  5313.          GraphBar2( cTitle, aArray, nTypeBar ) -> Nil
  5314.  
  5315.          cTitle   : Title or legend of graphic
  5316.          aArray   : A bidimensional array containing numerical values
  5317.          nTypeBar : Bar Type
  5318.                       0 : Default, normal bar
  5319.                       1 : top pyramidal bar
  5320.                       2 : bottom pyramidal bar
  5321.                       3 : cylindric bar
  5322.  
  5323.     Description:
  5324.  
  5325.          It generates a bar graph in Clipper. It only works in EGA
  5326.          and VGA.
  5327.  
  5328.          This function is made from other functions of Fast Library, so
  5329.          if you do not like it, you can make your own directly. The only
  5330.          objective is to save you some work.
  5331.  
  5332.  
  5333.                                  - Page 89 -
  5334. Norton Guide: `FAST.lib 3.15 » Reference'
  5335.  
  5336.  
  5337.          Fast offers the resources to rebuild this function if there is
  5338.          something in it that you would like to modify more to you liking.
  5339.          The only thing needed is some simple knowledge of Plain Geometry.
  5340.  
  5341.     Return:
  5342.  
  5343.          Nothing.
  5344.  
  5345.     Example:
  5346.  
  5347.          SetVGA ()
  5348.          GraphBar2( "GraphBar2 Demo", ;
  5349.                     { { 481, 212, 212, 266, 699, 312 }, ;
  5350.                       { ... }, ;
  5351.                       { 481, 212, 212, 266, 699, 312 }, ;
  5352.                       { 281, 332, 212, 557, 499, 612 }, ;
  5353.                     }, ;
  5354.                     2 )
  5355.          Inkey (0)
  5356.          TxtMode ()
  5357.  
  5358. See Also: "GraphBar()" "GraphBar3()" "GraphEllipse()" "GraphTart()" 
  5359.  
  5360.  
  5361.     GraphBar3()
  5362.  
  5363.          And another bar graph with Clipper!!
  5364.  
  5365.     Syntax:
  5366.  
  5367.          GraphBar3( cTitle, aItems, aArray, nTypeBar ) -> Nil
  5368.  
  5369.          cTitle   : Title of graphic
  5370.          aItems   : An array containing legends
  5371.          aValues  : An array containing numerical values
  5372.          nTypeBar : Bar Type
  5373.                       0 : Default, normal bar
  5374.                       1 : top pyramidal bar
  5375.                       2 : bottom pyramidal bar
  5376.                       3 : cylindric bar
  5377.  
  5378.     Description:
  5379.  
  5380.          It generates a bar graphics in Clipper. It only works in EGA
  5381.          and VGA.
  5382.  
  5383.          This function is made from other functions of Fast Library, so
  5384.          if you do not like it, you can make your own directly. The only
  5385.          objective is to save you some work.
  5386.  
  5387.          Fast offers the resources to rebuild this function if there is
  5388.          something in it that you would like to modify more to you liking.
  5389.          The only thing needed is some simple knowledge of Plain Geometry.
  5390.  
  5391.     Return:
  5392.  
  5393.                                  - Page 90 -
  5394. Norton Guide: `FAST.lib 3.15 » Reference'
  5395.  
  5396.  
  5397.  
  5398.          Nothing.
  5399.  
  5400.     Example:
  5401.  
  5402.          SetVGA ()
  5403.          GraphBar3( "GraphBar3 Demo", ;
  5404.                     { "Item1", "Item2", "Item3", "Item4" }, ;
  5405.                     {     481,     212,     212,     266 }, ;
  5406.                     3 )
  5407.          Inkey (0)
  5408.          TxtMode ()
  5409.  
  5410. See Also: "GraphBar()" "GraphBar2()" "GraphEllipse()" "GraphTart()" 
  5411.  
  5412.  
  5413.     GraphEllipse()
  5414.  
  5415.          Pie graph with Clipper!!
  5416.  
  5417.     Syntax:
  5418.  
  5419.          GraphEllipse ( nX, nY, nFocus, aArray ) -> Nil
  5420.  
  5421.          nX     : Coordinate X of the center of the ellipse
  5422.          nY     : Coordinate Y of the center of the ellipse
  5423.          nFocus : Focus A of the ellipse
  5424.          aArray : An array of values for the graphic. It allows as
  5425.                   many elements as you like.
  5426.  
  5427.     Description:
  5428.  
  5429.          It generates a pie graph in Clipper. It only works in EGA
  5430.          and VGA.
  5431.  
  5432.          This function does not have the option to place title and legends
  5433.          because, as it allows you to place the graphic in a specific
  5434.          position, it may be of interest to place this data in whichever
  5435.          place you like.
  5436.  
  5437.          It is important to realize that the graph will be painted in zones of
  5438.          different colors, always starting with color 1 in the first zone, 2
  5439.          in the second, and so on until 15. This process will be recursively
  5440.          repeated if there is more than 15 zones. This is a very important
  5441.          point in order to determine later the color of each legend in the
  5442.          graphic.  It is also important to realize that Fast offers the
  5443.          resources to rebuild this function if there is something in it that
  5444.          is not to your liking. The only thing needed is some simple
  5445.          knowledge of Plain Geometry.
  5446.  
  5447.     Return:
  5448.  
  5449.          Nothing.
  5450.  
  5451.     Example:
  5452.  
  5453.                                  - Page 91 -
  5454. Norton Guide: `FAST.lib 3.15 » Reference'
  5455.  
  5456.  
  5457.  
  5458.          SetVGA()
  5459.          cTitle := "Fast Graphic System"
  5460.          GraphEllipse( 320, 240, 100, { 17, 3, 15, 60, 15 } )
  5461.          DispStr ( cTitulo, 320 - Len ( cTitulo ) * 4, 370, 15, 0 )
  5462.          Legend ( 320, 460, 15, 4, "Fast Library" )
  5463.          Inkey (0)
  5464.          TxtMode ()
  5465.  
  5466. See Also: "Legend()" "DispStr()" "GraphBar()" "GraphBar2()" "GraphTart()" 
  5467.  
  5468.  
  5469.     GraphLine()
  5470.  
  5471.          Line graph with Clipper!!
  5472.  
  5473.     Syntax:
  5474.  
  5475.          GraphLine( cTitle, aArray ) -> Nil
  5476.  
  5477.          cTitle : Title or legend of graphic
  5478.          aArray : A bidimensional array containing numerical values
  5479.  
  5480.     Description:
  5481.  
  5482.          It generates a line graph in Clipper. It only works in EGA
  5483.          and VGA.
  5484.  
  5485.          This function is made from other functions of Fast Library, so
  5486.          if you do not like it, you can make your own directly. The only
  5487.          objective is to save you some work.
  5488.  
  5489.          Fast offers the resources to rebuild this function if there is
  5490.          something in it that you would like to modify more to you liking.
  5491.          The only thing needed is some simple knowledge of Plain Geometry.
  5492.  
  5493.     Return:
  5494.  
  5495.          Nothing.
  5496.  
  5497.     Example:
  5498.  
  5499.          SetVGA ()
  5500.          GraphLine( "GraphLine Demo", ;
  5501.                     { { 481, 212, 212, 266, 699, 312 }, ;
  5502.                       { ... }, ;
  5503.                       { 481, 212, 212, 266, 699, 312 }, ;
  5504.                       { 281, 332, 212, 557, 499, 612 }, ;
  5505.                     } )
  5506.          Inkey (0)
  5507.          TxtMode ()
  5508.  
  5509. See Also: "GraphBar()" "GraphBar2()" "GraphEllipse()" "GraphZone()" 
  5510.  
  5511.  
  5512.  
  5513.                                  - Page 92 -
  5514. Norton Guide: `FAST.lib 3.15 » Reference'
  5515.  
  5516.  
  5517.     GraphTart()
  5518.  
  5519.          Pie graph with Clipper!!
  5520.  
  5521.     Syntax:
  5522.  
  5523.          GraphTart ( nX, nY, nRadius, aArray ) -> Nil
  5524.  
  5525.          nX      : Coordinate X of the center of the circumference
  5526.          nY      : Coordinate Y of the center of the circumference
  5527.          nRadius : Radius of the circumference
  5528.          aArray  : An array of values for the graphic. It allows as
  5529.                    many elements as you like.
  5530.  
  5531.     Description:
  5532.  
  5533.          It generates a pie graph in Clipper. It only works in EGA
  5534.          and VGA.
  5535.  
  5536.          This function does not have the option to place title and legends
  5537.          because, as it allows you to place the graphic in a specific
  5538.          position, it may be of interest to place this data in whichever
  5539.          place you like.
  5540.  
  5541.          It is important to realize that the graphic will be painted in zones
  5542.          of different colors, always starting with color 1 in the first
  5543.          zone, 2 in the second, and so on until 15. This process will be
  5544.          recursively repeated if there is more than 15 zones. This is a
  5545.          very important point in order to determine later the color of
  5546.          each legend in the graphic.
  5547.  
  5548.          It is also important to realize that Fast offers the resources to
  5549.          rebuild this function if there is something in it that is not of your
  5550.          likeing. The only thing needed is some simple knowledge of Plain
  5551.          Geometry.
  5552.  
  5553.     Return:
  5554.  
  5555.          Nothing.
  5556.  
  5557.     Example:
  5558.  
  5559.          SetVGA()
  5560.          cTitulo := "Fast Graphic System"
  5561.          GraphTart ( 320, 240, 100, { 17, 3, 15, 60, 15 } )
  5562.          DispStr ( cTitulo, 320 - Len ( cTitulo ) * 4, 370, 15, 0 )
  5563.          Legend ( 320, 460, 15, 4, "Fast Library" )
  5564.          Inkey (0)
  5565.          TxtMode ()
  5566.  
  5567. See Also: "Legend()" "DispStr()" "GraphBar()" "GraphBar2()" "GraphEllipse()" 
  5568.  
  5569.  
  5570.     GraphZone()
  5571.  
  5572.  
  5573.                                  - Page 93 -
  5574. Norton Guide: `FAST.lib 3.15 » Reference'
  5575.  
  5576.  
  5577.          Zone graph with Clipper!!
  5578.  
  5579.     Syntax:
  5580.  
  5581.          GraphZone( cTitle, aArray ) -> Nil
  5582.  
  5583.          cTitle : Title or legend of graphic
  5584.          aArray : A bidimensional array containing numerical values
  5585.  
  5586.     Description:
  5587.  
  5588.          It generates a zone graph in Clipper. It only works in EGA
  5589.          and VGA.
  5590.  
  5591.          This function is made from other functions of Fast Library, so
  5592.          if you do not like it, you can make your own directly. The only
  5593.          objective is to save you some work.
  5594.  
  5595.          Fast offers the resources to rebuild this function if there is
  5596.          something in it that you would like to modify more to you liking.
  5597.          The only thing needed is some simple knowledge of Plain Geometry.
  5598.  
  5599.     Return:
  5600.  
  5601.          Nothing.
  5602.  
  5603.     Example:
  5604.  
  5605.          SetVGA ()
  5606.          GraphZone( "GraphZone Demo", ;
  5607.                     { { 481, 212, 212, 266, 699, 312 }, ;
  5608.                       { ... }, ;
  5609.                       { 481, 212, 212, 266, 699, 312 }, ;
  5610.                       { 281, 332, 212, 557, 499, 612 }, ;
  5611.                     } )
  5612.          Inkey (0)
  5613.          TxtMode ()
  5614.  
  5615. See Also: "GraphBar()" "GraphBar2()" "GraphEllipse()" "GraphLine()" 
  5616.  
  5617.  
  5618.     IsCGA()
  5619.  
  5620.          Detects if a CGA card exists
  5621.  
  5622.     Syntax:
  5623.  
  5624.          IsCGA() -> lCGA
  5625.  
  5626.     Description:
  5627.  
  5628.          Detects if a CGA card exists in the system and it returns a
  5629.          logic indicating the result.
  5630.  
  5631.     Return:
  5632.  
  5633.                                  - Page 94 -
  5634. Norton Guide: `FAST.lib 3.15 » Reference'
  5635.  
  5636.  
  5637.  
  5638.          .T. if it exists and .F. if not.
  5639.  
  5640.     Example:
  5641.  
  5642.          If IsCGA()
  5643.            ? "There's a CGA card"
  5644.          EndIf
  5645.  
  5646. See Also: "IsEGA()" "IsHerc()" "IsLCD()" "IsVGA()" 
  5647.  
  5648.  
  5649.     IsEGA()
  5650.  
  5651.          Detects if a EGA card exists
  5652.  
  5653.     Syntax:
  5654.  
  5655.          IsEGA() -> lEGA
  5656.  
  5657.     Description:
  5658.  
  5659.          Detects if a EGA card exists in the system and it returns a
  5660.          logic indicating the result.
  5661.  
  5662.     Return:
  5663.  
  5664.          .T. if it exists and .F. if not.
  5665.  
  5666.     Example:
  5667.  
  5668.          If IsEGA()
  5669.            ? "There's a EGA card"
  5670.          EndIf
  5671.  
  5672. See Also: "IsCGA()" "IsHerc()" "IsLCD()" "IsVGA()" 
  5673.  
  5674.  
  5675.     IsHerc()
  5676.  
  5677.          Detects if a Hercules card exists
  5678.  
  5679.     Syntax:
  5680.  
  5681.          IsHerc() -> lHerc
  5682.  
  5683.     Description:
  5684.  
  5685.          Detects if a Hercules card exists in the system and it returns a
  5686.          logic indicating the result.
  5687.  
  5688.     Return:
  5689.  
  5690.          .T. if it exists and .F. if not.
  5691.  
  5692.  
  5693.                                  - Page 95 -
  5694. Norton Guide: `FAST.lib 3.15 » Reference'
  5695.  
  5696.  
  5697.     Example:
  5698.  
  5699.          If IsHerc()
  5700.            ? "There's a Hercules Card"
  5701.          EndIf
  5702.  
  5703. See Also: "IsCGA()" "IsEGA()" "IsLCD()" "IsVGA()" 
  5704.  
  5705.  
  5706.     IsLCD()
  5707.  
  5708.          Detects if a LCD monitor exists
  5709.  
  5710.     Syntax:
  5711.  
  5712.          IsLCD() -> lLCD
  5713.  
  5714.     Description:
  5715.  
  5716.          Detects if a LCD monitor exists in the system and it returns a
  5717.          logic indicating the result.
  5718.  
  5719.     Return:
  5720.  
  5721.          .T. if it exists and .F. if not.
  5722.  
  5723.     Example:
  5724.  
  5725.          If IsLCD()
  5726.            ? "There's a LCD monitor"
  5727.          EndIf
  5728.  
  5729. See Also: "IsCGA()" "IsEGA()" "IsHerc()" "IsVGA()" 
  5730.  
  5731.  
  5732.     IsMono()
  5733.  
  5734.          Detects if a VGA mono card exists
  5735.  
  5736.     Syntax:
  5737.  
  5738.          IsMono() -> lVGAMono
  5739.  
  5740.     Description:
  5741.  
  5742.          Detects if a VGA mono card exists in the system and it returns a
  5743.          logic indicating the result.
  5744.  
  5745.     Return:
  5746.  
  5747.          .T. if it exists and .F. if not.
  5748.  
  5749.     Example:
  5750.  
  5751.          If IsMono()
  5752.  
  5753.                                  - Page 96 -
  5754. Norton Guide: `FAST.lib 3.15 » Reference'
  5755.  
  5756.  
  5757.            ? "There's a VGA mono card"
  5758.          EndIf
  5759.  
  5760. See Also: "IsCGA()" "IsEGA()" "IsHerc()" "IsLCD()" "IsVGA()" "IsVESA()" 
  5761.  
  5762.  
  5763.     IsVESA()
  5764.  
  5765.          Detects if the graphic system is VESA compatible
  5766.  
  5767.     Syntax:
  5768.  
  5769.          IsVESA() -> lVESA
  5770.  
  5771.     Description:
  5772.  
  5773.          It returns a logic indicating if the system is compatible with the
  5774.          standard placed by the VESA committee. If your graphic card is not
  5775.          VESA compatible contact your distributor and there probably will
  5776.          be a driver that allows to emulation VESA.
  5777.  
  5778.     Return:
  5779.  
  5780.          A logic indicating if it is compatible
  5781.  
  5782.     Example:
  5783.  
  5784.          If IsVESA()
  5785.            ? VESAVer()
  5786.          EndIf
  5787.  
  5788. See Also: "IsVGA()" "VESAMode()" "VESAOEM()" "VESAVer()" 
  5789.  
  5790.  
  5791.     IsVGA()
  5792.  
  5793.          Detects if a VGA card exists
  5794.  
  5795.     Syntax:
  5796.  
  5797.          IsVGA() -> lVGA
  5798.  
  5799.     Description:
  5800.  
  5801.          Detects if a VGA card exists in the system and it returns a
  5802.          logic indicating the result.
  5803.  
  5804.     Return:
  5805.  
  5806.          .T. if it exists and .F. if not.
  5807.  
  5808.     Example:
  5809.  
  5810.          If IsVGA()
  5811.            ? "There's a VGA card"
  5812.  
  5813.                                  - Page 97 -
  5814. Norton Guide: `FAST.lib 3.15 » Reference'
  5815.  
  5816.  
  5817.          EndIf
  5818.  
  5819. See Also: "IsCGA()" "IsEGA()" "IsHerc()" "IsLCD()" "IsMono()" "IsVESA()" 
  5820.  
  5821.  
  5822.     Legend()
  5823.  
  5824.          Draws and fills a square and optionally text
  5825.  
  5826.     Syntax:
  5827.  
  5828.          Legend ( nX, nY, nSize, nColor, cText ) -> Nil
  5829.  
  5830.          nX      : Left upper coordinate X of the square
  5831.          nY      : Left upper coordinate Y of the square
  5832.          nSize   : Size of the square
  5833.          nColor  : Color of the square
  5834.          cText   : A text associated with this color in the legend
  5835.  
  5836.     Description:
  5837.  
  5838.          This function already existed in version 1.25 of Fast, though
  5839.          it was not documented because it was used internally by GraphBar().
  5840.  
  5841.          Now, with the inclusion of GraphTart() the user is allowed to create
  5842.          the legends where and when he likes and that's why it has been
  5843.          documented.
  5844.  
  5845.     Return:
  5846.  
  5847.          Nothing.
  5848.  
  5849.     Example:
  5850.  
  5851.          SetVGA()
  5852.          cTitulo := "Fast Graphic System"
  5853.          GraphTart ( 320, 240, 100, { 17, 3, 15, 60, 15 } )
  5854.          DispStr ( cTitulo, 320 - Len ( cTitulo ) * 4, 370, 15, 0 )
  5855.          Legend ( 320, 460, 15, 4, "Fast Library" )
  5856.          Inkey (0)
  5857.          TxtMode ()
  5858.  
  5859. See Also: "DispStr()" "GraphBar()" "GraphTart()" 
  5860.  
  5861.  
  5862.     Origin()
  5863.  
  5864.          Modifies the video origin in the CRT controller
  5865.  
  5866.     Syntax:
  5867.  
  5868.          Origin( nX, nY ) -> Nil
  5869.  
  5870.          nX : Coordinate X
  5871.          nY : Coordinate Y
  5872.  
  5873.                                  - Page 98 -
  5874. Norton Guide: `FAST.lib 3.15 » Reference'
  5875.  
  5876.  
  5877.  
  5878.     Description:
  5879.  
  5880.          It accesses the CRT controller and fixes the relative position
  5881.          given as the start position of the video memory.
  5882.  
  5883.          For example, if we call to Origin( 5, 6 ) we are indicating that
  5884.          the new position in X is shifted 5 pixels and in Y is shifted 6
  5885.          pixels. With all this we will descend the image 6 lines and move
  5886.          it right 5 columns.
  5887.  
  5888.          These movements are extraordinarily fast.
  5889.  
  5890.     Return:
  5891.  
  5892.          Nothing.
  5893.  
  5894.     Example:
  5895.  
  5896.          gifShow256( "demo.gif" )
  5897.          For nInd := 0 To 200 Step 2
  5898.            Origin( 0, nInd )
  5899.          Next
  5900.  
  5901.  
  5902.     Outxy()
  5903.  
  5904.          Writes a string on the screen in all modes
  5905.  
  5906.     Syntax:
  5907.  
  5908.          Outxy( nX, nY, cString, nColor ) -> Nil
  5909.  
  5910.          nX      : Coordinate X
  5911.          nY      : Coordinate Y
  5912.          cString : The string to be written
  5913.          nColor  : The color of characters
  5914.  
  5915.     Description:
  5916.  
  5917.          It writes a string in graphic mode. The functions work in all
  5918.          CGA, Herc, EGA, VGA and SVGA modes.
  5919.  
  5920.     Return:
  5921.  
  5922.          Nothing.
  5923.  
  5924.     Example:
  5925.  
  5926.          DispStr ( 20, 10, "Write in graphic mode", 10 )
  5927.  
  5928. See Also: "DispChar()" "DispStr()" 
  5929.  
  5930.  
  5931.     GetPalette()
  5932.  
  5933.                                  - Page 99 -
  5934. Norton Guide: `FAST.lib 3.15 » Reference'
  5935.  
  5936.  
  5937.  
  5938.          Returns the actual color palette
  5939.  
  5940.     Syntax:
  5941.  
  5942.          GetPalette() -> cPalette
  5943.  
  5944.     Description:
  5945.  
  5946.          It returns a 768 bytes string with the present color palette.
  5947.  
  5948.          This function is very useful with Upgrade() and Degrade().
  5949.  
  5950.     Return:
  5951.  
  5952.          A 768 bytes string with the color palette.
  5953.  
  5954.     Example:
  5955.  
  5956.          cPalette := GetPalette()
  5957.          Degrade( cPalette )
  5958.          Upgrade( cPalette )
  5959.  
  5960. See Also: "Degrade()" "SetPalette()" "Upgrade()" 
  5961.  
  5962.  
  5963.     pcxBitsPixel()
  5964.  
  5965.          Returns the number of bits per pixel of the PCX
  5966.  
  5967.     Syntax:
  5968.  
  5969.          pcxBitsPixel ( cFile ) -> nBitsPixel
  5970.  
  5971.          cFile : Name of the PCX file
  5972.  
  5973.     Description:
  5974.  
  5975.          This function returns the number of bits per pixel of the PCX
  5976.          file if it exists and has a PCX format. Else returns Nil.
  5977.  
  5978.     Return:
  5979.  
  5980.          The number of bits per pixel or Nil if the file does not exists
  5981.          or does not have PCX format.
  5982.  
  5983.     Example:
  5984.  
  5985.          ? pcxBitsPixel ( "c:\fast\lib\fast.pcx" )
  5986.  
  5987. See Also: "pcxIsPCX()" 
  5988.  
  5989.  
  5990.     pcxIsPCX()
  5991.  
  5992.  
  5993.                                  - Page 100 -
  5994. Norton Guide: `FAST.lib 3.15 » Reference'
  5995.  
  5996.  
  5997.          Indicates if a file has PCX format or not
  5998.  
  5999.     Syntax:
  6000.  
  6001.          pcxIsPCX ( cFile ) -> lEsPCX
  6002.  
  6003.          cFile : Name of the PCX file
  6004.  
  6005.     Description:
  6006.  
  6007.          This function returns a logic indicating if the file is PCX or not.
  6008.  
  6009.          The rest of the PCX functions uses this one to determine when to
  6010.          return a value.
  6011.  
  6012.     Return:
  6013.  
  6014.          .T. if the file is a PCX or .F. if it does not have PCX format or
  6015.          does not exist.
  6016.  
  6017.     Example:
  6018.  
  6019.          ? pcxIsPCX ( "c:\fast\lib\fast.pcx" )
  6020.  
  6021.  
  6022.     pcxShow()
  6023.  
  6024.          Shows a 16 color PCX on the screen
  6025.  
  6026.     Syntax:
  6027.  
  6028.          pcxShow ( cFile, [lPalette], [nX], [nY] ) -> lError
  6029.  
  6030.          cFile    : Name of the PCX file
  6031.          lPalette : A logic indicating if we like the PCX palette or the
  6032.                     actual one of the system. If it is .T. then prevails
  6033.                     the one from the file. If it is .F. the one from the
  6034.                     system. By default is .T.
  6035.                     This option is very useful for programs like PaintBrush
  6036.                     for Windows that destroys palettes.
  6037.          nX       : Initial coordinate X where we want to see the PCX.
  6038.                     Default value is 0. It may be assigned whichever value
  6039.                     between 0 and the number of horizontal pixels of the
  6040.                     actual mode. For example, if it is VGA, between 0 and
  6041.                     639.
  6042.          nY       : Initial coordinate Y where we want to see the PCX.
  6043.                     Default value is 0. It may be assigned whichever value
  6044.                     between 0 and the number of vertical pixels of the
  6045.                     actual mode. For example, if it is VGA, between 0 and
  6046.                     479.
  6047.  
  6048.     Description:
  6049.  
  6050.          The PCX can be any size you want. Forget about the 64 kb
  6051.          limitation.
  6052.  
  6053.                                  - Page 101 -
  6054. Norton Guide: `FAST.lib 3.15 » Reference'
  6055.  
  6056.  
  6057.  
  6058.          It only works if a VGA card exists in the system.
  6059.  
  6060.          The function does not activate the video mode when entering, nor
  6061.          deactivate the video mode when leaving. Nor does it wait for a
  6062.          key. This is very useful when you want to show various PCX one
  6063.          after the other and you do not want to get text mode between one
  6064.          and the other.
  6065.  
  6066.          The PCX file can have whichever resolution you want, that is, it
  6067.          can be 20x100... Meaning there is no need to use the known
  6068.                         resolutions like 640x480 or 640x350.
  6069.  
  6070.     Return:
  6071.  
  6072.          .T. if it all has gone well or .F. if the file is not found, the
  6073.          system does not have a VGA or the PCX format is incorrect.
  6074.  
  6075.     Example:
  6076.  
  6077.          nOldMode := SetVGA()
  6078.          If pcxShow ( "c:\fast\lib\fast1.pcx", .T. 10, 10 )
  6079.            Inkey(0)
  6080.          EndIf
  6081.          VideoMode ( noldmode )
  6082.  
  6083. See Also: "pcxShow256()" 
  6084.  
  6085.  
  6086.     pcxShow256()
  6087.  
  6088.          Shows a 320x200x256 PCX on the screen
  6089.  
  6090.     Syntax:
  6091.  
  6092.          pcxShow256 ( cFile, [lPalette], [lDegrade] ) -> lError
  6093.  
  6094.          cFile    : Name of the PCX file
  6095.          lPalette : A logic indicating if we like the PCX palette or the
  6096.                     actual one of the system. If it is .T. then prevails
  6097.                     the one from the file. If it is .F. the one from the
  6098.                     system. By default is .T.
  6099.                     This option is very useful for programs like PaintBrush
  6100.                     for Windows that destroys palettes.
  6101.          lDegrade : A logic indicating if you like to fix the palette in a
  6102.                     progressive way simulating a degrade (.T.) or if we
  6103.                     want to fix it in a fast way (.F.). Default value is .F.
  6104.                     Only available when lPalette is .T.
  6105.  
  6106.     Description:
  6107.  
  6108.          The PCX can be any size you want. Forget about the 64 kb
  6109.          limitation.
  6110.  
  6111.          It only works if a VGA card exists in the system.
  6112.  
  6113.                                  - Page 102 -
  6114. Norton Guide: `FAST.lib 3.15 » Reference'
  6115.  
  6116.  
  6117.  
  6118.          The function does not wait for a key, nor restores the video
  6119.          mode, so this is left to the user's responsibility. This is
  6120.          very useful when you want to show various PCX files one after the
  6121.          other and you do not want to get text mode between one and the other.
  6122.  
  6123.     Return:
  6124.  
  6125.          .T. if it all has gone well or .F. if the file is not found, the
  6126.          system does not have a VGA or the PCX format is incorrect.
  6127.  
  6128.     Example:
  6129.  
  6130.          noldmode := SetVGA256()
  6131.          If pcxShow256 ( "c:\fast\lib\m_roibal.pcx" )
  6132.            Inkey(0)
  6133.          EndIf
  6134.          VideoMode ( noldmode )
  6135.  
  6136. See Also: "pcxShow()" 
  6137.  
  6138.  
  6139.     pcxPlanes()
  6140.  
  6141.          Returns the number of planes of the PCX
  6142.  
  6143.     Syntax:
  6144.  
  6145.          pcxPlanes ( cFile ) -> nPlanes
  6146.  
  6147.          cFile : Name of the PCX file
  6148.  
  6149.     Description:
  6150.  
  6151.          This function returns the number of planes of the PCX file if it
  6152.          exists and it has a PCX format. Else returns Nil
  6153.  
  6154.     Return:
  6155.  
  6156.          The number of planes or Nil if the file does not exist or if it is
  6157.          not a PCX
  6158.  
  6159.     Example:
  6160.  
  6161.          ? pcxPlanes ( "c:\fast\lib\fast.pcx" )
  6162.  
  6163. See Also: "pcxIsPCX()" 
  6164.  
  6165.  
  6166.     pcxPalette()
  6167.  
  6168.          Returns the color palette of the PCX
  6169.  
  6170.     Syntax:
  6171.  
  6172.  
  6173.                                  - Page 103 -
  6174. Norton Guide: `FAST.lib 3.15 » Reference'
  6175.  
  6176.  
  6177.          pcxPalette ( cFile ) -> cPalette
  6178.  
  6179.          cFile : Name of the PCX file
  6180.  
  6181.     Description:
  6182.  
  6183.          This function returns the color palette of the PCX file if it
  6184.          is of any sense. The return value has no meaning if the video card
  6185.          is monochrome.
  6186.  
  6187.     Return:
  6188.  
  6189.          A string of 48 bytes with the colors palette or Nil if the file
  6190.          does not exist or it is not a PCX.
  6191.  
  6192.     Example:
  6193.  
  6194.          cPalette := pcxPalette ( "c:\fast\lib\fast.pcx" )
  6195.  
  6196. See Also: "pcxIsPCX()" 
  6197.  
  6198.  
  6199.     pcxResH()
  6200.  
  6201.          Returns the horizontal resolution of the PCX
  6202.  
  6203.     Syntax:
  6204.  
  6205.          pcxResH ( cFile ) -> nResH
  6206.  
  6207.          cFile : Name of the PCX file
  6208.  
  6209.     Description:
  6210.  
  6211.          This function returns the horizontal resolution of the PCX file if
  6212.          it exists and has a PCX format. Else returns Nil.
  6213.  
  6214.     Return:
  6215.  
  6216.          The horizontal resolution or Nil if the file does not exist or it
  6217.          is not a PCX.
  6218.  
  6219.     Example:
  6220.  
  6221.          ? pcxResH ( "c:\fast\lib\fast.pcx" )
  6222.  
  6223. See Also: "pcxIsPCX()" "pcxResV()" 
  6224.  
  6225.  
  6226.     pcxResV()
  6227.  
  6228.          Returns the vertical resolution of the PCX
  6229.  
  6230.     Syntax:
  6231.  
  6232.  
  6233.                                  - Page 104 -
  6234. Norton Guide: `FAST.lib 3.15 » Reference'
  6235.  
  6236.  
  6237.          pcxResV ( cFile ) -> nResV
  6238.  
  6239.          cFile : Name of the PCX file
  6240.  
  6241.     Description:
  6242.  
  6243.          This function returns the vertical resolution of the PCX file if
  6244.          it exists and has a PCX format. Else returns Nil.
  6245.  
  6246.     Return:
  6247.  
  6248.          The vertical resolution or Nil if the file does not exist or it
  6249.          is not a PCX.
  6250.  
  6251.  
  6252.     Example:
  6253.  
  6254.          ? pcxResV ( "c:\fast\lib\fast.pcx" )
  6255.  
  6256. See Also: "pcxIsPCX()" "pcxResH()" 
  6257.  
  6258.  
  6259.     pcxVersion()
  6260.  
  6261.          Returns the format version of the PCX file
  6262.  
  6263.     Syntax:
  6264.  
  6265.          pcxVersion ( cFile ) -> cVersion
  6266.  
  6267.          cFile : Name of the PCX file
  6268.  
  6269.     Description:
  6270.  
  6271.          It returns the format version of the PCX file if it is known.
  6272.  
  6273.          This function allows formats from 2.5 until 3.0. The rest of
  6274.          the formats below 2.5 are compatible with this one.
  6275.  
  6276.     Return:
  6277.  
  6278.          A string with the format version of the PCX file
  6279.  
  6280.     Example:
  6281.  
  6282.          ? pcxVersion ( "c:\fast\lib\fast.pcx" )
  6283.  
  6284. See Also: "pcxIsPCX()" 
  6285.  
  6286.  
  6287.     pcxX2()
  6288.  
  6289.          Returns the initial coordinate X of the PCX
  6290.  
  6291.     Syntax:
  6292.  
  6293.                                  - Page 105 -
  6294. Norton Guide: `FAST.lib 3.15 » Reference'
  6295.  
  6296.  
  6297.  
  6298.          pcxX1 ( cFile ) -> cCoorX1
  6299.  
  6300.          cFile : Name of the PCX file
  6301.  
  6302.     Description:
  6303.  
  6304.          It returns the initial coordinate X of the PCX file, that it is
  6305.          usually 0.
  6306.  
  6307.     Return:
  6308.  
  6309.          The value of the initial coordinate X.
  6310.  
  6311.     Example:
  6312.  
  6313.          ? pcxX1 ( "c:\fast\lib\fast.pcx" )
  6314.  
  6315. See Also: "pcxIsPCX()" "pcxX2()" "pcxY1()" "pcxY2()" 
  6316.  
  6317.  
  6318.     pcxX2()
  6319.  
  6320.          Returns the final coordinate X of the PCX
  6321.  
  6322.     Syntax:
  6323.  
  6324.          pcxX2 ( cFile ) -> cCoorX2
  6325.  
  6326.          cFile : Name of the PCX file
  6327.  
  6328.     Description:
  6329.  
  6330.          It returns the final coordinate X of the PCX file. This value
  6331.          usually determines on its own the PCX width, even when the exact
  6332.          value would be like:
  6333.  
  6334.                 nWidth := pcxX2 - pcxX1 + 1
  6335.  
  6336.          But due to the pcxX1 usually takes value 0, the value pcxX2 + 1
  6337.          indicates the width by itself.
  6338.  
  6339.     Return:
  6340.  
  6341.          The value of the final coordinate X.
  6342.  
  6343.     Example:
  6344.  
  6345.          ? pcxX2 ( "c:\fast\lib\fast.pcx" )
  6346.  
  6347. See Also: "pcxIsPCX()" "pcxX1()" "pcxY1()" "pcxY2()" 
  6348.  
  6349.  
  6350.     pcxY2()
  6351.  
  6352.  
  6353.                                  - Page 106 -
  6354. Norton Guide: `FAST.lib 3.15 » Reference'
  6355.  
  6356.  
  6357.          Returns the initial coordinate Y of the PCX
  6358.  
  6359.     Syntax:
  6360.  
  6361.          pcxY1 ( cFile ) -> cCoorY1
  6362.  
  6363.          cFile : Name of the PCX file
  6364.  
  6365.     Description:
  6366.  
  6367.          It returns the initial coordinate Y of the PCX file, that it is
  6368.          usually 0.
  6369.  
  6370.     Return:
  6371.  
  6372.          The value of the initial coordinate Y.
  6373.  
  6374.     Example:
  6375.  
  6376.          ? pcxY1 ( "c:\fast\lib\fast.pcx" )
  6377.  
  6378. See Also: "pcxIsPCX()" "pcxX1()" "pcxX2()" "pcxY2()" 
  6379.  
  6380.  
  6381.     pcxY2()
  6382.  
  6383.          Returns the final coordinate Y of the PCX
  6384.  
  6385.     Syntax:
  6386.  
  6387.          pcxY2 ( cFile ) -> cCoorY2
  6388.  
  6389.          cFile : Name of the PCX file
  6390.  
  6391.     Description:
  6392.  
  6393.          It returns the final coordinate Y of the PCX file. This value
  6394.          usually determines on its own the PCX height, even when the exact
  6395.          value would be like:
  6396.  
  6397.                 nHeight := pcxY2 - pcxY1 + 1
  6398.  
  6399.          But due to the pcxY1 usually takes value 0, the value pcxY2 + 1
  6400.          indicates the height by itself.
  6401.  
  6402.     Return:
  6403.  
  6404.          The value of the final coordinate Y.
  6405.  
  6406.     Example:
  6407.  
  6408.          ? pcxY2 ( "c:\fast\lib\fast.pcx" )
  6409.  
  6410. See Also: "pcxIsPCX()" "pcxX1()" "pcxX2()" "pcxY1()" 
  6411.  
  6412.  
  6413.                                  - Page 107 -
  6414. Norton Guide: `FAST.lib 3.15 » Reference'
  6415.  
  6416.  
  6417.  
  6418.     SearchVESA()
  6419.  
  6420.          Searches the VESA mode of a gif file
  6421.  
  6422.     Syntax:
  6423.  
  6424.          SearchVESA ( cFile ) -> nMode
  6425.  
  6426.          cFile : Name of the GIF file
  6427.  
  6428.     Description:
  6429.  
  6430.          Initializes a GIF file and returns the appropriate VESA mode to
  6431.          display the image.
  6432.  
  6433.     Return:
  6434.  
  6435.          The appropriate VESA mode or Nil if cFile not exist, cFile is not
  6436.          a GIF file or the size of GIF file is unknown.
  6437.  
  6438.     Example:
  6439.  
  6440.          cFile    := "f:\xxx\car.gif"           // 1024x768x256
  6441.          ? SearchVESA( cFile )                  // VESA mode 261
  6442.  
  6443. See Also: "gifColors()" "gifShowVESA()" "gifX()" "gifY()" 
  6444.  
  6445.  
  6446.     SetEGA()
  6447.  
  6448.          Activates the 640x350 16 colors EGA mode
  6449.  
  6450.     Syntax:
  6451.  
  6452.          SetEGA() -> nOldMode
  6453.  
  6454.     Description:
  6455.  
  6456.          It turns the video mode EGA 640x350x16 colors and returns the
  6457.          last mode.
  6458.  
  6459.          This function is a special case of the generic VideoMode().
  6460.  
  6461.     Return:
  6462.  
  6463.          The last video mode.
  6464.  
  6465.     Example:
  6466.  
  6467.          SetEGA()
  6468.  
  6469. See Also: "VideoMode()" "SetVGA()" "TxtMode()" 
  6470.  
  6471.  
  6472.  
  6473.                                  - Page 108 -
  6474. Norton Guide: `FAST.lib 3.15 » Reference'
  6475.  
  6476.  
  6477.     SetPalette()
  6478.  
  6479.          Sets the actual color palette
  6480.  
  6481.     Syntax:
  6482.  
  6483.          SetPalette( cPalette ) -> Nil
  6484.  
  6485.          cPalette : a string with the new color palette
  6486.  
  6487.     Description:
  6488.  
  6489.          Sets the actual color palette.
  6490.  
  6491.     Return:
  6492.  
  6493.          Nothing.
  6494.  
  6495.     Example:
  6496.  
  6497.          SetPalette( cNewPalette )
  6498.  
  6499. See Also: "Degrade()" "GetPalette()" "Upgrade()" 
  6500.  
  6501.  
  6502.     SetPixel()
  6503.  
  6504.          Draws a point in graphic mode
  6505.  
  6506.     Syntax:
  6507.  
  6508.          SetPixel( nCol, nRow, nColor ) -> Nil
  6509.  
  6510.          nCol    : The column where to place the point.
  6511.          nRow    : The row where to place the point.
  6512.          nColor  : The color. It must be a numeric value.
  6513.  
  6514.     Description:
  6515.  
  6516.          It draws a point on the screen at the coordinates and colors
  6517.          specified.
  6518.  
  6519.     Return:
  6520.  
  6521.          Nothing.
  6522.  
  6523.     Example:
  6524.  
  6525.          nMode := SetVGA()
  6526.          SetPixel ( 330, 240, 2 )
  6527.          Inkey(0)
  6528.          TxtMode()
  6529.  
  6530. See Also: "GetPixel()" 
  6531.  
  6532.  
  6533.                                  - Page 109 -
  6534. Norton Guide: `FAST.lib 3.15 » Reference'
  6535.  
  6536.  
  6537.  
  6538.     SetVGA()
  6539.  
  6540.          Activates the 640x480 16 colors VGA mode
  6541.  
  6542.     Syntax:
  6543.  
  6544.          SetVGA() -> nOldMode
  6545.  
  6546.     Description:
  6547.  
  6548.          It turns the video mode VGA 640x480x16 colors and returns the
  6549.          last mode.
  6550.  
  6551.          This function is a special case of the generic VideoMode().
  6552.  
  6553.     Return:
  6554.  
  6555.          The last video mode.
  6556.  
  6557.     Example:
  6558.  
  6559.          SetVGA()
  6560.  
  6561. See Also: "SetEGA()" "VideoMode()" "TxtMode()" 
  6562.  
  6563.  
  6564.     SetVGA256()
  6565.  
  6566.          Activates the 320x200 256 colors VGA mode
  6567.  
  6568.     Syntax:
  6569.  
  6570.          SetVGA256() -> nOldMode
  6571.  
  6572.     Description:
  6573.  
  6574.          It turns the video mode VGA 320x200x256 colors and returns the
  6575.          last mode.
  6576.  
  6577.          This function is a special case of the generic VideoMode().
  6578.  
  6579.     Return:
  6580.  
  6581.          The last video mode.
  6582.  
  6583.     Example:
  6584.  
  6585.          SetVGA256()
  6586.  
  6587. See Also: "SetEGA()" "VideoMode()" "SetVGA()" "TxtMode()" 
  6588.  
  6589.  
  6590.     SetVGA()
  6591.  
  6592.  
  6593.                                  - Page 110 -
  6594. Norton Guide: `FAST.lib 3.15 » Reference'
  6595.  
  6596.  
  6597.          Activates the 80x25 text mode
  6598.  
  6599.     Syntax:
  6600.  
  6601.          TxtMode() -> nOldMode
  6602.  
  6603.     Description:
  6604.  
  6605.          It turns the 80x25 text video mode and returns the last mode.
  6606.  
  6607.          This function is a special case of the generic VideoMode().
  6608.  
  6609.     Return:
  6610.  
  6611.          The last video mode.
  6612.  
  6613.     Example:
  6614.  
  6615.          TxtMode()
  6616.  
  6617. See Also: "SetEGA()" "VideoMode()" "SetVGA()" 
  6618.  
  6619.  
  6620.     Upgrade()
  6621.  
  6622.          Makes a progressive restore of the palette
  6623.  
  6624.     Syntax:
  6625.  
  6626.          Upgrade( cPalette ) -> Nil
  6627.  
  6628.          cPalette : A string of 768 bytes with the actual palette or with
  6629.                     the one wanted to be taken as reference for the upgrade.
  6630.  
  6631.     Description:
  6632.  
  6633.          This function works in synchronism with the CRT controller so that
  6634.          the degrade can offer a vision of soft and progressive change.
  6635.  
  6636.     Return:
  6637.  
  6638.          Nothing.
  6639.  
  6640.     Example:
  6641.  
  6642.          cPalette := GetPalette()
  6643.          Degrade( cPalette )
  6644.          Upgrade( cPalette )
  6645.  
  6646. See Also: "Degrade()" "GetPalette()" 
  6647.  
  6648.  
  6649.     VESAMode()
  6650.  
  6651.          Activates a VESA video mode
  6652.  
  6653.                                  - Page 111 -
  6654. Norton Guide: `FAST.lib 3.15 » Reference'
  6655.  
  6656.  
  6657.  
  6658.     Syntax:
  6659.  
  6660.          VESAMode( [nMode] ) -> nOldMode
  6661.  
  6662.          nMode : The VESA video mode to make active from the table:
  6663.  
  6664.            VESA 1.0
  6665.  
  6666.               0-255   ->   OEM video modes, CGA, EGA, VGA...
  6667.                 256   ->   640 x  400 x 256 colors Graph
  6668.                 257   ->   640 x  480 x 256 colors Graph
  6669.                 258   ->   800 x  600 x  16 colors Graph
  6670.                 259   ->   800 x  600 x 256 colors Graph
  6671.                 260   ->  1024 x  768 x  16 colors Graph
  6672.                 261   ->  1024 x  768 x 256 colors Graph
  6673.                 262   ->  1280 x 1024 x  16 colors Graph
  6674.                 263   ->  1280 x 1024 x 256 colors Graph
  6675.                 264   ->    80 x   60 x  16 colors Text
  6676.                 265   ->   132 x   25 x  16 colors Text
  6677.                 266   ->   132 x   43 x  16 colors Text
  6678.                 267   ->   132 x   50 x  16 colors Text
  6679.                 268   ->   132 x   60 x  16 colors Text
  6680.  
  6681.            VESA 1.2
  6682.  
  6683.                 269   ->   320 x  200 x 32k colors Graph
  6684.                 270   ->   320 x  200 x 64k colors Graph
  6685.                 271   ->   320 x  200 x 16M colors Graph
  6686.                 272   ->   640 x  480 x 32k colors Graph
  6687.                 273   ->   640 x  480 x 64k colors Graph
  6688.                 274   ->   640 x  480 x 16M colors Graph
  6689.                 275   ->   800 x  600 x 32k colors Graph
  6690.                 276   ->   800 x  600 x 64k colors Graph
  6691.                 277   ->   800 x  600 x 16M colors Graph
  6692.                 278   ->  1024 x  768 x 32k colors Graph
  6693.                 279   ->  1024 x  768 x 64k colors Graph
  6694.                 280   ->  1024 x  768 x 16M colors Graph
  6695.                 281   ->  1280 x 1024 x 32k colors Graph
  6696.                 282   ->  1280 x 1024 x 64k colors Graph
  6697.                 283   ->  1280 x 1024 x 16M colors Graph
  6698.  
  6699.     Description:
  6700.  
  6701.          It activates a video mode via VESA driver. The advantage of using
  6702.          this driver is that you can forget about programming different SVGA
  6703.          cards as the VESA driver will make them all behave in the same way.
  6704.  
  6705.          The driver exists on most BBS < Universal VESA > that can be
  6706.          installed over a great number of chip sets. Nevertheless, It is
  6707.          recommended to use the specific VESA drivers for each card as these
  6708.          ones are more optimized.
  6709.  
  6710.     Return:
  6711.  
  6712.  
  6713.                                  - Page 112 -
  6714. Norton Guide: `FAST.lib 3.15 » Reference'
  6715.  
  6716.  
  6717.          The last video mode.
  6718.  
  6719.     Example:
  6720.  
  6721.          ? VESAMode( 257 )  // activate mi SVGA a 640x480x256 colors
  6722.  
  6723. See Also: "IsVESA()" "VESAOEM()" "VESAVer()" 
  6724.  
  6725.  
  6726.     VESAOEM()
  6727.  
  6728.          Returns the OEM of the VESA driver
  6729.  
  6730.     Syntax:
  6731.  
  6732.          VESAOEM() -> cOEM
  6733.  
  6734.     Description:
  6735.  
  6736.          It returns a string with the OEM or builder of the VESA driver.
  6737.  
  6738.     Return:
  6739.  
  6740.          A string with the name of the builder.
  6741.  
  6742.     Example:
  6743.  
  6744.          ? VESAOEM()
  6745.  
  6746. See Also: "IsVESA()" "VESAMode()" "VESAVer()" 
  6747.  
  6748.  
  6749.     VESAVer()
  6750.  
  6751.          Returns the VESA driver version
  6752.  
  6753.     Syntax:
  6754.  
  6755.          VESAVer() -> cVersion
  6756.  
  6757.     Description:
  6758.  
  6759.          It returns a 5 character string with the VESA driver version, no
  6760.          matter if the driver is soft made or it is included in the video
  6761.          card.
  6762.  
  6763.     Return:
  6764.  
  6765.          A string like xx.xx with the driver version.
  6766.  
  6767.     Example:
  6768.  
  6769.          If IsVESA()
  6770.            ? VESAVer()
  6771.          EndIf
  6772.  
  6773.                                  - Page 113 -
  6774. Norton Guide: `FAST.lib 3.15 » Reference'
  6775.  
  6776.  
  6777.  
  6778. See Also: "IsVESA()" "VESAMode()" "VESAOEM()" 
  6779.  
  6780.  
  6781.     VideoMode()
  6782.  
  6783.          Returns and/or changes the video mode
  6784.  
  6785.     Syntax:
  6786.  
  6787.          VideoMode( nNewMode ) -> nOldMode
  6788.  
  6789.          nNewMode : The new video mode.
  6790.                     01 -> 40x25
  6791.                     03 -> 80x25
  6792.                     15 -> EGA 640x350 Mono
  6793.                     16 -> EGA 640x350 Color
  6794.                     17 -> VGA 640x480 Mono
  6795.                     18 -> VGA 640x480 Color
  6796.                     ...
  6797.  
  6798.     Description:
  6799.  
  6800.          It returns the active video mode and optionally changes it if
  6801.          nNewMode is specified. For getting more information about the
  6802.          video modes consult the interrupts list of Half Brown which is
  6803.          available in almost all BBS.
  6804.  
  6805.     Return:
  6806.  
  6807.          The active video mode.
  6808.  
  6809.     Example:
  6810.  
  6811.          nOld := VideoMode ( 18 )
  6812.          DispStr ( "Hello", 10, 10, 7, 12 )
  6813.          Inkey(0)
  6814.          VideoMode ( nOld )
  6815.  
  6816.  
  6817.  
  6818.  
  6819.  
  6820.  
  6821.  
  6822.  
  6823.  
  6824.  
  6825.  
  6826.  
  6827.  
  6828.  
  6829.  
  6830.  
  6831.  
  6832.                                  - Page 114 -
  6833. Norton Guide: `FAST.lib 3.15 » Reference'
  6834.  
  6835.  
  6836. Menu List: FAST.lib 1, Keyboard
  6837.  
  6838.  
  6839.  
  6840.  
  6841.     These functions are to centralize all of the accesses of the keyboard in
  6842.  Clipper.
  6843.  
  6844.  ──────────────────────────────────────────────────────────────────────────────
  6845.  
  6846.  
  6847.     ClrBuffer()
  6848.  
  6849.          Empties the keyboard buffer and Lastkey() value
  6850.  
  6851.     Syntax:
  6852.  
  6853.          ClrBuffer() -> Nil
  6854.  
  6855.     Description:
  6856.  
  6857.          ClrBuffer() is a keyboard function that clears all pending keys
  6858.          from the Clipper keyboard buffer and Lastkey() value.
  6859.  
  6860.     Return:
  6861.  
  6862.          Nothing.
  6863.  
  6864.     Example:
  6865.  
  6866.          ClrBuffer()
  6867.  
  6868. See Also: "Inkey2()" "SetLastKey()" 
  6869.  
  6870.  
  6871.     FastKey()
  6872.  
  6873.          Sets the maximum typematic rate
  6874.  
  6875.     Syntax:
  6876.  
  6877.          FastKey() -> Nil
  6878.  
  6879.     Description:
  6880.  
  6881.          Sets the minimum typematic interval time and auto-repeat start
  6882.          delay time.
  6883.  
  6884.     Return:
  6885.  
  6886.          Nothing.
  6887.  
  6888.     Example:
  6889.  
  6890.          FastKey()
  6891.  
  6892.                                  - Page 115 -
  6893. Norton Guide: `FAST.lib 3.15 » Reference'
  6894.  
  6895.  
  6896.  
  6897. See Also: "NormKey()" "SlowKey()" 
  6898.  
  6899.  
  6900.     Inkey2()
  6901.  
  6902.          Does the same as Inkey() but takes care of Setkey()
  6903.  
  6904.     Syntax:
  6905.  
  6906.          Inkey2( nSeconds ) -> Nil
  6907.  
  6908.     Description:
  6909.  
  6910.          The working of this function is exactly the same as the
  6911.          standard Inkey() of Clipper.lib library but takes care of
  6912.          the SetKey() defined on the system.
  6913.  
  6914.     Return:
  6915.  
  6916.          The same as InKey()
  6917.  
  6918.     Example:
  6919.  
  6920.          InKey2( 0 )
  6921.  
  6922. See Also: "ClrBuffer()" 
  6923.  
  6924.  
  6925.     IsAlt()
  6926.  
  6927.          Determines if the Alt key is pressed
  6928.  
  6929.     Syntax:
  6930.  
  6931.          IsAlt() -> lPress
  6932.  
  6933.     Description:
  6934.  
  6935.          Determines if the Alt key is pressed returning a logic value.
  6936.  
  6937.     Return:
  6938.  
  6939.          A logic value indicating if is pressed or not.
  6940.  
  6941.     Example:
  6942.  
  6943.          If IsAlt()
  6944.            Warning ( "Alt is down" )
  6945.          EndIf
  6946.  
  6947. See Also: "IsCtrl()" "IsLShift()" "IsRShift()" 
  6948.  
  6949.  
  6950.     IsCaps()
  6951.  
  6952.                                  - Page 116 -
  6953. Norton Guide: `FAST.lib 3.15 » Reference'
  6954.  
  6955.  
  6956.  
  6957.          Determines if the Caps lock key is active
  6958.  
  6959.     Syntax:
  6960.  
  6961.          IsCaps( [ lNew ] ) -> lActive
  6962.  
  6963.          lNew : a logic value with the new state of Caps lock key
  6964.  
  6965.     Description:
  6966.  
  6967.          Determines if the Caps lock key is active returning a logic value.
  6968.  
  6969.     Return:
  6970.  
  6971.          A logic value indicating if is active or not.
  6972.  
  6973.     Example:
  6974.  
  6975.          If IsCaps()
  6976.            Warning ( "Capslock is on" )
  6977.          EndIf
  6978.  
  6979. See Also: "IsInsert()" "IsNum()" "IsScroll()" 
  6980.  
  6981.  
  6982.     IsCtrl()
  6983.  
  6984.          Determines if the Ctrl key is pressed
  6985.  
  6986.     Syntax:
  6987.  
  6988.          IsCtrl() -> lPress
  6989.  
  6990.     Description:
  6991.  
  6992.          Determines if the Ctrl key is pressed returning a logic value.
  6993.  
  6994.     Return:
  6995.  
  6996.          A logic value indicating if is pressed or not.
  6997.  
  6998.     Example:
  6999.  
  7000.          If IsCtrl()
  7001.            Warning ( "Ctrl is down" )
  7002.          EndIf
  7003.  
  7004. See Also: "IsAlt()" "IsLShift()" "IsRShift()" 
  7005.  
  7006.  
  7007.     IsInsert()
  7008.  
  7009.          Determines if Insert mode is active
  7010.  
  7011.  
  7012.                                  - Page 117 -
  7013. Norton Guide: `FAST.lib 3.15 » Reference'
  7014.  
  7015.  
  7016.     Syntax:
  7017.  
  7018.          IsInsert( [ lNew ] ) -> lActive
  7019.  
  7020.          lNew : a logic value with the new mode of Insert key
  7021.  
  7022.     Description:
  7023.  
  7024.          Determines if the Ctrl key is active returning a logic value.
  7025.  
  7026.     Return:
  7027.  
  7028.          A logic value indicating if is active or not.
  7029.  
  7030.     Example:
  7031.  
  7032.          If ! IsInsert()
  7033.            Warning ( "Insert is on" )
  7034.          EndIf
  7035.  
  7036. See Also: "IsCaps()" "IsNum()" "IsScroll()" 
  7037.  
  7038.  
  7039.     IsLShift()
  7040.  
  7041.          Determines if the Left Shift key is pressed
  7042.  
  7043.     Syntax:
  7044.  
  7045.          IsLShift() -> lPress
  7046.  
  7047.     Description:
  7048.  
  7049.          Determines if the Left Shift key is pressed returning a logic
  7050.          value.
  7051.  
  7052.     Return:
  7053.  
  7054.          A logic value indicating if is pressed or not.
  7055.  
  7056.     Example:
  7057.  
  7058.          If IsLShift()
  7059.            Warning ( "Left Shift is down" )
  7060.          EndIf
  7061.  
  7062. See Also: "IsAlt()" "IsCtrl()" "IsRShift()" 
  7063.  
  7064.  
  7065.     IsNum()
  7066.  
  7067.          Determines if the Num lock key is active
  7068.  
  7069.     Syntax:
  7070.  
  7071.  
  7072.                                  - Page 118 -
  7073. Norton Guide: `FAST.lib 3.15 » Reference'
  7074.  
  7075.  
  7076.          IsNum( [ lNew ] ) -> lActive
  7077.  
  7078.          lNew : a logic value with the new state of Num lock key
  7079.  
  7080.     Description:
  7081.  
  7082.          Determines if the Num lock key is active returning a logic value.
  7083.  
  7084.     Return:
  7085.  
  7086.          A logic value indicating if is active or not.
  7087.  
  7088.     Example:
  7089.  
  7090.          If IsNum()
  7091.            Warning ( "Numeric pad is active" )
  7092.          EndIf
  7093.  
  7094. See Also: "IsCaps()" "IsInsert()" "IsScroll()" 
  7095.  
  7096.  
  7097.     IsRShift()
  7098.  
  7099.          Determines if the Right Shift key is pressed
  7100.  
  7101.     Syntax:
  7102.  
  7103.          IsRShift() -> lPress
  7104.  
  7105.     Description:
  7106.  
  7107.          Determines if the Right Shift key is pressed returning a logic
  7108.          value.
  7109.  
  7110.     Return:
  7111.  
  7112.          A logic value indicating if is pressed or not.
  7113.  
  7114.     Example:
  7115.  
  7116.          If IsRShift()
  7117.            Warning ( "Right shift is down" )
  7118.          EndIf
  7119.  
  7120. See Also: "IsAlt()" "IsCtrl()" "IsLShift()" 
  7121.  
  7122.  
  7123.     IsScroll()
  7124.  
  7125.          Determines if the Scroll lock key is active
  7126.  
  7127.     Syntax:
  7128.  
  7129.          IsScroll( [ lNew ] ) -> lActive
  7130.  
  7131.  
  7132.                                  - Page 119 -
  7133. Norton Guide: `FAST.lib 3.15 » Reference'
  7134.  
  7135.  
  7136.          lNew : a logic value with the new state of Scroll lock key
  7137.  
  7138.     Description:
  7139.  
  7140.          Determines if the Scroll lock key is active returning a logic
  7141.          value.
  7142.  
  7143.     Return:
  7144.  
  7145.          A logic value indicating if is active or not.
  7146.  
  7147.     Example:
  7148.  
  7149.          If IsScroll()
  7150.            Warning ( "Scroll lock is active" )
  7151.          EndIf
  7152.  
  7153. See Also: "IsCaps()" "IsInsert()" "IsNum()" 
  7154.  
  7155.  
  7156.     KeyScan()
  7157.  
  7158.          Extracts a character from the keyboard buffer
  7159.  
  7160.     Syntax:
  7161.  
  7162.          KeyScan() -> nKey
  7163.  
  7164.     Description:
  7165.  
  7166.          Extracts a character from the keyboard buffer or halts the program
  7167.          until a key is pressed.
  7168.  
  7169.          KeyScan() returns an integer value identifying the key extracted
  7170.          from the keyboard buffer.
  7171.  
  7172.                 nkey % 256 = ascii code   (0 in function keys)
  7173.                 nKey / 256 = scan code
  7174.  
  7175.     Return:
  7176.  
  7177.          The key pressed.
  7178.  
  7179.     Example:
  7180.  
  7181.          nKey := KeyScan()
  7182.          ? nKey / 256
  7183.          ? nKey % 256
  7184.  
  7185. See Also: "KeyStuff()" 
  7186.  
  7187.  
  7188.     KeyStuff()
  7189.  
  7190.          Stuffs a character into the keyboard buffer
  7191.  
  7192.                                  - Page 120 -
  7193. Norton Guide: `FAST.lib 3.15 » Reference'
  7194.  
  7195.  
  7196.  
  7197.     Syntax:
  7198.  
  7199.          KeyStuff( nAscii, nCod ) -> Nil
  7200.  
  7201.     Description:
  7202.  
  7203.          Stuffs a character into the keyboard buffer without clearing pending
  7204.          keystrokes.  Allows function keys. It must input the ascii code of
  7205.          the key or the scan code.  The function keys have the ascii code at 0
  7206.          and indicate this value on the scan code.  The normal keys (not
  7207.          function) indicatet his value on the ascii code and this scan code is
  7208.          at 0.
  7209.  
  7210.     Return:
  7211.  
  7212.          Nothing.
  7213.  
  7214.     Example:
  7215.  
  7216.          nKey := KeyScan()
  7217.          KeyStuff ( nKey % 256, nKey / 256 )
  7218.  
  7219. See Also: "KeyScan()" 
  7220.  
  7221.  
  7222.     NormKey()
  7223.  
  7224.          Sets the normal typematic rate
  7225.  
  7226.     Syntax:
  7227.  
  7228.          NormKey() -> Nil
  7229.  
  7230.     Description:
  7231.  
  7232.          Sets the normal typematic interval time and auto-repeat start
  7233.          delay time.
  7234.  
  7235.     Return:
  7236.  
  7237.          Nothing.
  7238.  
  7239.     Example:
  7240.  
  7241.          NormKey()
  7242.  
  7243. See Also: "FastKey()" "SlowKey()" 
  7244.  
  7245.  
  7246.     SetLastKey()
  7247.  
  7248.          Sets the LastKey() value
  7249.  
  7250.     Syntax:
  7251.  
  7252.                                  - Page 121 -
  7253. Norton Guide: `FAST.lib 3.15 » Reference'
  7254.  
  7255.  
  7256.  
  7257.          SetLastKey( nKey ) -> Nil
  7258.  
  7259.     Description:
  7260.  
  7261.          SetLastKey() is a keyboard function that clears all pending keys
  7262.          from the Clipper keyboard buffer and sets the LastKey() value.
  7263.  
  7264.     Return:
  7265.  
  7266.          Nothing.
  7267.  
  7268.     Example:
  7269.  
  7270.          #include "inkey.ch"
  7271.  
  7272.          SetLastKey( K_ESC )
  7273.  
  7274. See Also: "ClrBuffer()" 
  7275.  
  7276.  
  7277.     SlowKey()
  7278.  
  7279.          Sets the minimum typematic rate
  7280.  
  7281.     Syntax:
  7282.  
  7283.          SlowKey() -> Nil
  7284.  
  7285.     Description:
  7286.  
  7287.          Sets the maximum typematic interval time and auto-repeat start
  7288.          delay time.
  7289.  
  7290.     Return:
  7291.  
  7292.          Nothing.
  7293.  
  7294.     Example:
  7295.  
  7296.          SlowKey()
  7297.  
  7298. See Also: "FastKey()" "NormKey()" 
  7299.  
  7300.  
  7301.  
  7302.  
  7303.  
  7304.  
  7305.  
  7306.  
  7307.  
  7308.  
  7309.  
  7310.  
  7311.                                  - Page 122 -
  7312. Norton Guide: `FAST.lib 3.15 » Reference'
  7313.  
  7314.  
  7315. Menu List: FAST.lib 1, LAN and Multitaskers
  7316.  
  7317.  
  7318.  
  7319.  
  7320.     Here you have a few functions available to make your work with Novell,
  7321.   Windows and DesqView be less boring.
  7322.  
  7323.  ──────────────────────────────────────────────────────────────────────────────
  7324.  
  7325.  
  7326.     DesqVer()
  7327.  
  7328.          Returns DesqView version
  7329.  
  7330.     Syntax:
  7331.  
  7332.          DesqVer() -> cVersion
  7333.  
  7334.     Description:
  7335.  
  7336.          Returns DesqView version or an empty string if DesqView is not
  7337.          running.
  7338.  
  7339.     Return:
  7340.  
  7341.          A character value with DesqView version or an empty string if
  7342.          Desqview is not running.
  7343.  
  7344.     Example:
  7345.  
  7346.          If IsDesqView()
  7347.            Warning( "DesqView Version: " + DesqVer() )
  7348.          EndIf
  7349.  
  7350. See Also: "IsDesqView()" 
  7351.  
  7352.  
  7353.     IsDesqView()
  7354.  
  7355.          Desqview installation check
  7356.  
  7357.     Syntax:
  7358.  
  7359.          IsDesqView() -> lLoaded
  7360.  
  7361.     Description:
  7362.  
  7363.          Determines if DesqView is installed.
  7364.  
  7365.     Return:
  7366.  
  7367.          A logic value.
  7368.  
  7369.     Example:
  7370.  
  7371.                                  - Page 123 -
  7372. Norton Guide: `FAST.lib 3.15 » Reference'
  7373.  
  7374.  
  7375.  
  7376.          If IsDesqView()
  7377.            Warning( "Desqview is present" )
  7378.          EndIf
  7379.  
  7380. See Also: "IsWin3()" "IsLANtastic()" "IsMSLAN()" "IsNovell()" 
  7381.  
  7382.  
  7383.     IsLANtastic()
  7384.  
  7385.          LANtastic installation check
  7386.  
  7387.     Syntax:
  7388.  
  7389.          IsLANtastic() -> lLAN
  7390.  
  7391.     Description:
  7392.  
  7393.          Determines if LANtastic is installed.
  7394.  
  7395.     Return:
  7396.  
  7397.          A logic value.
  7398.  
  7399.     Example:
  7400.  
  7401.          If IsLANtastic()
  7402.            Warning ( "LANTastic is present" )
  7403.          EndIf
  7404.  
  7405. See Also: "IsDesqView()" "IsMSLAN()" "IsNovell()" "IsWin3()" 
  7406.  
  7407.  
  7408.     IsMSLAN()
  7409.  
  7410.          MS LAN installation check
  7411.  
  7412.     Syntax:
  7413.  
  7414.          IsMSLAN() -> lMSLAN
  7415.  
  7416.     Description:
  7417.  
  7418.          Determines if a MS LAN is installed.
  7419.  
  7420.     Return:
  7421.  
  7422.          A logic value.
  7423.  
  7424.     Example:
  7425.  
  7426.          If IsMSLAN()
  7427.            Warning ( "MS LAN is present. Hello Bill." )
  7428.          EndIf
  7429.  
  7430.  
  7431.                                  - Page 124 -
  7432. Norton Guide: `FAST.lib 3.15 » Reference'
  7433.  
  7434.  
  7435. See Also: "IsDesqView()" "IsLANtastic()" "IsNovell()" "IsWin3()" 
  7436.  
  7437.  
  7438.     IsNovell()
  7439.  
  7440.          Novell installation check
  7441.  
  7442.     Syntax:
  7443.  
  7444.          IsNovell() -> lNovell
  7445.  
  7446.     Description:
  7447.  
  7448.          Determines if Novell Netware is installed.
  7449.  
  7450.     Return:
  7451.  
  7452.          A logic value.
  7453.  
  7454.     Example:
  7455.  
  7456.          If ! IsNovell()
  7457.            Warning ( "Netware, better" )
  7458.          EndIf
  7459.  
  7460. See Also: "IsDesqView()" "IsLANtastic()" "IsMSLAN()" "IsWin3()" 
  7461.  
  7462.  
  7463.     IsWin3()
  7464.  
  7465.          Windows 3 installation check
  7466.  
  7467.     Syntax:
  7468.  
  7469.          IsWin3() -> lWin
  7470.  
  7471.     Description:
  7472.  
  7473.          Determines if Windows 3 is installed.
  7474.  
  7475.     Return:
  7476.  
  7477.          A logic value.
  7478.  
  7479.     Example:
  7480.  
  7481.          If IsWin3()
  7482.            Warning ( "Close the window" )
  7483.          EndIf
  7484.  
  7485. See Also: "IsDesqView()" "IsLANtastic()" "IsMSLAN()" "IsNovell()" 
  7486.  
  7487.  
  7488.     nwAbortCap()
  7489.  
  7490.  
  7491.                                  - Page 125 -
  7492. Norton Guide: `FAST.lib 3.15 » Reference'
  7493.  
  7494.  
  7495.          Novell Netware, cancels LPT capture
  7496.  
  7497.     Syntax:
  7498.  
  7499.          nwAbortCap( nPort ) -> nError
  7500.  
  7501.          nPort : LPT port. 0 = LPT1, 1 = LPT2, 2 = LPT3
  7502.  
  7503.     Description:
  7504.  
  7505.          Cancels remote printer capture and aborts pending works.
  7506.  
  7507.     Return:
  7508.  
  7509.          A numeric value indicating an error or zero if there is no error.
  7510.  
  7511.     Example:
  7512.  
  7513.          If nwAbortCap() == 0
  7514.            Warning ( "Captured ok" )
  7515.          EndIf
  7516.  
  7517. See Also: "nwBeginCap()" "nwEndCap()" "nwFlushCap()" 
  7518.  
  7519.  
  7520.     nwBeginCap()
  7521.  
  7522.          Novell Netware, starts LPT capture
  7523.  
  7524.     Syntax:
  7525.  
  7526.          nwBeginCap( nPort ) -> nError
  7527.  
  7528.          nPort : LPT port. 0 = LPT1, 1 = LPT2, 2 = LPT3
  7529.  
  7530.     Description:
  7531.  
  7532.          Begins capture to a remote printer.
  7533.  
  7534.     Return:
  7535.  
  7536.          A numeric value indicating an error or zero if there is no error.
  7537.  
  7538.     Example:
  7539.  
  7540.          If nwBeginCap() == 0
  7541.            Warning ( "Captured ok" )
  7542.          EndIf
  7543.  
  7544. See Also: "nwAbortCap()" "nwEndCap()" "nwFlushCap()" 
  7545.  
  7546.  
  7547.     nwEndCap()
  7548.  
  7549.          Novell Netware, ends LPT capture
  7550.  
  7551.                                  - Page 126 -
  7552. Norton Guide: `FAST.lib 3.15 » Reference'
  7553.  
  7554.  
  7555.  
  7556.     Syntax:
  7557.  
  7558.          nwEndCap( nPort ) -> nError
  7559.  
  7560.          nPort : LPT port. 0 = LPT1, 1 = LPT2, 2 = LPT3
  7561.  
  7562.     Description:
  7563.  
  7564.          Ends remote printer capture and aborts pending works.
  7565.  
  7566.     Return:
  7567.  
  7568.          A numeric value indicating an error or zero if there is no error.
  7569.  
  7570.     Example:
  7571.  
  7572.          If nwEndCap() == 0
  7573.            Warning ( "Captured ok" )
  7574.          EndIf
  7575.  
  7576. See Also: "nwAbortCap()" "nwBeginCap()" "nwFlushCap()" 
  7577.  
  7578.  
  7579.     nwFlushCap()
  7580.  
  7581.          Novell Netware, refreshes LPT capture
  7582.  
  7583.     Syntax:
  7584.  
  7585.          nwFlushCap( nPort ) -> nError
  7586.  
  7587.          nPort : LPT port. 0 = LPT1, 1 = LPT2, 2 = LPT3
  7588.  
  7589.     Description:
  7590.  
  7591.          Refreshes data printer queue information.
  7592.  
  7593.     Return:
  7594.  
  7595.          A numeric value indicating an error or zero if there is no error.
  7596.  
  7597.     Example:
  7598.  
  7599.          If nwFlushCap() == 0
  7600.            ...
  7601.          EndIf
  7602.  
  7603. See Also: "nwAbortCap()" "nwBeginCap()" "nwEndCap()" 
  7604.  
  7605.  
  7606.     nwLogout()
  7607.  
  7608.          Novell Netware, system logout
  7609.  
  7610.  
  7611.                                  - Page 127 -
  7612. Norton Guide: `FAST.lib 3.15 » Reference'
  7613.  
  7614.  
  7615.     Syntax:
  7616.  
  7617.          nwLogout() -> nError
  7618.  
  7619.     Description:
  7620.  
  7621.          Says goodbye to Novell ending all pending works and services.
  7622.  
  7623.     Return:
  7624.  
  7625.          A numeric value indicating an error or zero if there is no error.
  7626.  
  7627.     Example:
  7628.  
  7629.          If nwLogout() == 0
  7630.            Warning ( "Good bye." )
  7631.          EndIf
  7632.  
  7633. See Also: "nwStation()" 
  7634.  
  7635.  
  7636.     nwStation()
  7637.  
  7638.          Novell Netware, gets station number
  7639.  
  7640.     Syntax:
  7641.  
  7642.          nwStation() -> nConnect
  7643.  
  7644.     Description:
  7645.  
  7646.          Returns station number connection.
  7647.  
  7648.     Return:
  7649.  
  7650.          A numeric value indicating the station number connection.
  7651.  
  7652.     Example:
  7653.  
  7654.          ? Str( nwStation() )
  7655.  
  7656. See Also: "nwLogout()" 
  7657.  
  7658.  
  7659.     WinVersion()
  7660.  
  7661.          Returns MS-Windows version
  7662.  
  7663.     Syntax:
  7664.  
  7665.          WinVersion() -> cVersion
  7666.  
  7667.     Description:
  7668.  
  7669.          Returns MS-Windows version or an empty string if Windows is not
  7670.  
  7671.                                  - Page 128 -
  7672. Norton Guide: `FAST.lib 3.15 » Reference'
  7673.  
  7674.  
  7675.          running.
  7676.  
  7677.     Return:
  7678.  
  7679.          A character value with Windows version or an empty string if Windows
  7680.          is not running.
  7681.  
  7682.     Example:
  7683.  
  7684.          Warning( "Windows Version: " + WinVersion() )
  7685.  
  7686. See Also: "IsWin3()" 
  7687.  
  7688.  
  7689.     WinClipSize()
  7690.  
  7691.          Determines the size of the win 3 clipboard
  7692.  
  7693.     Syntax:
  7694.  
  7695.          WinClipSize() -> nBytes
  7696.  
  7697.     Description:
  7698.  
  7699.          Determines the size of the win 3 clipboard if windows is running.
  7700.  
  7701.     Return:
  7702.  
  7703.          A numerical value indicating the size of the win 3 clipboard.
  7704.  
  7705.     Example:
  7706.  
  7707.          If WinOpenClip()
  7708.            ? WinClipSize()
  7709.            If ! WinCloseClip()
  7710.              ? "Error closing clipboard"
  7711.            EndIf
  7712.          Else
  7713.            "Error opening clipboard"
  7714.          EndIf
  7715.  
  7716. See Also: "WinCloseClip()" "WinOpenClip()" 
  7717.  
  7718.  
  7719.     WinCloseClip()
  7720.  
  7721.          Closes the win 3 clipboard
  7722.  
  7723.     Syntax:
  7724.  
  7725.          WinCloseClip() -> lOk
  7726.  
  7727.     Description:
  7728.  
  7729.          Closes the win 3 clipboard if windows is running.
  7730.  
  7731.                                  - Page 129 -
  7732. Norton Guide: `FAST.lib 3.15 » Reference'
  7733.  
  7734.  
  7735.  
  7736.     Return:
  7737.  
  7738.          A logic value indicating if an error is found.
  7739.  
  7740.     Example:
  7741.  
  7742.          If WinOpenClip()
  7743.            ? WinClipSize()
  7744.            If ! WinCloseClip()
  7745.              ? "Error closing clipboard"
  7746.            EndIf
  7747.          Else
  7748.            "Error opening clipboard"
  7749.          EndIf
  7750.  
  7751. See Also: "WinClipSize()" "WinOpenClip()" 
  7752.  
  7753.  
  7754.     WinDelClip()
  7755.  
  7756.          Deletes the content of the win 3 clipboard
  7757.  
  7758.     Syntax:
  7759.  
  7760.          WinDelClip() -> lOk
  7761.  
  7762.     Description:
  7763.  
  7764.          Deletes the content of the win 3 clipboard if windows is running.
  7765.  
  7766.     Return:
  7767.  
  7768.          A logic value indicating if an error is found.
  7769.  
  7770.     Example:
  7771.  
  7772.          If WinOpenClip()
  7773.            ? WinClipSize()
  7774.            If ! WinDelClip()
  7775.              ? "Error deleting clipboard"
  7776.            EndIf
  7777.            If ! WinCloseClip()
  7778.              ? "Error closing clipboard"
  7779.            EndIf
  7780.          Else
  7781.            "Error opening clipboard"
  7782.          EndIf
  7783.  
  7784. See Also: "WinClipSize()" "WinOpenClip()" 
  7785.  
  7786.  
  7787.     WinGetClip()
  7788.  
  7789.          Gets the content of the win 3 clipboard
  7790.  
  7791.                                  - Page 130 -
  7792. Norton Guide: `FAST.lib 3.15 » Reference'
  7793.  
  7794.  
  7795.  
  7796.     Syntax:
  7797.  
  7798.          WinGetClip() -> cClip
  7799.  
  7800.     Description:
  7801.  
  7802.          Gets the content of the win 3 clipboard if windows is running.
  7803.  
  7804.     Return:
  7805.  
  7806.          A string with the content of the win 3 clipboard.
  7807.  
  7808.     Example:
  7809.  
  7810.          If WinOpenClip()
  7811.            cBuffer := WinGetClip()
  7812.            WinCloseClip()
  7813.          EndIf
  7814.  
  7815. See Also: "WinClipSize()" "WinOpenClip()" 
  7816.  
  7817.  
  7818.     WinOpenClip()
  7819.  
  7820.          Opens the win 3 clipboard
  7821.  
  7822.     Syntax:
  7823.  
  7824.          WinOpenClip() -> lOk
  7825.  
  7826.     Description:
  7827.  
  7828.          Opens the win 3 clipboard if windows is running.
  7829.  
  7830.     Return:
  7831.  
  7832.          A logic value indicating if an error is found.
  7833.  
  7834.     Example:
  7835.  
  7836.          If WinOpenClip()
  7837.            cBuffer := WinGetClip()
  7838.            WinCloseClip()
  7839.          EndIf
  7840.  
  7841. See Also: "WinClipSize()" "WinCloseClip()" 
  7842.  
  7843.  
  7844.     WinSetClip()
  7845.  
  7846.          Sets the win 3 clipboard with a specified value
  7847.  
  7848.     Syntax:
  7849.  
  7850.  
  7851.                                  - Page 131 -
  7852. Norton Guide: `FAST.lib 3.15 » Reference'
  7853.  
  7854.  
  7855.          WinSetClip( cClip ) -> lOk
  7856.  
  7857.          cClip : The value to insert in the win 3 clipboard
  7858.  
  7859.     Description:
  7860.  
  7861.          Sets the content of the win 3 clipboard if windows is running.
  7862.  
  7863.     Return:
  7864.  
  7865.          A logic value indicating if an error is found.
  7866.  
  7867.     Example:
  7868.  
  7869.          If WinOpenClip()
  7870.            WinSetClip( "This a text" )
  7871.            WinCloseClip()
  7872.          EndIf
  7873.  
  7874. See Also: "WinClipSize()" "WinOpenClip()" 
  7875.  
  7876.  
  7877.  
  7878.  
  7879.  
  7880.  
  7881.  
  7882.  
  7883.  
  7884.  
  7885.  
  7886.  
  7887.  
  7888.  
  7889.  
  7890.  
  7891.  
  7892.  
  7893.  
  7894.  
  7895.  
  7896.  
  7897.  
  7898.  
  7899.  
  7900.  
  7901.  
  7902.  
  7903.  
  7904.  
  7905.  
  7906.  
  7907.  
  7908.  
  7909.  
  7910.                                  - Page 132 -
  7911. Norton Guide: `FAST.lib 3.15 » Reference'
  7912.  
  7913.  
  7914. Menu List: FAST.lib 1, MetaFunctions
  7915.  
  7916.  
  7917.  
  7918.  
  7919.     Trying to document everything would be impossible. You better look
  7920.  around and find out what you need.
  7921.  
  7922.  ──────────────────────────────────────────────────────────────────────────────
  7923.  
  7924.  
  7925.     AsciiTab()
  7926.  
  7927.          Shows an ascii table
  7928.  
  7929.     Syntax:
  7930.  
  7931.          AsciiTab( [nRow], [nCol], [nStart] ) -> Nil
  7932.  
  7933.          nRow   : Row of ascii table
  7934.          nCol   : Column of ascii table
  7935.          nStart : Initial ascii character
  7936.  
  7937.     Description:
  7938.  
  7939.          Shows an ascii table at a given position.
  7940.  
  7941.     Return:
  7942.  
  7943.          Nothing.
  7944.  
  7945.     Example:
  7946.  
  7947.          AsciiTab( 10, 10, 1 )
  7948.  
  7949.  
  7950.     AplicName()
  7951.  
  7952.          Determines the application name
  7953.  
  7954.     Syntax:
  7955.  
  7956.          AplicName( [cName] ) -> cOldName
  7957.  
  7958.          cName : The name of the application
  7959.  
  7960.     Description:
  7961.  
  7962.          With this function you define the message to show in Screen Saver.
  7963.  
  7964.     Return:
  7965.  
  7966.          The actual application name.
  7967.  
  7968.     Example:
  7969.  
  7970.                                  - Page 133 -
  7971. Norton Guide: `FAST.lib 3.15 » Reference'
  7972.  
  7973.  
  7974.  
  7975.          cName := AplicName( "Hello Mary" )
  7976.                                 // we save the actual name
  7977.                                 // and set a new
  7978.                                 // when the screen saver starts will see
  7979.                                 // "Hello Mary..."
  7980.          AplicName( cName )     // we restore the old name
  7981.  
  7982.  
  7983.     Backup()
  7984.  
  7985.          Makes a backup
  7986.  
  7987.     Syntax:
  7988.  
  7989.          Backup( [dDate], [cTime], [cUser], [cUnit], aDir, [lRec], ;
  7990.                  [cColor], [bBlock] ) -> lError
  7991.  
  7992.          dDate     : Backup date
  7993.          cTime     : Backup time
  7994.          cUser     : Backup user. 127 more characters
  7995.          cUnit     : Backup drive
  7996.          aDir      : Bidimensional array of directories to save.
  7997.          lRec      : A logical value that indicates if the subdirectories
  7998.                      are being backed up.
  7999.          cColor    : Color of the statistics window
  8000.          bBlock    : A codeblock to evaluate before reading a new disk.
  8001.  
  8002.     Description:
  8003.  
  8004.          Backups all the given directories.
  8005.  
  8006.          WARNING
  8007.          This function calls dbCloseAll() so it closes all data base files.
  8008.  
  8009.     Return:
  8010.  
  8011.          A logical indicating if an error has been found.
  8012.  
  8013.     Example:
  8014.  
  8015.          If Backup ( Date (), Time (), "FAST.lib", "A:\", ;
  8016.                      { { "C:\DOS\",      "*.*"   }, ;
  8017.                        { "C:\OS2\MDOS\", "*.COM" } }, ;
  8018.                     .T., "N/W,N/W", ;
  8019.                     { || NewDisk() } )
  8020.            BoxWarning ( "Backup ok" )
  8021.          Else
  8022.            BoxWarning ( "Errors detected" )
  8023.          EndIf
  8024.  
  8025.          Function NewDisk ()
  8026.              Format ( 0, 4, .F. )    // Format a 3½ HD disk in A:
  8027.          Return ( .T. )              // It must returns .T.
  8028.                                      // If returns .F. cancels the backup
  8029.  
  8030.                                  - Page 134 -
  8031. Norton Guide: `FAST.lib 3.15 » Reference'
  8032.  
  8033.  
  8034.  
  8035. See Also: "Restore()" 
  8036.  
  8037.  
  8038.     BigClock()
  8039.  
  8040.          Shows a digital watch with large numbers
  8041.  
  8042.     Syntax:
  8043.  
  8044.          BigClock( [nRow], [nCol] ) -> Nil
  8045.  
  8046.          nRow   : Row position
  8047.          nCol   : Column position
  8048.  
  8049.     Description:
  8050.  
  8051.          This function shows a digital watch with large numbers and waits
  8052.          until a key is pressed restoring the screen.
  8053.  
  8054.     Return:
  8055.  
  8056.          Nothing.
  8057.  
  8058.     Example:
  8059.  
  8060.          BigClock( 10, 20 )
  8061.  
  8062. See Also: "Clock()" 
  8063.  
  8064.  
  8065.     Calculator()
  8066.  
  8067.          Displays a calculator
  8068.  
  8069.     Syntax:
  8070.  
  8071.          Calculator( [cColor], [cColorNum], [ColorMem] ) -> nResult
  8072.  
  8073.          cColor    : Box color
  8074.          cColorNum : Numbers color
  8075.          cColorMem : Memory numbers color
  8076.  
  8077.     Description:
  8078.  
  8079.          Display a calculator with selected colors.
  8080.  
  8081.     Return:
  8082.  
  8083.          The result of calculation if F10 is pressed or Nil if Esc is
  8084.          pressed.
  8085.  
  8086.     Example:
  8087.  
  8088.          nRes := Calculator ( "N/W", "G+/N", "R+/N" )
  8089.  
  8090.                                  - Page 135 -
  8091. Norton Guide: `FAST.lib 3.15 » Reference'
  8092.  
  8093.  
  8094.  
  8095.  
  8096.     Calendar()
  8097.  
  8098.          Display a calendar
  8099.  
  8100.     Syntax:
  8101.  
  8102.          Calendar( [nY], [nX], [cColor], [cSunday], [cColorHigh] ) -> dDate
  8103.  
  8104.          nY         : Row position
  8105.          nX         : Column position
  8106.          cColor     : Calendar color
  8107.          cSunday    : Sunday's color
  8108.          cColorHigh : Selected day color
  8109.  
  8110.     Description:
  8111.  
  8112.          Display a calendar at the given position and colors.
  8113.  
  8114.     Return:
  8115.  
  8116.          Selected date if <┘ is pressed or Nil if Esc is pressed.
  8117.  
  8118.     Example:
  8119.  
  8120.          dDate := Calendar ( 5, 20, "N/BG", "R/BG", "GR+/B" )
  8121.  
  8122.  
  8123.     ChkDsk()
  8124.  
  8125.          Checks a floppy format
  8126.  
  8127.     Syntax:
  8128.  
  8129.          ChkDsk ( nDisk ) -> nFormat
  8130.  
  8131.          nDisk : Disk unit to check. A: -> 0, B: -> 1.
  8132.  
  8133.     Description:
  8134.  
  8135.          Checks a floppy disk format and returns a numerical value.
  8136.  
  8137.     Return:
  8138.  
  8139.          -2 Bad parameters
  8140.          -1 Format error
  8141.           0 Unknown format
  8142.           1 360 kb   5¼ DD
  8143.           2 720 kb   3½ DD
  8144.           3 1.2 mb   5¼ HD
  8145.           4 1.44 mb  3½ HD
  8146.  
  8147.     Example:
  8148.  
  8149.  
  8150.                                  - Page 136 -
  8151. Norton Guide: `FAST.lib 3.15 » Reference'
  8152.  
  8153.  
  8154.          nFormat := ChkDsk ( 0 )
  8155.          If nFormat > 0
  8156.            Format ( 0, nFormat, .T. )
  8157.          Else
  8158.            Warning ( "Unknown format" )
  8159.          EndIf
  8160.  
  8161. See Also: "Format()" 
  8162.  
  8163.  
  8164.     ChooseColor()
  8165.  
  8166.          Allows color choice
  8167.  
  8168.     Syntax:
  8169.  
  8170.          ChooseColor( [nRow], [nCol], [lShowColor] ) -> Nil
  8171.  
  8172.          nRow       : Row of window, by default 3.
  8173.          nCol       : Column of window, by default 28.
  8174.          lShowColor : A logic value indicating if the color in string
  8175.                       format must be showed during selection. By default
  8176.                       is false, .F.
  8177.  
  8178.     Description:
  8179.  
  8180.          Allows to user to choose a color.
  8181.  
  8182.     Return:
  8183.  
  8184.          The color in string format or Nil if Esc has been pressed.
  8185.  
  8186.     Example:
  8187.  
  8188.          ? "Selected Color is " + ChooseColor( 3, 28, .T. )
  8189.  
  8190.  
  8191.     Chrono()
  8192.  
  8193.          Gets/Sets 3 programable chronos
  8194.  
  8195.     Syntax:
  8196.  
  8197.          Chrono( nChrono [, lLoad] ) -> nTime
  8198.  
  8199.          nChrono : Chrono number ( 1 2 3 )
  8200.          lLoad   : A logic indicating if we want to load the chrono with
  8201.                    the actual time. Default value is .F.
  8202.  
  8203.     Description:
  8204.  
  8205.          Gets/Sets 3 internal chronos. Each of them come be programmed
  8206.          separately.
  8207.  
  8208.     Return:
  8209.  
  8210.                                  - Page 137 -
  8211. Norton Guide: `FAST.lib 3.15 » Reference'
  8212.  
  8213.  
  8214.  
  8215.          The interval between actual time and the time when the chrono was
  8216.          programmed.
  8217.  
  8218.     Example:
  8219.  
  8220.          Chrono( 1, .T. )       // Chrono 1 with actual time
  8221.          Delay( 10 )            // Delay, 10 seconds
  8222.          ? Chrono( 1 )          // 10
  8223.  
  8224.  
  8225.     Clock()
  8226.  
  8227.          Un/Installs a resident clock
  8228.  
  8229.     Syntax:
  8230.  
  8231.          Clock( [lActive], [nPosY], [nPosX], [cColor] ) -> lIsActive
  8232.  
  8233.          lActive : A logic value indicating if we want to activate (.T.) or
  8234.                    deactivate (.F.) the watch.
  8235.                    If parameter is Nil, Clock() returns the actual mode.
  8236.          nPosY   : Row position. By default 0.
  8237.          nPosX   : Column position. By default 70.
  8238.          cColor  : Clock color. By default "GR+/B"
  8239.  
  8240.     Description:
  8241.  
  8242.          Shows a watch without the programmer action.
  8243.  
  8244.     Return:
  8245.  
  8246.          The actual watch mode. .T. active and .F. inactive.
  8247.  
  8248.     Example:
  8249.  
  8250.          Clock( .T., 0, 1, "W/B" )  // installs the clock on row 0, column 1
  8251.                                     // color "W/B"
  8252.          Inkey( 0 )
  8253.          Clock( .F. )
  8254.  
  8255. See Also: "BigClock()" 
  8256.  
  8257.  
  8258.     DirTree()
  8259.  
  8260.          Create an array with structure of a disk
  8261.  
  8262.     Syntax:
  8263.  
  8264.          DirTree( cMask, cDir ) -> aArray
  8265.  
  8266.          cMask : Format the directories must fulfill to be searched.
  8267.          cDir  : Beginning directory.
  8268.  
  8269.  
  8270.                                  - Page 138 -
  8271. Norton Guide: `FAST.lib 3.15 » Reference'
  8272.  
  8273.  
  8274.     Description:
  8275.  
  8276.          Returns an array with specified directories order from father to
  8277.          child.
  8278.  
  8279.     Return:
  8280.  
  8281.          An array with directories.
  8282.  
  8283.     Example:
  8284.  
  8285.          Window ( 4, 0, 22, 29, "Directory C:\", "╔═╗║╝═╚║ ", .T. )
  8286.          aChoice ( 5, 2, 21, 27, DirTree ( "\*.*", "C:\" ), .T. )
  8287.  
  8288.  
  8289.     Editor()
  8290.  
  8291.          Edits a text file
  8292.  
  8293.     Syntax:
  8294.  
  8295.          Editor ( [cFile], [cColor] ) -> Nil
  8296.  
  8297.          cFile  : File to edit.
  8298.          cColor : Editor color.
  8299.  
  8300.     Description:
  8301.  
  8302.          Execute an ascii editor with files not larger than 64 kb.
  8303.  
  8304.     Return:
  8305.  
  8306.          Nothing.
  8307.  
  8308.     Example:
  8309.  
  8310.          Editor ( "Fast.Ini", "W/B" )
  8311.  
  8312. See Also: "Notes()" 
  8313.  
  8314.  
  8315.     FastMemo()
  8316.  
  8317.          Edits a memo value
  8318.  
  8319.     Syntax:
  8320.  
  8321.          FastMemo( nY1, nX1, nY2, nX2, cMemo, [cTitle], [cColBro], ;
  8322.                    [lShadow], [lWrite] ) -> cNewMemo
  8323.  
  8324.          nY1     : Upper left Y coordinate
  8325.          nX1     : Upper left X coordinate
  8326.          nY2     : Lower right Y coordinate
  8327.          nX2     : Lower right X coordinate
  8328.          cMemo   : Memo to edit
  8329.  
  8330.                                  - Page 139 -
  8331. Norton Guide: `FAST.lib 3.15 » Reference'
  8332.  
  8333.  
  8334.          ctitle  : Window title
  8335.          cColBro : Window color
  8336.          lShadow : A logic value to indicate shadowing
  8337.          lWrite  : A logic value indicating if memo is read/only
  8338.  
  8339.     Description:
  8340.  
  8341.          Edit a Clipper memo field.
  8342.  
  8343.     Return:
  8344.  
  8345.          A new memo value.
  8346.  
  8347.     Example:
  8348.  
  8349.          Local cMemo := "Hello"
  8350.          ? FastMemo( 10, 10, 20, 55, cMemo, "MemoTest", "GR+/B", .T., .T. )
  8351.  
  8352.  
  8353.     FontEdit()
  8354.  
  8355.          Edits character fonts
  8356.  
  8357.     Syntax:
  8358.  
  8359.          FontEdit( [ cFile ] ) -> Nil
  8360.  
  8361.          cFile : The filename with the font
  8362.  
  8363.     Description:
  8364.  
  8365.          Edit character fonts from Clipper.
  8366.  
  8367.     Return:
  8368.  
  8369.          Nothing.
  8370.  
  8371.     Example:
  8372.  
  8373.          FontEdit( "cubo.fon" )
  8374.  
  8375.  
  8376.     Format()
  8377.  
  8378.          Formats a floppy
  8379.  
  8380.     Syntax:
  8381.  
  8382.          Format ( nDisk, nFormat, lQuick ) -> nError
  8383.  
  8384.          nDisk   : Disk unit to format. A:=0, B:=1.
  8385.          nFormat : Format. 360=1, 720=2, 1.2=3, 1.44=4
  8386.          lQuick  : A logical value indicating if you want QuickFormat or not.
  8387.  
  8388.     Description:
  8389.  
  8390.                                  - Page 140 -
  8391. Norton Guide: `FAST.lib 3.15 » Reference'
  8392.  
  8393.  
  8394.  
  8395.          Formats a floppy disk with a specified format.
  8396.  
  8397.     Return:
  8398.  
  8399.          -2 Bad parameters
  8400.          -1 Format error
  8401.           0 Ok
  8402.  
  8403.     Example:
  8404.  
  8405.          nFormat := ChkDsk ( 0 )
  8406.          If nFormat > 0
  8407.            Format ( 0, nFormat, .T. )
  8408.          Else
  8409.            Warning ( "Unknown format" )
  8410.          EndIf
  8411.  
  8412. See Also: "ChkDsk()" 
  8413.  
  8414.  
  8415.     GaugeNew()
  8416.  
  8417.          Creates and inits a status bar
  8418.  
  8419.     Syntax:
  8420.  
  8421.          GaugeNew( nRow, cMessage, cColor ) -> aBar
  8422.  
  8423.          nRow     : Row position
  8424.          cMessage : Message to display
  8425.          cColor   : Window color
  8426.  
  8427.     Description:
  8428.  
  8429.          Creates and inits a status bar returning an array structure with
  8430.          bar information to GaugeUpdate().
  8431.  
  8432.     Return:
  8433.  
  8434.          An array structure.
  8435.  
  8436.     Example:
  8437.  
  8438.          aGauge := GaugeNew( 9, "Fast Library Installation progress", "G" )
  8439.  
  8440. See Also: "GaugeUpdate()" 
  8441.  
  8442.  
  8443.     GaugeUpdate()
  8444.  
  8445.          Increases a status bar
  8446.  
  8447.     Syntax:
  8448.  
  8449.  
  8450.                                  - Page 141 -
  8451. Norton Guide: `FAST.lib 3.15 » Reference'
  8452.  
  8453.  
  8454.          GaugeUpdate( aBar, nInc ) -> Nil
  8455.  
  8456.          aBar : An array with bar information
  8457.          nInc : Increment 0-1
  8458.  
  8459.     Description:
  8460.  
  8461.          Increases a status bar that has been created with GaugeNew().
  8462.  
  8463.     Return:
  8464.  
  8465.          Nothing.
  8466.  
  8467.     Example:
  8468.  
  8469.          aGauge := GaugeNew( 9, "Fast Library Installation", "G" )
  8470.          GaugeUpdate( aGauge, 0.5 )
  8471.          GaugeUpdate( aGauge, 0.5 )
  8472.  
  8473. See Also: "GaugeNew()" 
  8474.  
  8475.  
  8476.     InspectDBF()
  8477.  
  8478.          Inspects the active workareas
  8479.  
  8480.     Syntax:
  8481.  
  8482.          InspectDBF() -> Nil
  8483.  
  8484.     Description:
  8485.  
  8486.          This function inspects the active workareas giving information
  8487.          about its.
  8488.  
  8489.     Return:
  8490.  
  8491.          Nothing.
  8492.  
  8493.     Example:
  8494.  
  8495.          InspectDBF()
  8496.  
  8497. See Also: "InspectOBJ()" "InspectSETS()" 
  8498.  
  8499.  
  8500.     InspectOBJ()
  8501.  
  8502.          Inspects an array or object
  8503.  
  8504.     Syntax:
  8505.  
  8506.          InspectOBJ( cVarName, xVar ) -> Nil
  8507.  
  8508.          cVarName : The name of memory variable
  8509.  
  8510.                                  - Page 142 -
  8511. Norton Guide: `FAST.lib 3.15 » Reference'
  8512.  
  8513.  
  8514.          xVar     : The var to inspect
  8515.  
  8516.     Description:
  8517.  
  8518.          This function inspects an array or object and allows to change it.
  8519.  
  8520.     Return:
  8521.  
  8522.          Nothing.
  8523.  
  8524.     Example:
  8525.  
  8526.          aArray := { "Hello", 12, { "First", "Second" }, { || Nil } }
  8527.          InspectOBJ( "aArray", aArray )
  8528.  
  8529. See Also: "InspectDBF()" "InspectSETS()" 
  8530.  
  8531.  
  8532.     InspectSETS()
  8533.  
  8534.          Inspects the SETS
  8535.  
  8536.     Syntax:
  8537.  
  8538.          InspectSETS() -> Nil
  8539.  
  8540.     Description:
  8541.  
  8542.          This function inspects the sets and allows to change its.
  8543.  
  8544.     Return:
  8545.  
  8546.          Nothing.
  8547.  
  8548.     Example:
  8549.  
  8550.          InspectSETS()
  8551.  
  8552. See Also: "InspectDBF()" "InspectOBJ()" 
  8553.  
  8554.  
  8555.     IsFastGT()
  8556.  
  8557.          Determines if FAST.GT is linked
  8558.  
  8559.     Syntax:
  8560.  
  8561.          IsFastGT() -> lLinked
  8562.  
  8563.     Description:
  8564.  
  8565.          Determines if FAST.GT is linked.
  8566.          FAST.GT is a FAST.* software that allows Clipper standard
  8567.          programs running in graphic mode without additional changes to
  8568.          the source code.
  8569.  
  8570.                                  - Page 143 -
  8571. Norton Guide: `FAST.lib 3.15 » Reference'
  8572.  
  8573.  
  8574.  
  8575.     Return:
  8576.  
  8577.          A logic value.
  8578.  
  8579.     Example:
  8580.  
  8581.          If IsFastGT()
  8582.            ? "Oh!!! we are in graphic mode"
  8583.          EndIf
  8584.  
  8585.  
  8586.     IsPirate()
  8587.  
  8588.          Determines if the program is a pirated copy
  8589.  
  8590.     Syntax:
  8591.  
  8592.          IsPirate() -> lIsPirate
  8593.  
  8594.     Description:
  8595.  
  8596.          This function determines if the program in execution is a pirated
  8597.          copy.  The first time you run the program it will be automarked.
  8598.          In this way, you can check this mark on next executions.
  8599.          If you execute the program in another system, IsPirate() will
  8600.          return .T., otherwise it will return .F.
  8601.  
  8602.     Return:
  8603.  
  8604.          A logic value indicating if the program in execution is a pirate
  8605.          copy.
  8606.  
  8607.     Example:
  8608.  
  8609.          If IsPirate()
  8610.            ? "Don't forget to register"
  8611.            Quit
  8612.          EndIf
  8613.  
  8614.  
  8615.     IsSound()
  8616.  
  8617.          Determines if speaker sounds are allowed
  8618.  
  8619.     Syntax:
  8620.  
  8621.          IsSound( [lMode] ) -> lOldMode
  8622.  
  8623.          lMode : A logic to indicate the new value.
  8624.  
  8625.     Description:
  8626.  
  8627.          This function determines if speaker sounds are allowed when
  8628.          a function of Fast Library is running.
  8629.  
  8630.                                  - Page 144 -
  8631. Norton Guide: `FAST.lib 3.15 » Reference'
  8632.  
  8633.  
  8634.  
  8635.     Return:
  8636.  
  8637.          Actual mode.
  8638.  
  8639.     Example:
  8640.  
  8641.          lSound := IsSound( .F. )
  8642.          Serpent()                      // without sound
  8643.          IsSound( lSound )
  8644.  
  8645.  
  8646.     Manager()
  8647.  
  8648.          A little PCTools in Clipper
  8649.  
  8650.     Syntax:
  8651.  
  8652.          Manager ( [cColor], [cColorHigh] ) -> Nil
  8653.  
  8654.          cColor     : File Manager color.
  8655.          cColorHigh : Buttons of dialog boxes color.
  8656.  
  8657.     Description:
  8658.  
  8659.          Runs a little File Manager as PCTools.
  8660.  
  8661.     Return:
  8662.  
  8663.          Nothing.
  8664.  
  8665.     Example:
  8666.  
  8667.          Manager ( "N/W,N/BG", "N/BG" )
  8668.  
  8669.  
  8670.     MiniDebug()
  8671.  
  8672.          Evaluate Clipper expressions
  8673.  
  8674.     Syntax:
  8675.  
  8676.          MiniDebug( nY, cExpr ) -> Nil
  8677.  
  8678.          nY    : Row of debugger
  8679.          cExpr : Initial expression
  8680.  
  8681.     Description:
  8682.  
  8683.          Evaluate valid Clipper expressions.
  8684.  
  8685.     Return:
  8686.  
  8687.          Nothing.
  8688.  
  8689.  
  8690.                                  - Page 145 -
  8691. Norton Guide: `FAST.lib 3.15 » Reference'
  8692.  
  8693.  
  8694.     Example:
  8695.  
  8696.          MiniDebug( 7, "Replicate( 'Fast ', 2 )" )
  8697.  
  8698.  
  8699.     MsgScroll()
  8700.  
  8701.          Shows a message with horizontal scroll
  8702.  
  8703.     Syntax:
  8704.  
  8705.          MsgScroll( nRow, nCol, nSize, cString, cColor ) -> Nil
  8706.  
  8707.          nRow    : Row position
  8708.          nCol    : Column position
  8709.          nSize   : Horizontal size
  8710.          cString : Message to show
  8711.          cColor  : Message color
  8712.  
  8713.     Description:
  8714.  
  8715.          Shows a message with horizontal scroll until you press any key.
  8716.  
  8717.     Return:
  8718.  
  8719.          Nothing.
  8720.  
  8721.     Example:
  8722.  
  8723.          MsgScroll( 10, 12, 20, "Press any key to continue", "GR+/B" )
  8724.  
  8725.  
  8726.     Notes()
  8727.  
  8728.          Makes your calculations in a Lotus123 style
  8729.  
  8730.     Syntax:
  8731.  
  8732.          Notes ( [cColor], [cColorBrowse], [cFile] ) -> Nil
  8733.  
  8734.          cColor       : Spreadsheet color
  8735.          cColorBrowse : The template of colors for the browse.
  8736.          cFile        : HC file with Spreadsheet
  8737.  
  8738.     Description:
  8739.  
  8740.          With this function you can access a spreadsheet.
  8741.  
  8742.     Return:
  8743.  
  8744.          Nothing.
  8745.  
  8746.     Example:
  8747.  
  8748.          Notes( "W/B,N/BG", "W/B,N/BG,G/B,W/B,R+/B", "example1.hc" )
  8749.  
  8750.                                  - Page 146 -
  8751. Norton Guide: `FAST.lib 3.15 » Reference'
  8752.  
  8753.  
  8754.  
  8755. See Also: "Editor()" 
  8756.  
  8757.  
  8758.     Restore()
  8759.  
  8760.          Restores a backup
  8761.  
  8762.     Syntax:
  8763.  
  8764.          Restore( [cUnit], aDirec, cColor ) -> lExit
  8765.  
  8766.          cUnit  : Backup unit
  8767.          aDirec : Directory array to restore
  8768.          cColor : Window color
  8769.  
  8770.     Description:
  8771.  
  8772.          Restores from cUnit all files whose names are contained in one of
  8773.                         the elements of the array.
  8774.  
  8775.          WARNING!!
  8776.          This function makes a dbCloseAll()
  8777.  
  8778.     Return:
  8779.  
  8780.          A logic value indicating the result.
  8781.  
  8782.     Example:
  8783.  
  8784.          Restore ( "A:\", { "C:\DOS" }, "N/W,N/W" )
  8785.  
  8786. See Also: "Backup()" 
  8787.  
  8788.  
  8789.     ScreenSaver()
  8790.  
  8791.          Shows a screen saver
  8792.  
  8793.     Syntax:
  8794.  
  8795.          ScreenSaver( cColor [, cMessage] ) -> Nil
  8796.  
  8797.          cColor   : Message color
  8798.          cMessage : Message to display
  8799.  
  8800.     Description:
  8801.  
  8802.          Your monitor will thank you for ever.
  8803.  
  8804.     Return:
  8805.  
  8806.          Nothing.
  8807.  
  8808.     Example:
  8809.  
  8810.                                  - Page 147 -
  8811. Norton Guide: `FAST.lib 3.15 » Reference'
  8812.  
  8813.  
  8814.  
  8815.          ScreenSaver( "BG+/N", "Fast Library For Clipper ScreenSaver" )
  8816.  
  8817. See Also: "Stars()" 
  8818.  
  8819.  
  8820.     Stars()
  8821.  
  8822.          Shows a screen saver
  8823.  
  8824.     Syntax:
  8825.  
  8826.          Stars() -> Nil
  8827.  
  8828.     Description:
  8829.  
  8830.          Sets the screen to black  and starts showing stars in different
  8831.          colors and sizes. Waits until a key is pressed to restore the
  8832.          old values.
  8833.  
  8834.     Return:
  8835.  
  8836.          Nothing.
  8837.  
  8838.     Example:
  8839.  
  8840.          Stars ()
  8841.  
  8842. See Also: "ScreenSaver()" 
  8843.  
  8844.  
  8845.     TimeScr()
  8846.  
  8847.          Determines the time of Screen Saver
  8848.  
  8849.     Syntax:
  8850.  
  8851.          TimeScr( [nTime] ) -> nOldTime
  8852.  
  8853.          nTime : The time in minutes
  8854.  
  8855.     Description:
  8856.  
  8857.          With this function you decide the time Fast must wait when no key
  8858.          is pressed to run Screen Saver.
  8859.          Default value is 1 minute.
  8860.          In Fast all functions that hold the keyboard are sensitive to the
  8861.          time lapses between key presses.
  8862.  
  8863.     Return:
  8864.  
  8865.          Actual delay time.
  8866.  
  8867.     Example:
  8868.  
  8869.  
  8870.                                  - Page 148 -
  8871. Norton Guide: `FAST.lib 3.15 » Reference'
  8872.  
  8873.  
  8874.          TimeScr( 10 )
  8875.  
  8876.  
  8877.  
  8878.  
  8879.  
  8880.  
  8881.  
  8882.  
  8883.  
  8884.  
  8885.  
  8886.  
  8887.  
  8888.  
  8889.  
  8890.  
  8891.  
  8892.  
  8893.  
  8894.  
  8895.  
  8896.  
  8897.  
  8898.  
  8899.  
  8900.  
  8901.  
  8902.  
  8903.  
  8904.  
  8905.  
  8906.  
  8907.  
  8908.  
  8909.  
  8910.  
  8911.  
  8912.  
  8913.  
  8914.  
  8915.  
  8916.  
  8917.  
  8918.  
  8919.  
  8920.  
  8921.  
  8922.  
  8923.  
  8924.  
  8925.  
  8926.  
  8927.  
  8928.  
  8929.                                  - Page 149 -
  8930. Norton Guide: `FAST.lib 3.15 » Reference'
  8931.  
  8932.  
  8933. Menu List: FAST.lib 2, Menus
  8934.  
  8935.  
  8936.  
  8937.  
  8938.     With these functions, you will be able to create simple event-driven
  8939.  pop-up menus. Making and using them is easy.
  8940.  
  8941.     The entire menuing system is based on arrays; this way, you can add or
  8942.  delete items and divider lines in each menu. When you add an item, it is
  8943.  initially selectable. Later, the attribute of selections can be logically
  8944.  set. When a divider line is added, it is automatically non-selectable
  8945.  and will remain so.
  8946.  
  8947.  ──────────────────────────────────────────────────────────────────────────────
  8948.  
  8949.  
  8950.     AddItem()
  8951.  
  8952.          Adds a selectable item to a submenu
  8953.  
  8954.     Syntax:
  8955.  
  8956.          AddItem( aMenu, nSubMenu, cItem, [cMess], [nPos], [aSub] ) -> Nil
  8957.  
  8958.          aMenu    : The menu created with NewMenu()
  8959.          nSubMenu : The number of the submenu to which the item
  8960.                     is to be added
  8961.          cItem    : The item to add to the submenu
  8962.          cMess    : The message text for the item
  8963.          nPos     : The position of the item in the submenu;
  8964.                     last position if not specified
  8965.          aSub     : An array of the submenu options
  8966.  
  8967.     Description:
  8968.  
  8969.          Adds an item to a submenu, activating the item as selectable.
  8970.  
  8971.     Return:
  8972.  
  8973.          Nil.
  8974.  
  8975.     Example:
  8976.  
  8977.          aMenu := NewMenu( { "^System", "^Tools", "^Other" }, ;
  8978.                            { "N/W", "R/W", "W/B",  "W+/B", ;
  8979.                              "N/W", "W/B", "N+/W", "R/W", "GR+/B" } )
  8980.          AddItem ( aMenu, 1, "Item ^1", "Message", , { "Sub1", "Sub2" } )
  8981.  
  8982. See Also: "AddLine()" "DelItem()" 
  8983.  
  8984.  
  8985.     AddLine()
  8986.  
  8987.           Adds a divider line to a submenu as a non-selectable item
  8988.  
  8989.                                  - Page 150 -
  8990. Norton Guide: `FAST.lib 3.15 » Reference'
  8991.  
  8992.  
  8993.  
  8994.     Syntax:
  8995.  
  8996.          AddLine( aMenu, nSubMenu [, nPos] ) -> Nil
  8997.  
  8998.          aMenu    : The menu created with NewMenu()
  8999.          nSubMenu : The number of the submenu to which the
  9000.                     divider line is to be added
  9001.          nPos     : The position of the divider line in the submenu;
  9002.                     last position if not specified
  9003.  
  9004.     Description:
  9005.  
  9006.          Adds a divider line to a submenu, setting it as non-selectable.
  9007.  
  9008.     Return:
  9009.  
  9010.          Nil.
  9011.  
  9012.     Example:
  9013.  
  9014.          aMenu := NewMenu( { "^System", "^Tools", "^Other" }, ;
  9015.                            { "N/W", "R/W", "W/B",  "W+/B", ;
  9016.                              "N/W", "W/B", "N+/W", "R/W", "GR+/B" } )
  9017.          AddItem ( aMenu, 1, "Item ^1", "Message 1" )
  9018.          AddItem ( aMenu, 1, "Item ^2", "Message 2" )
  9019.  
  9020.          AddLine ( aMenu, 1, 2 )  // add a line between two items.
  9021.  
  9022. See Also: "AddItem()" "DelItem()" 
  9023.  
  9024.  
  9025.     DelLine()
  9026.  
  9027.          Deletes an item from a Submenu
  9028.  
  9029.     Syntax:
  9030.  
  9031.          DelLine( aMenu, nSubMenu, nPos ) -> Nil
  9032.  
  9033.          aMenu    : The menu created with NewMenu()
  9034.          nSubMenu : The number of the submenu from which
  9035.                     the item is to be deleted
  9036.          nPos     : The position in the submenu of the item to be deleted
  9037.  
  9038.     Description:
  9039.  
  9040.          Deletes an item or a divider line from a submenu and resizes
  9041.          the submenu array.
  9042.  
  9043.     Return:
  9044.  
  9045.          Nil.
  9046.  
  9047.     Example:
  9048.  
  9049.                                  - Page 151 -
  9050. Norton Guide: `FAST.lib 3.15 » Reference'
  9051.  
  9052.  
  9053.  
  9054.          aMenu := NewMenu( { "^System", "^Tools", "^Other" }, ;
  9055.                            { "N/W", "R/W", "W/B",  "W+/B", ;
  9056.                              "N/W", "W/B", "N+/W", "R/W", "GR+/B" } )
  9057.          AddItem ( aMenu, 1, "Item ^1", "Message 1" )
  9058.          AddItem ( aMenu, 1, "Item ^2", "Message 2" )
  9059.  
  9060.          DelLine ( aMenu, 1, 2 )  // Delete the second item
  9061.  
  9062. See Also: "AddItem()" "AddLine()" 
  9063.  
  9064.  
  9065. DispMenu()
  9066.  
  9067.          Activates a menu that has been previously created
  9068.  
  9069.     Syntax:
  9070.  
  9071.          DispMenu( aMenu [, nInit] ) -> nOption
  9072.  
  9073.          aMenu : An array defining the structure of the menu that was
  9074.                  created previously with NewMenu().
  9075.          nInit : An optional numeric value indicating the number of the item
  9076.                  to be highlighted when the menu is first displayed
  9077.  
  9078.     Description:
  9079.  
  9080.          Activates a menu and processes all navigation keys, returning
  9081.          a value computed as:
  9082.  
  9083.             nOption := ;
  9084.                ( Menu_Num * 10000 ) + ( Opt_Num * 100 ) + SubMenu Option
  9085.  
  9086.          Note that multiple menus can be created and later activated
  9087.          as needed; this can be very useful for maintaining menus in
  9088.          a variety of languages.
  9089.  
  9090.          The associated message text for each item will be displayed on
  9091.          the screen row specified by SET MESSAGE TO <nRow>.
  9092.  
  9093.     Return:
  9094.  
  9095.          A numeric value indicating the selected option,
  9096.          or 0 if Esc is pressed.
  9097.  
  9098.     Example:
  9099.  
  9100.          aMenu := NewMenu( { "^System", "^Tools", "^Other" }, ;
  9101.                            { "N/W", "R/W", "W/B",  "W+/B", ;
  9102.                              "N/W", "W/B", "N+/W", "R/W", "GR+/B" } )
  9103.  
  9104.          AddItem ( aMenu, 1, "Item ^1-1", "Message" )
  9105.          AddItem ( aMenu, 1, "Item ^2-1", "Message" )
  9106.          AddItem ( aMenu, 2, "Item ^1-2", "Message" )
  9107.          AddItem ( aMenu, 2, "Item ^2-2", "Message" )
  9108.  
  9109.                                  - Page 152 -
  9110. Norton Guide: `FAST.lib 3.15 » Reference'
  9111.  
  9112.  
  9113.          AddItem ( aMenu, 3, "Item ^1-3", "Message" )
  9114.  
  9115.          nOpt := DispMenu ( aMenu, 3 )
  9116.  
  9117.          Do Case
  9118.            Case nOpt == 101             // Menu 1, option 1
  9119.              ...
  9120.            Case nOpt == 102             // Menu 1, option 2
  9121.              ...
  9122.          EndCase
  9123.  
  9124. See Also: "NewMenu()" 
  9125.  
  9126.  
  9127.     OffItem()
  9128.  
  9129.          Deactivates one item of a submenu
  9130.  
  9131.     Syntax:
  9132.  
  9133.          OffItem( aMenu, nSubMenu, nPos ) -> Nil
  9134.  
  9135.          aMenu    : The menu created with NewMenu()
  9136.          nSubMenu : The number of the submenu in which to deactivate the item
  9137.          nPos     : The position of the item in the submenu
  9138.  
  9139.     Description:
  9140.  
  9141.          Deactivates an item so that it cannot be selected or
  9142.          seen in the menu.
  9143.  
  9144.     Return:
  9145.  
  9146.          Nil.
  9147.  
  9148.     Example:
  9149.  
  9150.          aMenu := NewMenu( { "^System", "^Tools", "^Other" }, ;
  9151.                            { "N/W", "R/W", "W/B",  "W+/B", ;
  9152.                              "N/W", "W/B", "N+/W", "R/W", "GR+/B" } )
  9153.          AddItem ( aMenu, 1, "Item ^1", "Message 1" )
  9154.          AddItem ( aMenu, 1, "Item ^2", "Message 2" )
  9155.  
  9156.          OffItem ( aMenu, 1, 2 )  // Deactivates the second item.
  9157.  
  9158. See Also: "OnItem()" 
  9159.  
  9160.  
  9161.     OnItem()
  9162.  
  9163.          Reactivates an item of a submenu
  9164.  
  9165.     Syntax:
  9166.  
  9167.          OnItem( aMenu, nSubMenu, nPos ) -> Nil
  9168.  
  9169.                                  - Page 153 -
  9170. Norton Guide: `FAST.lib 3.15 » Reference'
  9171.  
  9172.  
  9173.  
  9174.          aMenu    : The menu created with NewMenu()
  9175.          nSubMenu : The number of the submenu in which to reactivate the item
  9176.          nPos     : The position of the item in the submenu
  9177.  
  9178.     Description:
  9179.  
  9180.          Reactivates a menu item, making it selectable again.
  9181.          A divider line cannot be made selectable.
  9182.          Only an item previously deactivated can be reactivated.
  9183.  
  9184.     Return:
  9185.  
  9186.          Nil.
  9187.  
  9188.     Example:
  9189.  
  9190.          aMenu := NewMenu( { "^System", "^Tools", "^Other" }, ;
  9191.                            { "N/W", "R/W", "W/B",  "W+/B", ;
  9192.                              "N/W", "W/B", "N+/W", "R/W", "GR+/B" } )
  9193.          AddItem ( aMenu, 1, "Item ^1", "Message 1" )
  9194.          AddItem ( aMenu, 1, "Item ^2", "Message 2" )
  9195.  
  9196.          OffItem ( aMenu, 1, 2 )  // Deactivate the second item
  9197.          OnItem ( aMenu, 1, 2 )   // Now reactivate it
  9198.  
  9199. See Also: "OffItem()" 
  9200.  
  9201.  
  9202.     NewMenu()
  9203.  
  9204.           Creates a new menu structure
  9205.  
  9206.     Syntax:
  9207.  
  9208.          NewMenu( aOptions, aColors, lShadow ) -> aMenu
  9209.  
  9210.          aOptions : A one-dimensional array with the structure:
  9211.  
  9212.                        { cOption1, cOption2, ..., cOptionN }
  9213.  
  9214.                     Each option may include the symbol "^" to indicate
  9215.                     that the character it precedes will be the one you could
  9216.                     use with the Alt key to select the option.
  9217.  
  9218.          aColors  : An array of 9 elements specifying the colors for:
  9219.  
  9220.                      - Non-selected options
  9221.                      - Special character of non-selected options
  9222.                      - Selected option
  9223.                      - Special character of selected option
  9224.                      - Items of the submenus
  9225.                      - Selected item of the submenus
  9226.                      - Non-selectable items of the submenus
  9227.                      - Special character of non-selected submenu items
  9228.  
  9229.                                  - Page 154 -
  9230. Norton Guide: `FAST.lib 3.15 » Reference'
  9231.  
  9232.  
  9233.                      - Special character of selected submenu items
  9234.  
  9235.          lShadow  : A logic value to indicate shadowing. Default .F.
  9236.  
  9237.     Description:
  9238.  
  9239.          Creates an array defining the structure of a menu and the
  9240.          colors in which to display menu options and submenu items
  9241.          for each of the conditions listed above for aColors.
  9242.  
  9243.     Return:
  9244.  
  9245.          An array defining the structure and colors of the newly created menu.
  9246.  
  9247.     Example:
  9248.  
  9249.          aMenu := NewMenu( { "^System", "^Tools", "^Other" }, ;
  9250.                            { "N/W", "R/W", "W/B",  "W+/B", ;
  9251.                              "N/W", "W/B", "N+/W", "R/W", "GR+/B" }, ;
  9252.                            .T. )
  9253.  
  9254. See Also: "DispMenu()" 
  9255.  
  9256.  
  9257.     READ
  9258.  
  9259.           @ SAY..GET format for Radio Buttons
  9260.  
  9261.     Syntax:
  9262.  
  9263.          @ nRow, nCol [ SAY cSayText ]
  9264.                 GET cGetVar
  9265.                 [ WHEN lPrevalid ]
  9266.                 [ VALID lPostValid ]
  9267.                 [ COLOR cColor ]
  9268.                 WITH RADIOBUTTONS aOptions
  9269.                 [ NOBOX ]
  9270.                 [ DOUBLE ]
  9271.                 [ HORIZONTAL ]
  9272.  
  9273.  
  9274.     Description:
  9275.  
  9276.          Now you can create attractive radio buttons compliant with
  9277.          the CUA specifications by using an additional variant of
  9278.          the @ SAY..GET command and the standard CA-Clipper READ command.
  9279.          The new @ SAY..GET clause WITH RADIOBUTTONS specifies an
  9280.          array containing the radio button characteristics.
  9281.          If NOBOX is specified, the radio buttons will be displayed
  9282.          without an enclosing box.  If NOBOX is omitted, the radio
  9283.          buttons will be enclosed in either a single- or double-line
  9284.          box depending on whether or not DOUBLE is specified.  The
  9285.          radio buttons will be oriented horizontally if HORIZONTAL
  9286.          is specified, and vertically otherwise.
  9287.  
  9288.  
  9289.                                  - Page 155 -
  9290. Norton Guide: `FAST.lib 3.15 » Reference'
  9291.  
  9292.  
  9293.     Return:
  9294.  
  9295.          Not applicable.
  9296.  
  9297.     Example:
  9298.  
  9299.          @ 4,5  SAY "Get Normal 1:" GET cGet1
  9300.          @ 6,5  SAY "Clipper Lib"   GET nChoice1 ;
  9301.                 COLOR "R/B" ;
  9302.                 WITH RADIOBUTTONS { "1 Opc", "2 No buttons", "3 Opc" }
  9303.          @ 6,40 SAY "Fast Library"  GET nChoice2 WHEN nChoice1 != 2 ;
  9304.                 COLOR "W/N" ;
  9305.                 WITH RADIOBUTTONS { "1 Adios", "2 Agur", "3 Bye bye" }
  9306.          @ 7,60 GET nChoice3 ;
  9307.                 COLOR "GR+/B" ;
  9308.                 WITH RADIOBUTTONS { "1 Quick", "3 Simple", "4 Beautiful" } ;
  9309.                 NOBOX
  9310.          @ 12,5 SAY "Get Normal 2:" GET cGet2
  9311.          @ 17,5 SAY "Buttons 4:"    GET nChoice4 ;
  9312.                 COLOR "R+/W" ;
  9313.                 WITH RADIOBUTTONS { "1 Option", "2 Option", "3 Option" } ;
  9314.                 DOUBLE ;
  9315.                 HORIZONTAL
  9316.          READ
  9317.  
  9318.  
  9319.  
  9320.  
  9321.  
  9322.  
  9323.  
  9324.  
  9325.  
  9326.  
  9327.  
  9328.  
  9329.  
  9330.  
  9331.  
  9332.  
  9333.  
  9334.  
  9335.  
  9336.  
  9337.  
  9338.  
  9339.  
  9340.  
  9341.  
  9342.  
  9343.  
  9344.  
  9345.  
  9346.  
  9347.  
  9348.                                  - Page 156 -
  9349. Norton Guide: `FAST.lib 3.15 » Reference'
  9350.  
  9351.  
  9352. Menu List: FAST.lib 2, Mouse
  9353.  
  9354.  
  9355.  
  9356.  
  9357.     This section of the library will give complete access to the mouse in
  9358.   your Clipper applications.
  9359.  
  9360.  ──────────────────────────────────────────────────────────────────────────────
  9361.  
  9362.  
  9363.     rButtons()
  9364.  
  9365.          Returns number of buttons
  9366.  
  9367.     Syntax:
  9368.  
  9369.          rButtons() -> nButtons
  9370.  
  9371.     Description:
  9372.  
  9373.          Returns 2 if mouse is a Microsoft mouse or 3 if mouse is a
  9374.          Mouse Systems/Logitech mouse.
  9375.  
  9376.     Return:
  9377.  
  9378.          A numeric value indicating the number of buttons.
  9379.  
  9380.     Example:
  9381.  
  9382.          ? rButtons ()
  9383.  
  9384.  
  9385.     rCentre()
  9386.  
  9387.          Determines if the center button is pressed
  9388.  
  9389.     Syntax:
  9390.  
  9391.          rCentre() -> lPress
  9392.  
  9393.     Description:
  9394.  
  9395.          Determines if the center button is pressed returning a logic
  9396.          value.
  9397.  
  9398.     Return:
  9399.  
  9400.          A logic value indicating if is pressed or not.
  9401.  
  9402.     Example:
  9403.  
  9404.          If rCentre()
  9405.            Warning ( "Central button pressed" )
  9406.          EndIf
  9407.  
  9408.                                  - Page 157 -
  9409. Norton Guide: `FAST.lib 3.15 » Reference'
  9410.  
  9411.  
  9412.  
  9413. See Also: "rLeft()" "rRight()" 
  9414.  
  9415.  
  9416.     rCursorOff()
  9417.  
  9418.          Disables the mouse cursor display
  9419.  
  9420.     Syntax:
  9421.  
  9422.          rCursorOff() -> Nil
  9423.  
  9424.     Description:
  9425.  
  9426.          Hides the mouse cursor. Multiple calls to this function will require
  9427.          multiple calls to rCursorOn() to unhide it.
  9428.  
  9429.     Return:
  9430.  
  9431.          Nothing.
  9432.  
  9433.     Example:
  9434.  
  9435.          rCursorOff()
  9436.  
  9437. See Also: "rCursorOn()" 
  9438.  
  9439.  
  9440.     rCursorOn()
  9441.  
  9442.          Enables the mouse cursor display
  9443.  
  9444.     Syntax:
  9445.  
  9446.          rCursorOn() -> Nil
  9447.  
  9448.     Description:
  9449.  
  9450.          Shows the mouse cursor. Multiple calls to rCursorOff() will require
  9451.          multiple calls to this function to show it.
  9452.  
  9453.     Return:
  9454.  
  9455.          Nothing.
  9456.  
  9457.     Example:
  9458.  
  9459.          rCursorOn()
  9460.  
  9461. See Also: "rCursorOff()" 
  9462.  
  9463.  
  9464.     rClick()
  9465.  
  9466.          Returns the button press state
  9467.  
  9468.                                  - Page 158 -
  9469. Norton Guide: `FAST.lib 3.15 » Reference'
  9470.  
  9471.  
  9472.  
  9473.     Syntax:
  9474.  
  9475.          rClick() -> lPush
  9476.  
  9477.     Description:
  9478.  
  9479.          Determines if a mouse button is pressed returning a logic value.
  9480.  
  9481.     Return:
  9482.  
  9483.          A logic value indicating if is pressed or not.
  9484.  
  9485.     Example:
  9486.  
  9487.          If rClick()
  9488.            ? "Yes"
  9489.          EndIf
  9490.  
  9491. See Also: "rCentre()" "rRight()" "rLeft()" 
  9492.  
  9493.  
  9494.     rGetPosX()
  9495.  
  9496.          Returns the horizontal cursor coordinate
  9497.  
  9498.     Syntax:
  9499.  
  9500.          rGetPosX() -> nCoorX
  9501.  
  9502.     Description:
  9503.  
  9504.          Returns the mouse horizontal cursor coordinate.
  9505.  
  9506.     Return:
  9507.  
  9508.          A numeric value indicating the X position.
  9509.  
  9510.     Example:
  9511.  
  9512.          ? rGetPosX()
  9513.  
  9514. See Also: "rGetPosY()" 
  9515.  
  9516.  
  9517.     rGetPosY()
  9518.  
  9519.          Returns the vertical cursor coordinate
  9520.  
  9521.     Syntax:
  9522.  
  9523.          rGetPosY() -> nCoorY
  9524.  
  9525.     Description:
  9526.  
  9527.  
  9528.                                  - Page 159 -
  9529. Norton Guide: `FAST.lib 3.15 » Reference'
  9530.  
  9531.  
  9532.          Returns the mouse vertical cursor coordinate.
  9533.  
  9534.     Return:
  9535.  
  9536.          A numeric value indicating the Y position.
  9537.  
  9538.     Example:
  9539.  
  9540.          ? rGetPosY()
  9541.  
  9542. See Also: "rGetPosX()" 
  9543.  
  9544.  
  9545.     rHardCur()
  9546.  
  9547.          Defines the hardware text cursor
  9548.  
  9549.     Syntax:
  9550.  
  9551.          rHardCur() -> Nil
  9552.  
  9553.     Description:
  9554.  
  9555.          When the software cursor is selected, the char/attribute data at
  9556.          the current screen position is ANDed with the screen mask and
  9557.          then XORed with the cursor mask.
  9558.  
  9559.     Return:
  9560.  
  9561.          Nothing.
  9562.  
  9563.     Example:
  9564.  
  9565.          rHardCur()
  9566.  
  9567. See Also: "rSoftCur()" 
  9568.  
  9569.  
  9570.     rInArea()
  9571.  
  9572.          Determines if the mouse is on a zone of the screen
  9573.  
  9574.     Syntax:
  9575.  
  9576.          rInArea( nY1, nX1, nY2, nX2 ) -> lHere
  9577.  
  9578.          nY1, nX1, nY2, nX2 : The coordinates of the zone.
  9579.  
  9580.     Description:
  9581.  
  9582.          Determines if the mouse cursor is inside a zone of the screen
  9583.  
  9584.     Return:
  9585.  
  9586.          A logic value indicating if is inside of the specified zone.
  9587.  
  9588.                                  - Page 160 -
  9589. Norton Guide: `FAST.lib 3.15 » Reference'
  9590.  
  9591.  
  9592.  
  9593.     Example:
  9594.  
  9595.          If rInArea ( 10, 10, 12, 20 )
  9596.            Warning ( "Mouse ok" )
  9597.          EndIf
  9598.  
  9599.  
  9600.     rInkey()
  9601.  
  9602.          Does the same as Inkey() but also takes care of the mouse
  9603.  
  9604.     Syntax:
  9605.  
  9606.          rInkey() -> nKey
  9607.  
  9608.     Description:
  9609.  
  9610.          The same as inkey() but also takes care of the mouse.
  9611.  
  9612.     Return:
  9613.  
  9614.          Returns the same as inKey() or 1001 if the left button is
  9615.          pressed, 1002 if the right button is pressed or 1003 if the center
  9616.          button is pressed.
  9617.  
  9618.     Example:
  9619.  
  9620.          nKey := rInkey(0)
  9621.          If nKey > 1000
  9622.            Warning ( "Mouse button pressed" )
  9623.          ElseIf nKey != 0
  9624.            Warning ( "Key pressed" )
  9625.          Else
  9626.            Warning ( "Nothing" )
  9627.          EndIf
  9628.  
  9629. See Also: "rInkey2()" 
  9630.  
  9631.  
  9632.     rInkey2()
  9633.  
  9634.          Does the same as Inkey() and takes care of the mouse and Setkey()
  9635.  
  9636.     Syntax:
  9637.  
  9638.          rInkey() -> nKey
  9639.  
  9640.     Description:
  9641.  
  9642.          The same as rInkey() and takes care of the mouse and Setkey().
  9643.  
  9644.     Return:
  9645.  
  9646.          Returns the same as inkey() or 1001 if the left button is
  9647.  
  9648.                                  - Page 161 -
  9649. Norton Guide: `FAST.lib 3.15 » Reference'
  9650.  
  9651.  
  9652.          pressed, 1002 if the right button is pressed or 1003 if the center
  9653.          button is pressed.
  9654.  
  9655.     Example:
  9656.  
  9657.          SetKey ( 1001, { || Warning ( "Mouse Left pressed"  } )
  9658.          SetKey ( 1002, { || Warning ( "Mouse Right pressed" } )
  9659.          SetKey ( 1003, { || Warning ( "Mouse Central pressed" } )
  9660.          nKey := rInkey2(0)
  9661.          If nKey != 0
  9662.            Warning ( "Key pressed" )
  9663.          Else
  9664.            Warning ( "Nothing" )
  9665.          EndIf
  9666.  
  9667. See Also: "rInkey()" 
  9668.  
  9669.  
  9670.     rIsMouse()
  9671.  
  9672.          Indicates if the system has a mouse
  9673.  
  9674.     Syntax:
  9675.  
  9676.          rIsMouse() -> lMouse
  9677.  
  9678.     Description:
  9679.  
  9680.          Determines if the system has a mouse and the mouse driver has been
  9681.          loaded.
  9682.  
  9683.     Return:
  9684.  
  9685.          A logic value indicating if system has a mouse.
  9686.  
  9687.     Example:
  9688.  
  9689.          If rIsMouse()
  9690.            Warning ( "Yes" )
  9691.          EndIf
  9692.  
  9693. See Also: "rReset()" 
  9694.  
  9695.  
  9696.     rLeft()
  9697.  
  9698.          Determines if the left button is pressed
  9699.  
  9700.     Syntax:
  9701.  
  9702.          rLeft() -> lPress
  9703.  
  9704.     Description:
  9705.  
  9706.          Determines if the left button is pressed returning a logic value.
  9707.  
  9708.                                  - Page 162 -
  9709. Norton Guide: `FAST.lib 3.15 » Reference'
  9710.  
  9711.  
  9712.  
  9713.     Return:
  9714.  
  9715.          A logic value indicating if is pressed or not.
  9716.  
  9717.     Example:
  9718.  
  9719.          If rLeft()
  9720.            Warning ( "Left button pressed" )
  9721.          EndIf
  9722.  
  9723. See Also: "rCentre()" "rRight()" 
  9724.  
  9725.  
  9726.     rReset()
  9727.  
  9728.          Resets mouse driver
  9729.  
  9730.     Syntax:
  9731.  
  9732.          rReset() -> Nil
  9733.  
  9734.     Description:
  9735.  
  9736.          Generates a hardware reset driver.
  9737.  
  9738.     Return:
  9739.  
  9740.          Nothing.
  9741.  
  9742.     Example:
  9743.  
  9744.          rReset()
  9745.  
  9746. See Also: "rIsMouse()" 
  9747.  
  9748.  
  9749.     rRight()
  9750.  
  9751.          Determines if the right button is pressed
  9752.  
  9753.     Syntax:
  9754.  
  9755.          rRight() -> lPress
  9756.  
  9757.     Description:
  9758.  
  9759.          Determines if the right button is pressed returning a logic value.
  9760.  
  9761.     Return:
  9762.  
  9763.          A logic value indicating if is pressed or not.
  9764.  
  9765.     Example:
  9766.  
  9767.  
  9768.                                  - Page 163 -
  9769. Norton Guide: `FAST.lib 3.15 » Reference'
  9770.  
  9771.  
  9772.          If rRight()
  9773.            Warning ( "Right button pressed" )
  9774.          EndIf
  9775.  
  9776. See Also: "rCentre()" "rLeft()" 
  9777.  
  9778.  
  9779.     rSens()
  9780.  
  9781.          Defines the number of mickeys per pixels
  9782.  
  9783.     Syntax:
  9784.  
  9785.          rSens( nSensHor, nSensVer ) -> Nil
  9786.  
  9787.          nSensHor : A numeric value indicates the number of mickeys per
  9788.                     pixel horizontally. Default is 8.
  9789.          nSensVer : A numeric value indicates the number of mickeys per
  9790.                     pixel vertically. Default is 16.
  9791.  
  9792.     Description:
  9793.  
  9794.          Defines the number of mickeys per 8 pixels horizontally and
  9795.          vertically.
  9796.  
  9797.     Return:
  9798.  
  9799.          Nothing.
  9800.  
  9801.     Example:
  9802.  
  9803.          rSens( 3, 12 )
  9804.  
  9805.  
  9806.     rSetArea()
  9807.  
  9808.          Indicates the zone where the mouse is active
  9809.  
  9810.     Syntax:
  9811.  
  9812.          rSetArea( nY1, nX1, nY2, nX2 ) -> Nil
  9813.  
  9814.          nY1 : Initial Y coordinate
  9815.          nX1 : Initial X coordinate
  9816.          nY2 : Final Y coordinate
  9817.          nX2 : Final X coordinate
  9818.  
  9819.     Description:
  9820.  
  9821.          Indicates the zone where the mouse is to be active.  The system
  9822.          won't allow the pointer to move out of this zone.
  9823.  
  9824.     Return:
  9825.  
  9826.          Nothing.
  9827.  
  9828.                                  - Page 164 -
  9829. Norton Guide: `FAST.lib 3.15 » Reference'
  9830.  
  9831.  
  9832.  
  9833.     Example:
  9834.  
  9835.          rSetArea ( 12, 20, 15, 60 )
  9836.  
  9837.  
  9838.     rSetPos()
  9839.  
  9840.          Changes the mouse cursor position
  9841.  
  9842.     Syntax:
  9843.  
  9844.          rSetPos( nRow, nCol ) -> Nil
  9845.  
  9846.          nRow : New row of mouse cursor
  9847.          nCol : New col of mouse cursor
  9848.  
  9849.     Description:
  9850.  
  9851.          Changes the mouse cursor to a new position.
  9852.  
  9853.     Return:
  9854.  
  9855.          Nothing.
  9856.  
  9857.     Example:
  9858.  
  9859.          rSetPos ( 12, 20 )
  9860.  
  9861.  
  9862.     rSoftCur()
  9863.  
  9864.          Defines software text cursor
  9865.  
  9866.     Syntax:
  9867.  
  9868.          rSoftCur() -> Nil
  9869.  
  9870.     Description:
  9871.  
  9872.          When the software cursor is selected, the char/attribute data at
  9873.          the current screen position is ANDed with the screen mask and then
  9874.          XORed with the cursor mask.
  9875.  
  9876.     Return:
  9877.  
  9878.          Nothing.
  9879.  
  9880.     Example:
  9881.  
  9882.          rSoftCur()
  9883.  
  9884. See Also: "rHardCur()" 
  9885.  
  9886.  
  9887.                                  - Page 165 -
  9888. Norton Guide: `FAST.lib 3.15 » Reference'
  9889.  
  9890.  
  9891. Menu List: FAST.lib 2, Printer
  9892.  
  9893.  
  9894.  
  9895.  
  9896.     With these functions you can control printing in Clipper. You will
  9897.  also be able to control the queue of the print command in DOS.
  9898.  
  9899.  ──────────────────────────────────────────────────────────────────────────────
  9900.  
  9901.  
  9902.     GetPrinter()
  9903.  
  9904.          Gets printer state
  9905.  
  9906.     Syntax:
  9907.  
  9908.          GetPrinter( [nPrinter] ) -> nStatus
  9909.  
  9910.          nPrinter : Printer Number. 0 = LPT1, 1 = LPT2...
  9911.                     Defect verify the printer 0
  9912.  
  9913.     Description:
  9914.  
  9915.          Determines if the printer is ready, out of paper, if is off or there
  9916.          is no printer.
  9917.  
  9918.     Return:
  9919.  
  9920.          A number indicating the printer state over the next list.
  9921.  
  9922.  
  9923.           0 READY       ->  Ready
  9924.           1 BUSY        ->  Not ready
  9925.           2 PAPER       ->  Out of paper
  9926.           3 NOTHERE     ->  There's no printer
  9927.           4 LAN         ->  Remote printer
  9928.           5 ISOFF       ->  Not ready
  9929.  
  9930.     Example:
  9931.  
  9932.          nStatus := GetPrinter()
  9933.          If nStatus == 0 .Or. nStatus == 4
  9934.            Warning ( "Printer Ready" )
  9935.          EndIf
  9936.  
  9937.  
  9938.     IsPrint()
  9939.  
  9940.          Determines if PRINT.EXE is loaded
  9941.  
  9942.     Syntax:
  9943.  
  9944.          IsPrint() -> lLoaded
  9945.  
  9946.  
  9947.                                  - Page 166 -
  9948. Norton Guide: `FAST.lib 3.15 » Reference'
  9949.  
  9950.  
  9951.     Description:
  9952.  
  9953.          Determines if PRINT.EXE is loaded in memory.
  9954.  
  9955.     Return:
  9956.  
  9957.          A logic value indicating if is loaded or not.
  9958.  
  9959.     Example:
  9960.  
  9961.          If IsPrint()
  9962.            Warning ( "Print has been loaded" )
  9963.          EndIf
  9964.  
  9965.  
  9966.     pAddFile()
  9967.  
  9968.          Adds a file to the print command's queue
  9969.  
  9970.     Syntax:
  9971.  
  9972.          pAddFile( cFile ) -> lError
  9973.  
  9974.          cFile : The file that is to be printed.
  9975.  
  9976.     Description:
  9977.  
  9978.          Adds a file to the print command's queue.
  9979.          Check that PRINT.EXE is installed before using this function.
  9980.  
  9981.     Return:
  9982.  
  9983.          .T. if everything is Ok. or .F. if there are problems.
  9984.  
  9985.     Example:
  9986.  
  9987.          If ! pAddFile( "c:\autoexec.bat" )
  9988.            Warning ( "Error" )
  9989.          EndIf
  9990.  
  9991. See Also: "IsPrint()" "pDelAll()" "pDelFile()" "pError()" "pRestart()" 
  9992.  
  9993.  
  9994.     pDelAll()
  9995.  
  9996.          Deletes all the Print command's queue
  9997.  
  9998.     Syntax:
  9999.  
  10000.          pDelAll() -> lError
  10001.  
  10002.     Description:
  10003.  
  10004.          Deletes a the Print command's queue.
  10005.          Check that PRINT.EXE is installed before using this function.
  10006.  
  10007.                                  - Page 167 -
  10008. Norton Guide: `FAST.lib 3.15 » Reference'
  10009.  
  10010.  
  10011.  
  10012.     Return:
  10013.  
  10014.           .T. if everything is Ok. or .F. if there are problems.
  10015.  
  10016.     Example:
  10017.  
  10018.          If ! pDelAll()
  10019.            Warning ( "Error" )
  10020.          EndIf
  10021.  
  10022. See Also: "IsPrint()" "pAddFile()" "pDelFile()" "pError()" "pRestart()" 
  10023.  
  10024.  
  10025.     pDelFile()
  10026.  
  10027.          Deletes the Print command's queue
  10028.  
  10029.     Syntax:
  10030.  
  10031.          pDelFile( cFile ) -> lError
  10032.  
  10033.          cFile : The file to delete from the queue.
  10034.  
  10035.     Description:
  10036.  
  10037.          Deletes the Print command's queue.
  10038.          Check that PRINT.EXE is installed before using this function.
  10039.  
  10040.     Return:
  10041.  
  10042.           .T. if everything is Ok. or .F. if there are problems.
  10043.  
  10044.     Example:
  10045.  
  10046.          pAddFile ( "c:\config.sys" )
  10047.          If ! pDelFile( "c:\config.sys" )
  10048.            Warning( "Error" )
  10049.          EndIf
  10050.  
  10051. See Also: "IsPrint()" "pAddFile()" "pDelAll()" "pError()" "pRestart()" 
  10052.  
  10053.  
  10054.  
  10055.           Indicates if the print queue has been stopped
  10056.  
  10057.     Syntax:
  10058.  
  10059.          pError() -> lError
  10060.  
  10061.     Description:
  10062.  
  10063.          Indicates if Print has detected any error or problem and has
  10064.          stopped the queue.
  10065.          Check that PRINT.EXE is installed before using this function.
  10066.  
  10067.                                  - Page 168 -
  10068. Norton Guide: `FAST.lib 3.15 » Reference'
  10069.  
  10070.  
  10071.  
  10072.     Return:
  10073.  
  10074.          .T. if there is error or .F. if there is not error.
  10075.  
  10076.     Example:
  10077.  
  10078.          If ! pError()
  10079.            Warning ( "Ok" )
  10080.          EndIf
  10081.  
  10082. See Also: "IsPrint()" "pAddFile()" "pDelAll()" "pDelFile()" "pRestart()" 
  10083.  
  10084.  
  10085.     pQueue()
  10086.  
  10087.          Returns the Print's queue
  10088.  
  10089.     Syntax:
  10090.  
  10091.          pQueue() -> aQueue
  10092.  
  10093.     Description:
  10094.  
  10095.          Returns the Print's queue.
  10096.          Check that PRINT.EXE is installed before using this function.
  10097.  
  10098.     Return:
  10099.  
  10100.          An array with the files of the Print's queue.
  10101.  
  10102.     Example:
  10103.  
  10104.          If IsPrint()
  10105.            aQueue := pQueue()
  10106.            For nInd := 1 To Len( aQueue )
  10107.              ? aQueue[ nInd ]
  10108.            Next
  10109.          EndIf
  10110.  
  10111. See Also: "IsPrint()" "pAddFile()" "pDelAll()" "pDelFile()" "pError()" 
  10112.  
  10113.  
  10114.     pRestart()
  10115.  
  10116.          Restarts the Print's queue
  10117.  
  10118.     Syntax:
  10119.  
  10120.          pRestart() -> lError
  10121.  
  10122.     Description:
  10123.  
  10124.          Restart the Print's queue.
  10125.          Check that PRINT.EXE is installed before using this function.
  10126.  
  10127.                                  - Page 169 -
  10128. Norton Guide: `FAST.lib 3.15 » Reference'
  10129.  
  10130.  
  10131.  
  10132.     Return:
  10133.  
  10134.          .T. if can be restart or .F. if can not be restart.
  10135.  
  10136.     Example:
  10137.  
  10138.          If pError()
  10139.            If pRestart()
  10140.              Warning ( "Restarting queue..." )
  10141.            Else
  10142.              Warning ( "queue is dead" )
  10143.            Endif
  10144.          Else
  10145.            Warning ( "All right" )
  10146.          EndIf
  10147.  
  10148. See Also: "IsPrint()" "pAddFile()" "pDelAll()" "pDelFile()" "pError()" 
  10149.  
  10150.  
  10151.     PrtScr()
  10152.  
  10153.           Prints the current screen
  10154.  
  10155.     Syntax:
  10156.  
  10157.          PrtScr() -> Nil
  10158.  
  10159.     Description:
  10160.  
  10161.           Prints the current screen.  This is functionally equivalent to
  10162.           the Shift-PrtScrn key.
  10163.  
  10164.     Return:
  10165.  
  10166.          Nothing.
  10167.  
  10168.     Example:
  10169.  
  10170.          PrtScr()                       // Prints the screen
  10171.  
  10172. See Also: "SetHardCopy()" 
  10173.  
  10174.  
  10175.     SetHardCopy()
  10176.  
  10177.           Enables/disables hardcopy
  10178.  
  10179.     Syntax:
  10180.  
  10181.          SetHardCopy( lEnable ) -> Nothing
  10182.  
  10183.          lEnable : A logic value indicating enable hardcopy (.T.) or
  10184.                    disable (.F.)
  10185.  
  10186.  
  10187.                                  - Page 170 -
  10188. Norton Guide: `FAST.lib 3.15 » Reference'
  10189.  
  10190.  
  10191.     Description:
  10192.  
  10193.           This function Enables or disables the hardcopy generated by
  10194.           the PrtScr key.
  10195.  
  10196.     Return:
  10197.  
  10198.          A logic value indicating if hardcopy is disable or enable.
  10199.  
  10200.     Example:
  10201.  
  10202.          SetHardCopy( .F. )                 // disable hardcopy
  10203.  
  10204. See Also: "PrtScr()" 
  10205.  
  10206.  
  10207.     ToPrint()
  10208.  
  10209.           Prints a string on the Printer
  10210.  
  10211.     Syntax:
  10212.  
  10213.          ToPrint( cString ) -> Nil
  10214.  
  10215.          cString : The string to be Printed on the Printer.
  10216.  
  10217.     Description:
  10218.  
  10219.          Prints a string on the Printer with a CR/LF. Do not open or close the
  10220.          Port, this function will do it for you.
  10221.  
  10222.     Return:
  10223.  
  10224.          Nothing.
  10225.  
  10226.     Example:
  10227.  
  10228.          ToPrint ( "This string goes to printer" )
  10229.  
  10230.  
  10231.  
  10232.  
  10233.  
  10234.  
  10235.  
  10236.  
  10237.  
  10238.  
  10239.  
  10240.  
  10241.  
  10242.  
  10243.  
  10244.  
  10245.  
  10246.                                  - Page 171 -
  10247. Norton Guide: `FAST.lib 3.15 » Reference'
  10248.  
  10249.  
  10250. Menu List: FAST.lib 2, OOPS
  10251.  
  10252.  
  10253.  
  10254.  
  10255.     With the functions in this section you'll be able to create new classes
  10256.  that will be totally compatible with Clipper.
  10257.  
  10258.     The OOPS engine included in FAST.lib is the marvelous Objects 2.0.
  10259.  
  10260.            ▄                    ▄▄▀▀▀▄▄               ▄▄▄▀▀▀▀▄▄▄           
  10261.          ▄▀█▀▄              ▄▄▀▀███████▀▀▄▄        ▄▀▀ ████████ ▀▀▄        
  10262.        ▄▀███▀▄▀▄          █▀▄▄████████   ▄▄██     █  ██████████ ▀▄▀█▄         
  10263.      ▄▀█████▀▄▀▄▀▄        ████▀▀▄▄█  ▄▄█▀▄▀▄█    █  ████████████ ▄▀▄█         
  10264.    ▄▀███████▀▄▀▄▀▄▀▄      ██████ █▀▀█▄▀▄▀▄▀▄█    █ ████████████ ▀▄▀▄█
  10265.  ▄▀████████ █▄▀▄▀▄▀▄▀▄    ███████████▄▀▄▀▄▀▄█    █ ███████████ ▄▀▄▀▄█
  10266.  ██████████ █▄▀▄▀▄▀▄█▀▄   ██████ ████▄▀▄▀▄▀▄▀▄ ▄ ▄█  ██████████▄▀▄▀▄█
  10267.   ▀▀▄▄█████ █▄▀▄▀▄█▀▄▀▄▀▄ ▀▀▄▄███████▄▀▄▀▄▀▄▀▄▀▄▀▄▀█▄███ ███ ▄▀▄▀▄█▀▄▀▄▀▄▀▄▀▄
  10268.       ▀▀▄▄███▄▀▄█▀▄▀▄▀▄▀▄▀▄   ▀▀▄▄███▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀█▄▄ ██ ▀▄█▄█▀▄▀▄▀▄▀▄▀▄▀▄
  10269.           ▀▀▀▀▀▀ ▀ ▀ ▀ ▀ ▀        ▀▀▀▀▀▄▀▄▀▄▀▄▀▄▀▄▀     ▀▀▀▀▀▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄
  10270.                Object Oriented Programing System For Clipper 5 ▀ ▀▄▀▄▀▄▀▄▀▄▀
  10271.  
  10272.  
  10273.   Major changes in Objects 2.0 from version 1.5:
  10274.  
  10275.     Much more speed and incredible small size!!!  Try it!!!
  10276.     No public exported symbols --> Much less EXE size!!!
  10277.     You should use Super:...( ... ) instead of ::Parent
  10278.     It coexists with other non Object-Classes
  10279.     You have to recompile your previous Objects 1.2 & 1.5 Classes
  10280.  
  10281.  
  10282.  Come in to the OOPS world with FAST.lib and Objects!
  10283.  
  10284.  ──────────────────────────────────────────────────────────────────────────────
  10285.  
  10286.  
  10287.     CLASS
  10288.  
  10289.          Creates a new Class with its new Methods and Instances
  10290.  
  10291.     Syntax:
  10292.  
  10293.  
  10294.     CLASS DEFINITION
  10295.  
  10296.          #include "Objects.ch"
  10297.  
  10298.          CLASS ClassName [ FROM SuperClass1 [, SuperClassN ] ]
  10299.  
  10300.            DATA DataName1  [, DataNameN ]
  10301.  
  10302.            METHOD MethodName( [ Param1 [, ParamN ] ] ) CONSTRUCTOR
  10303.  
  10304.            METHOD MethodName( [ Par1 [, ParN ] ] ) BLOCK ;
  10305.  
  10306.                                  - Page 172 -
  10307. Norton Guide: `FAST.lib 3.15 » Reference'
  10308.  
  10309.  
  10310.                       { | Self [, Par1 [, ParN ] ] | Actions, , , }
  10311.  
  10312.            METHOD MethodName( [ Par1 [, ParN ] ] ) SETGET
  10313.  
  10314.            METHOD MethodName( [ Par1 [, ParN ] ] ) VIRTUAL
  10315.  
  10316.            METHOD MethodName( [ Par1 [, ParN ] ] )
  10317.  
  10318.          ENDCLASS
  10319.  
  10320.  
  10321.     METHOD DEFINITION
  10322.  
  10323.          METHOD MethodName( Par1, Par2, ... ) CLASS ClassName
  10324.  
  10325.               ...
  10326.  
  10327.               [ ::Parent:New( Par1, Par2, ... ) ]
  10328.  
  10329.               ...
  10330.  
  10331.               ::DataName1 := ...
  10332.  
  10333.               ...
  10334.  
  10335.               ::MethodName( ... )
  10336.  
  10337.               ...
  10338.  
  10339.               Return  [ Return Value ]
  10340.  
  10341.  
  10342.          CLASS       : Indicates the start of a class definition
  10343.          FROM        : Determines if this class must receive the methods and
  10344.                        instances from other class that serve as the superclass
  10345.                        or master class.
  10346.          DATA        : Define instances or internal variables of the class.
  10347.          METHOD      : Define methods of the class.
  10348.          CONSTRUCTOR : Indicates the constructor method of the class.
  10349.          BLOCK       : Define a method like a codeblock.
  10350.          VIRTUAL     : Define empty methods.
  10351.          ENDCLASS    : Marks the end of the definition of the class.
  10352.  
  10353.  
  10354.     Description:
  10355.  
  10356.          Define new classes in Clipper. You must access the non-
  10357.          documented functions of the SEND module.
  10358.          All Methods and Instances of the new class will automatically be
  10359.          defined upon creation and will inherit from the superclass if the
  10360.          FROM statement is invoked.  If you're unfamiliar with the Clipper
  10361.          SEND syntax, help is very often available from the power users that
  10362.          congregate on Compuserve's Clipper forum.  It is beyond the scope of
  10363.          this document to teach OOPS.
  10364.  
  10365.  
  10366.                                  - Page 173 -
  10367. Norton Guide: `FAST.lib 3.15 » Reference'
  10368.  
  10369.  
  10370.     Return:
  10371.  
  10372.          Not available.
  10373.  
  10374.     Example:
  10375.  
  10376.          Function oDemo()
  10377.          Local oTest := TDemo():New( 33, 10 )
  10378.              oTest:cMess := "Welcome to FAST.lib"
  10379.              oTest:SetClr := "W/B"
  10380.              oTest:Message()
  10381.          Return ( Nil )
  10382.  
  10383.          CLASS TDemo
  10384.              DATA   nPosX
  10385.              DATA   nPosY
  10386.              DATA   cMens
  10387.              DATA   cClr
  10388.              METHOD New( nY, nX ) CONSTRUCTOR
  10389.              METHOD Message()
  10390.              METHOD SetClr( cC ) BLOCK { | Self, cC | ::cClr := cC }
  10391.          ENDCLASS
  10392.  
  10393.          METHOD Function New( nY, nX )
  10394.              ::nPosY := nY
  10395.              ::nPosX := nX
  10396.          Return( Self )
  10397.  
  10398.          METHOD Function Mess()
  10399.              @ ::nPosY, ::nPosX Say ::cMess Color ::cClr
  10400.          Return( Self )
  10401.  
  10402.  
  10403.  
  10404.  
  10405.  
  10406.    ClassBrowser() -> nil
  10407.  
  10408.    Run time Class viewer. Allows viewing a Class.
  10409.  
  10410.  
  10411.  
  10412.   OInspect( oObject [, nRow, nCol ] ) -> nil
  10413.  
  10414.   Allows inspect the information included in an object.
  10415.  
  10416.  
  10417.  
  10418.   lOWrite( cFileName, oObject ) -> lSuccess
  10419.  
  10420.   Saves an object to disk.
  10421.  
  10422.  
  10423.  
  10424.   oORead( cFileName ) -> oObject
  10425.  
  10426.                                  - Page 174 -
  10427. Norton Guide: `FAST.lib 3.15 » Reference'
  10428.  
  10429.  
  10430.  
  10431.   Reads an object from disk.
  10432.  
  10433.  
  10434.  
  10435.   oOClone( oObject ) -> oCopy
  10436.  
  10437.   Duplicates an object.
  10438.  
  10439.  
  10440.  
  10441.  
  10442.     Class TStack
  10443.  
  10444.         Exported Instances:
  10445.  
  10446.         Exported Methods:
  10447.  
  10448.            Init()                 Constructor Method
  10449.  
  10450.            Push( cValue )         Adds an element into the stack
  10451.  
  10452.                cValue : value to add into the stack
  10453.  
  10454.            Pop()                  Extracts an element
  10455.  
  10456.            Len()                  Returns the length of the stack
  10457.  
  10458.            Empty()                Determines if the stack is empty
  10459.  
  10460.            Tail()                 Returns the highest element
  10461.  
  10462.  
  10463.         Function Demo()
  10464.         Local oStack := TStack():Init()
  10465.             oStack:Push( "Hello" )
  10466.             oStack:Len()                // 1
  10467.             oStack:Empty()              // .F.
  10468.             oStack:Tail()               // "Hello"
  10469.             ? oStack:Pop()              // "Hello"
  10470.             oStack:Empty()              // .T.
  10471.             oStack:Len()                // 0
  10472.         Return( Nil )
  10473.  
  10474.  
  10475.  
  10476.  
  10477.  
  10478.  
  10479.  
  10480.  
  10481.  
  10482.  
  10483.  
  10484.  
  10485.                                  - Page 175 -
  10486. Norton Guide: `FAST.lib 3.15 » Reference'
  10487.  
  10488.  
  10489. Menu List: FAST.lib 2, Screen
  10490.  
  10491.  
  10492.  
  10493.  
  10494.     These functions help with screen accesses under Clipper.
  10495.  
  10496.  ──────────────────────────────────────────────────────────────────────────────
  10497.  
  10498.  
  10499.     BigLetter()
  10500.  
  10501.          Returns an array with the big banner of a letter
  10502.  
  10503.     Syntax:
  10504.  
  10505.          BigLetter( nLetter ) -> aFormat
  10506.  
  10507.          aLetter : The ASCII value of the letter
  10508.  
  10509.     Description:
  10510.  
  10511.          Creates an returns an array with the format of a letter to create
  10512.          banners.
  10513.  
  10514.     Return:
  10515.  
  10516.          An array value.
  10517.  
  10518.     Example:
  10519.  
  10520.          BigLetter( Chr( "A" ) )  // returns      { "     █     ", ;
  10521.                                                     "    █ █    ", ;
  10522.                                                     "   ██ ██   ", ;
  10523.                                                     "  ██   ██  ", ;
  10524.                                                     ...          , ;
  10525.                                                   }
  10526.  
  10527. See Also: "BigString()" "SmallLetter()" "SmallString()" 
  10528.  
  10529.  
  10530.     BigString()
  10531.  
  10532.          Displays a big banner with a specified string
  10533.  
  10534.     Syntax:
  10535.  
  10536.          BigString( nRow, nCol, cString, cColor ) -> Nil
  10537.  
  10538.          nRow    : Row of banner
  10539.          nCol    : Col of banner
  10540.          cString : The string to display
  10541.          cColor  : The color
  10542.  
  10543.     Description:
  10544.  
  10545.                                  - Page 176 -
  10546. Norton Guide: `FAST.lib 3.15 » Reference'
  10547.  
  10548.  
  10549.  
  10550.          Creates and displays and banner with a specified string. This function
  10551.          uses BigLetter() to create the banner.
  10552.  
  10553.     Return:
  10554.  
  10555.          Nothing.
  10556.  
  10557.     Example:
  10558.  
  10559.          BigString( 1, 10, "Hello", "GR+/B" )
  10560.  
  10561. See Also: "BigLetter()" "SmallLetter()" "SmallString()" 
  10562.  
  10563.  
  10564.     BoxClose()
  10565.  
  10566.          Closes a light focus window
  10567.  
  10568.     Syntax:
  10569.  
  10570.          BoxClose ( aBox ) -> Nil
  10571.  
  10572.          aBox : An Array value with a light focus window
  10573.  
  10574.     Description:
  10575.  
  10576.          Closes a light focus window and restores the screen.
  10577.  
  10578.     Return:
  10579.  
  10580.          Nothing
  10581.  
  10582.     Example:
  10583.  
  10584.          BoxClose ( aBox )
  10585.  
  10586. See Also: "BoxOpen()" "BoxDelete()" "BoxPush()" 
  10587.  
  10588.  
  10589.     BoxDelete()
  10590.  
  10591.          Clears the contents of a light focus window
  10592.  
  10593.     Syntax:
  10594.  
  10595.          BoxDelete( aBox ) -> Nil
  10596.  
  10597.          aBox : An Array value of a light focus window
  10598.  
  10599.     Description:
  10600.  
  10601.          Cleans the contents of a focused window with the effect of
  10602.          pressing a button.
  10603.  
  10604.  
  10605.                                  - Page 177 -
  10606. Norton Guide: `FAST.lib 3.15 » Reference'
  10607.  
  10608.  
  10609.     Return:
  10610.  
  10611.          Nothing.
  10612.  
  10613.     Example:
  10614.  
  10615.          BoxDelete ( aBox )
  10616.  
  10617. See Also: "BoxOpen()" "BoxClose()" "BoxPush()" 
  10618.  
  10619.  
  10620.     BoxOpen()
  10621.  
  10622.          Opens a light focus window
  10623.  
  10624.     Syntax:
  10625.  
  10626.          BoxOpen ( nTop, nLeft, nBottom, nRight, cColor, nFast ) -> aBox
  10627.  
  10628.          nTop    : Initial Y of the window.
  10629.          nLeft   : Initial X.
  10630.          nBottom : Final Y.
  10631.          nRight  : Final X
  10632.          cColor  : Background color of the window
  10633.          nFast   : Pushing speed of the window
  10634.  
  10635.     Description:
  10636.  
  10637.          Opens a window at the specified position with color cColor.
  10638.          The color is for the background and its value must not exceed 7
  10639.          ( it can not include character "+" )
  10640.  
  10641.     Return:
  10642.  
  10643.          An array with parameter for BoxPush and BoxClose.
  10644.  
  10645.     Example:
  10646.  
  10647.          BoxOpen ( 12, 10, 14, 40, "B", 0.2 )
  10648.  
  10649. See Also: "BoxDelete()" "BoxClose()" "BoxPush()" 
  10650.  
  10651.  
  10652.     BoxMessage()
  10653.  
  10654.          Writes a message in a light focus window
  10655.  
  10656.     Syntax:
  10657.  
  10658.          BoxMessage( cMessage, [nY], [nX], [cColor] ) -> aWindow
  10659.  
  10660.          cMessage : Message to display in the window
  10661.          nY       : Y coordinate of the window. ( Default: 7 )
  10662.          nX       : X coordinate of the window. ( Default: centered )
  10663.          cColor   : Color of the window. ( Default: "B" )
  10664.  
  10665.                                  - Page 178 -
  10666. Norton Guide: `FAST.lib 3.15 » Reference'
  10667.  
  10668.  
  10669.  
  10670.     Description:
  10671.  
  10672.          Shows a message in the window using a focused light window. If
  10673.          the Y coordinate is not specified, it assumes the value 7.
  10674.          If the X coordinate is not specified, the window shrinks or grows
  10675.          depending in the message's length. By default, the color used is
  10676.          "B".
  10677.  
  10678.          Remember that you can not use the character "+" for colors
  10679.          in focused light windows.
  10680.  
  10681.  
  10682.     Return:
  10683.  
  10684.          An array with information to work with a focused light window.
  10685.  
  10686.     Example:
  10687.  
  10688.          nCursor  := SetCursor ( 0 )
  10689.          aButton  := BoxMessage ( "Fast Library For Clipper", 12, , "G" )
  10690.                         Inkey(0)
  10691.          BoxPush ( abutton )
  10692.          Delay ( .1 )
  10693.          BoxClose ( abutton )
  10694.          SetCursor ( nCursor )
  10695.  
  10696. See Also: "Message()" 
  10697.  
  10698.  
  10699.     BoxPush()
  10700.  
  10701.          Makes a pushing effect in a window with light focus
  10702.  
  10703.     Syntax:
  10704.  
  10705.          BoxPush ( aBox ) -> Nil
  10706.  
  10707.          aBox : An Array value with a light focus window
  10708.  
  10709.     Description:
  10710.  
  10711.          Makes a pushing effect in the window at the speed passed to the
  10712.          function BoxOpen ()
  10713.  
  10714.     Return:
  10715.  
  10716.          Nothing.
  10717.  
  10718.     Example:
  10719.  
  10720.          BoxPush ( aBox )
  10721.  
  10722. See Also: "BoxOpen()" "BoxDelete()" "BoxClose()" 
  10723.  
  10724.  
  10725.                                  - Page 179 -
  10726. Norton Guide: `FAST.lib 3.15 » Reference'
  10727.  
  10728.  
  10729.  
  10730.     BoxQuery()
  10731.  
  10732.          Makes a query and returns a logic value
  10733.  
  10734.     Syntax:
  10735.  
  10736.          BoxQuery( cQuery ) -> lAnswer
  10737.  
  10738.          cQuery : Question to show in the box
  10739.  
  10740.     Description:
  10741.  
  10742.          Asks a question using a focused light window and returns a logical
  10743.          value.
  10744.  
  10745.     Return:
  10746.  
  10747.          A logical value, according to the answer.
  10748.  
  10749.     Example:
  10750.  
  10751.          If BoxQuery ( "Do you want to exit? (Y/N)" )
  10752.            Warning( "Exiting..." )
  10753.          EndIf
  10754.  
  10755. See Also: "Query()" 
  10756.  
  10757.  
  10758.     BoxTurn()
  10759.  
  10760.          Turns on/off a window with light focus
  10761.  
  10762.     Syntax:
  10763.  
  10764.          BoxTurn ( aBox [, lMode] ) -> Nil
  10765.  
  10766.          aBox  : An Array value with a light focus window
  10767.          lMode : The new visual mode. ( By default: .T. )
  10768.  
  10769.     Description:
  10770.  
  10771.          Reverses the orientation of a focused light window. If lMode is
  10772.          true, the window shows up in the normal way. Otherwise, the
  10773.          window shows up as pushed.
  10774.  
  10775.     Return:
  10776.  
  10777.          Nothing.
  10778.  
  10779.     Example:
  10780.  
  10781.          BoxTurn ( aBox, .T. )
  10782.  
  10783. See Also: "BoxOpen()" "BoxDelete()" "BoxClose()" "BoxPush()" 
  10784.  
  10785.                                  - Page 180 -
  10786. Norton Guide: `FAST.lib 3.15 » Reference'
  10787.  
  10788.  
  10789.  
  10790.  
  10791.     BoxWarning()
  10792.  
  10793.          Shows a warning in a light focus window
  10794.  
  10795.     Syntax:
  10796.  
  10797.          BoxWarning( xWarning ) -> Nil
  10798.  
  10799.          xWarning : Message to show on the screen. It may be a string or
  10800.                     a string array.
  10801.  
  10802.     Description:
  10803.  
  10804.          Opens up a focused light window showing a message. It waits until a
  10805.          key is pressed.
  10806.  
  10807.     Return:
  10808.  
  10809.          Nothing.
  10810.  
  10811.     Example:
  10812.  
  10813.          BoxWarning ( "Hello world" )
  10814.          BoxWarning ( { "Hello", "", "What are you doing?" } )
  10815.  
  10816. See Also: "Warning()" 
  10817.  
  10818.  
  10819.     Fascinate()
  10820.  
  10821.          Makes an effect on the screen
  10822.  
  10823.     Syntax:
  10824.  
  10825.          Fascinate( cColor1, cColor2 ) -> Nil
  10826.  
  10827.          cColor1 : Initial color, that must not exceed the value 7.
  10828.          cColor2 : Final color.
  10829.  
  10830.     Description:
  10831.  
  10832.          It makes a gradual color change to the color palette in text mode
  10833.          changing from cColor1 to cColor2. Use dark or light colors but don't
  10834.          mix them, because it looks pretty ugly.
  10835.  
  10836.     Return:
  10837.  
  10838.          Nothing.
  10839.  
  10840.     Example:
  10841.  
  10842.          Fascinate( "BG", "G" )
  10843.          Fascinate( "G", "GR" )
  10844.  
  10845.                                  - Page 181 -
  10846. Norton Guide: `FAST.lib 3.15 » Reference'
  10847.  
  10848.  
  10849.  
  10850.  
  10851.     FastPrint()
  10852.  
  10853.          Prints a message on screen
  10854.  
  10855.     Syntax:
  10856.  
  10857.          FastPrint( nY, nX, cMessage, nColor ) -> Nil
  10858.  
  10859.          nY       : Y coordinate
  10860.          nX       : X coordinate
  10861.          cMessage : Message to display
  10862.          nColor   : a numeric value with the color
  10863.  
  10864.     Description:
  10865.  
  10866.          Prints a message on screen. It's very quick.
  10867.  
  10868.     Return:
  10869.  
  10870.          Nothing.
  10871.  
  10872.     Example:
  10873.  
  10874.          #define HIWHITE 15
  10875.  
  10876.          FastPrint( 10, 12, "I want to be free...", HIWHITE )
  10877.  
  10878.  
  10879.     File2Scr()
  10880.  
  10881.          Restores the screen from a file
  10882.  
  10883.     Syntax:
  10884.  
  10885.          File2Scr( cFile ) -> lSuccess
  10886.  
  10887.          cFile : The filename with the saved screen
  10888.  
  10889.     Description:
  10890.  
  10891.          Restore the screen from a disk file. Default file is Fast.scr.
  10892.  
  10893.     Return:
  10894.  
  10895.          A logic value indicating if an error is found.
  10896.  
  10897.     Example:
  10898.  
  10899.          If ! File2Scr ( "MyScreen.Scr" )
  10900.            Return ( Nil )
  10901.          EndIf
  10902.  
  10903. See Also: "Scr2File()" 
  10904.  
  10905.                                  - Page 182 -
  10906. Norton Guide: `FAST.lib 3.15 » Reference'
  10907.  
  10908.  
  10909.  
  10910.  
  10911.     GetChar()
  10912.  
  10913.          Returns a character from the screen
  10914.  
  10915.     Syntax:
  10916.  
  10917.          GetChar( nY, nX ) -> cChar
  10918.  
  10919.          nY : The Y coordinate
  10920.          nX : The X coordinate
  10921.  
  10922.     Description:
  10923.  
  10924.          Returns a character from the specified position of screen
  10925.  
  10926.     Return:
  10927.  
  10928.          The character from the screen.
  10929.  
  10930.     Example:
  10931.  
  10932.          ? GetChar ( 22, 10 )                   // "c"
  10933.  
  10934.  
  10935.     Implode()
  10936.  
  10937.          Restores a saved screen region
  10938.  
  10939.     Syntax:
  10940.  
  10941.          Implode( nY1, nX1, nY2, nX2, cScr [, nDelay] ) -> Nil
  10942.  
  10943.          nY1    : Upper left Y coordinate
  10944.          nX1    : Upper left X coordinate
  10945.          nY2    : Lower right Y coordinate
  10946.          nX2    : Lower right Y coordinate
  10947.          cScr   : The screen saved with SaveScreen()
  10948.          nDelay : Delay time. Default value is 10.
  10949.  
  10950.     Description:
  10951.  
  10952.          Restores a screen or part of it that has been saved with
  10953.          SaveScreen().
  10954.  
  10955.          It is a spectacular alternative method to RestScreen().
  10956.  
  10957.     Return:
  10958.  
  10959.          Nothing.
  10960.  
  10961.     Example:
  10962.  
  10963.          cScr := SaveScreen( 10, 10, 20, 70 )
  10964.  
  10965.                                  - Page 183 -
  10966. Norton Guide: `FAST.lib 3.15 » Reference'
  10967.  
  10968.  
  10969.          DispBox( 10, 10, 20, 70, "╔═╗║╝═╚║ ", "W/B" )
  10970.          Inkey( 0 )
  10971.          Implode( 10, 10, 20, 70, cScr, 30 )
  10972.  
  10973.  
  10974.     Message()
  10975.  
  10976.          Displays a string to the screen
  10977.  
  10978.     Syntax:
  10979.  
  10980.          Message( nY, nX, cMess [, cColor] ) -> Nil
  10981.  
  10982.          nY     : Y coordinate
  10983.          nX     : X coordinate
  10984.          cMess  : Message to write
  10985.          cColor : Optional color of query
  10986.  
  10987.     Description:
  10988.  
  10989.          Writes cMess at the given coordinates using cColor or the active
  10990.          color if cColor is Nil.
  10991.  
  10992.     Return:
  10993.  
  10994.          Nothing.
  10995.  
  10996.     Example:
  10997.  
  10998.          Message ( 12, 15, "Hello", "R/B" )
  10999.  
  11000. See Also: "Warning()" "Query()" 
  11001.  
  11002.  
  11003.     NewBox()
  11004.  
  11005.          Opens an exploding window with title and shadow
  11006.  
  11007.     Syntax:
  11008.  
  11009.          NewBox( nY1, nX1, nY2, nX2, [cTitle], cBox, lShadow, ;
  11010.                  [cColor], [nIter], [nDelay] ) -> Nil
  11011.  
  11012.          nY1     : Upper left Y coordinate
  11013.          nX1     : Upper left X coordinate
  11014.          nY2     : Lower right Y coordinate
  11015.          nX2     : Lower right X coordinate
  11016.          ctitle  : Optional title of the window
  11017.          cBox    : Box of the window
  11018.          lShadow : A logical value to indicate shadowing
  11019.          cColor  : Optional, color of the window
  11020.          nIter   : Number of iterations of the explode effect. By default 6
  11021.          nDelay  : Delay time. By default 10.
  11022.  
  11023.     Description:
  11024.  
  11025.                                  - Page 184 -
  11026. Norton Guide: `FAST.lib 3.15 » Reference'
  11027.  
  11028.  
  11029.  
  11030.          It draws a window in the given coordinates with title ctitle
  11031.          or without title if ctitle is Nil and with or without shadow
  11032.          depending on lShadow.
  11033.          The color of window is cColor or the active color if cColor is
  11034.          Nil.
  11035.          The opening explode speed of the window is defined by nInter.
  11036.  
  11037.     Return:
  11038.  
  11039.          Nothing.
  11040.  
  11041.     Example:
  11042.  
  11043.          NewBox( 10, 15, 20, 25, "My title", "╔═╗║╝═╚║ ", .T., "GR+/B", 12 )
  11044.  
  11045. See Also: "Window()" 
  11046.  
  11047.  
  11048.     Query()
  11049.  
  11050.          Makes a query and returns a logic value
  11051.  
  11052.     Syntax:
  11053.  
  11054.          Query( cQuery [, cColor] ) -> Nil
  11055.  
  11056.          cQuery : Question to write
  11057.          cColor : Optional color of message
  11058.  
  11059.     Description:
  11060.  
  11061.          Makes a question on line 24 and waits until the user presses
  11062.          Y or N.
  11063.  
  11064.     Return:
  11065.  
  11066.          A logical value indicating the answer.
  11067.  
  11068.     Example:
  11069.  
  11070.          Query ( "Are you spanish? (Y/N)", "R/B" )
  11071.  
  11072. See Also: "Warning()" "Message()" 
  11073.  
  11074.  
  11075.     RestScr()
  11076.  
  11077.          Restores a saved screen region
  11078.  
  11079.     Syntax:
  11080.  
  11081.          RestScr( nY1, nX1, nY2, nX2, aScr [, nDelay] ) -> Nil
  11082.  
  11083.          nY1    : Upper left Y coordinate
  11084.  
  11085.                                  - Page 185 -
  11086. Norton Guide: `FAST.lib 3.15 » Reference'
  11087.  
  11088.  
  11089.          nX1    : Upper left X coordinate
  11090.          nY2    : Lower right Y coordinate
  11091.          nX2    : Lower right X coordinate
  11092.          aScr   : The screen saved with SaveScr()
  11093.          nDelay : Delay time. By default 20.
  11094.  
  11095.     Description:
  11096.  
  11097.          Restores a screen saved with SaveScr() with a spectacular effect.
  11098.  
  11099.     Return:
  11100.  
  11101.          Nothing.
  11102.  
  11103.     Example:
  11104.  
  11105.          nMode := 2
  11106.          aScr  := SaveScr ( 10, 10, 20, 70, nMode )
  11107.          DispBox ( 10, 10, 20, 70, "╔═╗║╝═╚║ ", "W/B"  )
  11108.          Inkey(1)
  11109.          RestScr ( 10, 10, 20, 70, aScr )
  11110.  
  11111. See Also: "SaveScr()" 
  11112.  
  11113.  
  11114.     SaveScr()
  11115.  
  11116.          Saves a screen region
  11117.  
  11118.     Syntax:
  11119.  
  11120.          SaveScr( nY1, nX1, nY2, nX2, nEffect ) -> aScreen
  11121.  
  11122.          nY1     : Upper left Y coordinate
  11123.          nX1     : Upper left X coordinate
  11124.          nY2     : Lower right Y coordinate
  11125.          nX2     : Lower right X coordinate
  11126.          nEffect : A numeric value indicating the type of effect
  11127.                    1 -> left - right
  11128.                    2 -> right - left
  11129.                    3 -> up - down
  11130.                    4 -> down - up
  11131.  
  11132.     Description:
  11133.  
  11134.          Saves a screen region that can later be restored with RestScr().
  11135.  
  11136.     Return:
  11137.  
  11138.          Saved screen region.
  11139.  
  11140.     Example:
  11141.  
  11142.          nMode := 1
  11143.          aScr  := SaveScr ( 10, 10, 20, 70, nMode )
  11144.  
  11145.                                  - Page 186 -
  11146. Norton Guide: `FAST.lib 3.15 » Reference'
  11147.  
  11148.  
  11149.          DispBox ( 10, 10, 20, 70, "╔═╗║╝═╚║ ", "W/B"  )
  11150.          Inkey(1)
  11151.          RestScr ( 10, 10, 20, 70, aScr )
  11152.  
  11153. See Also: "RestScr()" 
  11154.  
  11155.  
  11156.     Scr2File()
  11157.  
  11158.          Saves the screen to a file
  11159.  
  11160.     Syntax:
  11161.  
  11162.          Scr2File( cFile ) -> lError
  11163.  
  11164.          cFile : The name of a file with a saved screen
  11165.  
  11166.     Description:
  11167.  
  11168.          Saves the screen to a file. Default file is Fast.scr.
  11169.  
  11170.     Return:
  11171.  
  11172.          A logic value indicating if an error is found.
  11173.  
  11174.     Example:
  11175.  
  11176.          If ! Scr2File ( "Screen.Scr" )
  11177.            Warning ( "Not possible!!" )
  11178.          EndIf
  11179.  
  11180. See Also: "File2Scr()" 
  11181.  
  11182.  
  11183.     Screen()
  11184.  
  11185.          Clears the screen with optional color and string
  11186.  
  11187.     Syntax:
  11188.  
  11189.          Screen( [cString], [cColor] ) -> Nil
  11190.  
  11191.          cString : String to fill up the screen
  11192.          cColor  : Optional color.
  11193.  
  11194.     Description:
  11195.  
  11196.          Clears the screen with optional string and color.
  11197.  
  11198.     Return:
  11199.  
  11200.          Nothing.
  11201.  
  11202.     Example:
  11203.  
  11204.  
  11205.                                  - Page 187 -
  11206. Norton Guide: `FAST.lib 3.15 » Reference'
  11207.  
  11208.  
  11209.          Screen()                          // usual cls
  11210.          Screen( "Fast Library " )         // cls with string
  11211.          Screen( "Fast Library ", "R/B" )  // cls with string and color
  11212.  
  11213.  
  11214.     SetFont()
  11215.  
  11216.          Changes the character font
  11217.  
  11218.     Syntax:
  11219.  
  11220.          SetFont( cFile ) -> nError
  11221.  
  11222.          cFile : The filename of the font
  11223.  
  11224.     Description:
  11225.  
  11226.          It changes the pointer to the BIOS zone, where the character
  11227.          font is placed.  A new character font is placed in memory and
  11228.          used.
  11229.  
  11230.     Return:
  11231.  
  11232.          A numeric value indicating:
  11233.  
  11234.                 0       Ok
  11235.                -1       The file does not exist
  11236.                -2       File structure is incorrect
  11237.  
  11238.     Example:
  11239.  
  11240.          If Empty( SetFont ( "c:\os2\mdos\myappl\fonts\roman.fon" ) )
  11241.            ? "Ok"
  11242.          EndIf
  11243.  
  11244. See Also: "SetFontChar()" 
  11245.  
  11246.  
  11247.     SetFontChar()
  11248.  
  11249.          Changes a single character font
  11250.  
  11251.     Syntax:
  11252.  
  11253.          SetFontChar( cString, nChar ) -> Nil
  11254.  
  11255.          cString : A 16 byte string with the new character font
  11256.          nChar   : An Ascii number indicating the char to change
  11257.  
  11258.     Description:
  11259.  
  11260.          It changes the pointer to the BIOS zone, where the character
  11261.          font is placed.  A new character font is placed in memory and
  11262.          used.
  11263.  
  11264.  
  11265.                                  - Page 188 -
  11266. Norton Guide: `FAST.lib 3.15 » Reference'
  11267.  
  11268.  
  11269.     Return:
  11270.  
  11271.          Nothing.
  11272.  
  11273.     Example:
  11274.  
  11275.          cNewA := Replicate( Chr( 255 ), 16 )
  11276.          SetFontChar( cNewA, Ascii( "A" ) )    // the "A" will be a "█"
  11277.  
  11278. See Also: "SetFont()" 
  11279.  
  11280.  
  11281.     SetGray()
  11282.  
  11283.          Creates a virtual b/w monitor
  11284.  
  11285.     Syntax:
  11286.  
  11287.          SetGray( lGray ) -> Nil
  11288.  
  11289.          lGray : a logic value indicating if you want a virtual b/w monitor
  11290.  
  11291.     Description:
  11292.  
  11293.          This function allows your programs to run simulating a b/w
  11294.          monitor.
  11295.          It's very useful if you want test your programs with a b/w monitor.
  11296.  
  11297.     Return:
  11298.  
  11299.          Nothing.
  11300.  
  11301.     Example:
  11302.  
  11303.          cPalette := GetPalette()
  11304.          SetGray( .T. )
  11305.          BoxWarning( "The monitor is b/w!!!" )
  11306.          SetGray( .F. )
  11307.          SetPalette( cPalette )
  11308.          BoxWarning( "The monitor is color!!!, of course" )
  11309.  
  11310.  
  11311.     SmallLetter()
  11312.  
  11313.          Returns an array with the compresed banner of a letter
  11314.  
  11315.     Syntax:
  11316.  
  11317.          SmallLetter( nLetter ) -> aFormat
  11318.  
  11319.          aLetter : The ASCII value of the letter
  11320.  
  11321.     Description:
  11322.  
  11323.          Creates an returns an array with the format of a letter to create
  11324.  
  11325.                                  - Page 189 -
  11326. Norton Guide: `FAST.lib 3.15 » Reference'
  11327.  
  11328.  
  11329.          a compresed banner.
  11330.  
  11331.     Return:
  11332.  
  11333.          An array value.
  11334.  
  11335.     Example:
  11336.  
  11337.          SmallLetter( Chr( "A" ) )  // returns    { "    ▄▀▄    ", ;
  11338.                                                     "  ▄█▀ ▀█▄  ", ;
  11339.                                                     "  ▀▀   ▀▀  ", ;
  11340.                                                     ...          , ;
  11341.                                                   }
  11342.  
  11343. See Also: "BigString()" "BigLetter()" "SmallString()" 
  11344.  
  11345.  
  11346.     SmallString()
  11347.  
  11348.          Displays a compresed banner with a specified string
  11349.  
  11350.     Syntax:
  11351.  
  11352.          SmallString( nRow, nCol, cString, cColor ) -> Nil
  11353.  
  11354.          nRow    : Row of banner
  11355.          nCol    : Col of banner
  11356.          cString : The string to display
  11357.          cColor  : The color
  11358.  
  11359.     Description:
  11360.  
  11361.          Creates and displays and banner with a specified string. This function
  11362.          uses SmallLetter() to create the banner.
  11363.  
  11364.     Return:
  11365.  
  11366.          Nothing.
  11367.  
  11368.     Example:
  11369.  
  11370.          SmallString( 1, 10, "Hello", "GR+/B" )
  11371.  
  11372. See Also: "BigLetter()" "BigLetter()" "SmallLetter()" 
  11373.  
  11374.  
  11375.     Wall()
  11376.  
  11377.          Simulates a wall
  11378.  
  11379.     Syntax:
  11380.  
  11381.          Wall( [nY1], [nX1], [nY1], [nX2], [cColor] ) -> Nil
  11382.  
  11383.          nY1    : Initial Y coordinate, default is 0
  11384.  
  11385.                                  - Page 190 -
  11386. Norton Guide: `FAST.lib 3.15 » Reference'
  11387.  
  11388.  
  11389.          nX1    : Initial X, default is 0
  11390.          nY2    : Final Y, default is 24
  11391.          nX2    : Final X, default is 79
  11392.          cColor : The color, optional
  11393.  
  11394.     Description:
  11395.  
  11396.          Draws a wall at the specified coordinates.
  11397.  
  11398.     Return:
  11399.  
  11400.          Nothing.
  11401.  
  11402.     Example:
  11403.  
  11404.          Wall( 1, 1, 20, 51, "W/G" )
  11405.          Wall( , , , , "GR/N" )
  11406.  
  11407.  
  11408.     Warning()
  11409.  
  11410.          Shows a warning at line 24
  11411.  
  11412.     Syntax:
  11413.  
  11414.          Warning( cWarning, [lMode], [cColor] ) -> Nil
  11415.  
  11416.          cWarning : The warning to show
  11417.          lMode    : Optional action mode
  11418.          cColor   : Optional color
  11419.  
  11420.     Description:
  11421.  
  11422.          If lMode is .T. the function displays a msg and waits for a key
  11423.          restoring the screen. If lMode is .F., it doesn't wait for a key nor
  11424.          restores the screen. Default value is .T. Default color is "W/N".
  11425.  
  11426.     Return:
  11427.  
  11428.          Nothing.
  11429.  
  11430.     Example:
  11431.  
  11432.          Warning( "Push any key" )
  11433.          Warning( "Processing, please wait...", .F. )
  11434.  
  11435. See Also: "Message()" "Query()" 
  11436.  
  11437.  
  11438.     Window()
  11439.  
  11440.          Shows a window with optional title and shadow
  11441.  
  11442.     Syntax:
  11443.  
  11444.  
  11445.                                  - Page 191 -
  11446. Norton Guide: `FAST.lib 3.15 » Reference'
  11447.  
  11448.  
  11449.          Window( nY1, nX1, nY2, nX2, [cTitle], cBox, lShadow, ;
  11450.                   [cColor] ) -> Nil
  11451.  
  11452.          nY1     : Upper left Y coordinate
  11453.          nX1     : Upper left X coordinate
  11454.          nY2     : Lower right Y coordinate
  11455.          nX2     : Lower right X coordinate
  11456.          ctitle  : The title, optional
  11457.          cBox    : The box type
  11458.          lShadow : A logical value indicating shadowing
  11459.          cColor  : The color, optional
  11460.  
  11461.     Description:
  11462.  
  11463.          Draws a window at the given coordinates with optional title (no
  11464.          title if ctitle is Nil) and shadowed if lShadow is .T.. The color of
  11465.          the window is cColor or the active color is cColor is Nil.
  11466.  
  11467.     Return:
  11468.  
  11469.          Nothing.
  11470.  
  11471.     Example:
  11472.  
  11473.          Window ( 10, 15, 20, 25, "My title", "╔═╗║╝═╚║ ", .T., "GR+/B" )
  11474.  
  11475. See Also: "NewBox()" 
  11476.  
  11477.  
  11478.  
  11479.  
  11480.  
  11481.  
  11482.  
  11483.  
  11484.  
  11485.  
  11486.  
  11487.  
  11488.  
  11489.  
  11490.  
  11491.  
  11492.  
  11493.  
  11494.  
  11495.  
  11496.  
  11497.  
  11498.  
  11499.  
  11500.  
  11501.  
  11502.  
  11503.  
  11504.                                  - Page 192 -
  11505. Norton Guide: `FAST.lib 3.15 » Reference'
  11506.  
  11507.  
  11508. Menu List: FAST.lib 2, Serial Comunications
  11509.  
  11510.  
  11511.  
  11512.  
  11513.     With this section, serial communications are controlled in Clipper.  The
  11514.  functions are low level and use the Interrupt Driven Service task of the
  11515.  serial ports.
  11516.  
  11517.     These functions manage 4 serial ports, from COM1 to COM4 on AT systems
  11518.  and 2 ports, COM1 and COM2 on XT systems.
  11519.  
  11520.     The system is compatible with all kinds of current UART's existing on
  11521.  the market for PC-XT-AT.  Access to the system is via 8259A, therefore,
  11522.  the BIOS routines are taking charge of the UART'S compatibility.
  11523.  
  11524.     The system has internal and external buffers available (the same kind that
  11525.  the BIOS has available for the keyboard). Thanks to them, we have available
  11526.  in memory the incoming and outgoing data for use when we are ready to receive
  11527.  or send it. The incoming buffer has been established at 16384 bytes and
  11528.  the outgoing buffer at 4096 bytes.
  11529.  
  11530.  ──────────────────────────────────────────────────────────────────────────────
  11531.  
  11532.  
  11533.     ComCarrier()
  11534.  
  11535.          Determines if the Carrier flag is on
  11536.  
  11537.     Syntax:
  11538.  
  11539.          ComCarrier() -> lCarrier
  11540.  
  11541.     Description:
  11542.  
  11543.          Determines if the Carrier flag is active. This flag must be
  11544.          specifically looked at for transmissions or receptions to confirm
  11545.          that the connection is still active. If the carrier is lost, it
  11546.          could indicate that the other end of the communication link has
  11547.          disconnected.
  11548.  
  11549.     Return:
  11550.  
  11551.          .T. if the Carrier flag is on and .F. if not.
  11552.  
  11553.     Example:
  11554.  
  11555.          If ! ComCarrier()
  11556.            Warning( "NO CARRIER" )
  11557.          Else
  11558.            Warning( "CARRIER DETECTED" )
  11559.          EndIf
  11560.  
  11561. See Also: "ComReady()" 
  11562.  
  11563.  
  11564.                                  - Page 193 -
  11565. Norton Guide: `FAST.lib 3.15 » Reference'
  11566.  
  11567.  
  11568.  
  11569.     ComHighDTR()
  11570.  
  11571.          Activates the Data Terminal Ready flag
  11572.  
  11573.     Syntax:
  11574.  
  11575.          ComHighDTR() -> Nil
  11576.  
  11577.     Description:
  11578.  
  11579.          ComHighDTR() activates the Data Terminal Ready (DTR) flag.
  11580.  
  11581.     Return:
  11582.  
  11583.          Nothing.
  11584.  
  11585.     Example:
  11586.  
  11587.          ComHighDTR()           // Activates the Data Terminal Ready flag
  11588.  
  11589. See Also: "ComLowDTR()" 
  11590.  
  11591.  
  11592.     ComIsEmpt()
  11593.  
  11594.          Determines if the reception buffer is empty
  11595.  
  11596.     Syntax:
  11597.  
  11598.          ComInEmpt() -> lEmpty
  11599.  
  11600.     Description:
  11601.  
  11602.          Determines if the internal reception buffer is empty.
  11603.  
  11604.     Return:
  11605.  
  11606.          A logic value indicating if the buffer is empty or not.
  11607.  
  11608.     Example:
  11609.  
  11610.          If ComInEmpt()
  11611.            Warning( "Read buffer is empty" )
  11612.          EndIf
  11613.  
  11614. See Also: "ComOutEmpt()" 
  11615.  
  11616.  
  11617.     ComInFlh()
  11618.  
  11619.          Initializes the reception buffers
  11620.  
  11621.     Syntax:
  11622.  
  11623.  
  11624.                                  - Page 194 -
  11625. Norton Guide: `FAST.lib 3.15 » Reference'
  11626.  
  11627.  
  11628.          ComInFlh() -> Nil
  11629.  
  11630.     Description:
  11631.  
  11632.          Clears and initializes the reception buffer.
  11633.  
  11634.     Return:
  11635.  
  11636.          Nothing.
  11637.  
  11638.     Example:
  11639.  
  11640.          ComInFlh()
  11641.  
  11642. See Also: "ComOutFlh()" 
  11643.  
  11644.  
  11645.     ComInput()
  11646.  
  11647.          Extracts a value from the communications buffer (input)
  11648.  
  11649.     Syntax:
  11650.  
  11651.          ComInput() -> nValue
  11652.  
  11653.     Description:
  11654.  
  11655.          Receives a value from the communications buffer.
  11656.  
  11657.          ComInput() brings up to date the internal pointers of the reception
  11658.          buffer and points to the next value.
  11659.  
  11660.     Return:
  11661.  
  11662.          The ascii value of the received byte from the port or Nil if there's
  11663.          no available byte or the manager isn't active.
  11664.  
  11665.     Example:
  11666.  
  11667.          While .T.
  11668.            If ! ComInEmpt()
  11669.              nValue  := ComInput()
  11670.              cString += Chr( nValue )
  11671.            EndIf
  11672.          End
  11673.  
  11674. See Also: "ComInEmpt()" "ComInputS()" 
  11675.  
  11676.  
  11677.     ComInputS()
  11678.  
  11679.          Extracts a string from the communications buffer (input str)
  11680.  
  11681.     Syntax:
  11682.  
  11683.  
  11684.                                  - Page 195 -
  11685. Norton Guide: `FAST.lib 3.15 » Reference'
  11686.  
  11687.  
  11688.          ComInputS( @cBuffer, nMaxChars ) -> nChars
  11689.  
  11690.          cBuffer   : The buffer where the string is to be placed
  11691.          nMaxChars : The maximum number of chars to read
  11692.  
  11693.     Description:
  11694.  
  11695.          Receives a string from the communications buffer.
  11696.  
  11697.          ComInputS() brings up to date the internal pointers of the reception
  11698.          buffer and points to the next value.
  11699.  
  11700.     Return:
  11701.  
  11702.          The number of chars received from the port or 0 if there's
  11703.          no available byte or the manager isn't active.
  11704.  
  11705.     Example:
  11706.  
  11707.          cBuffer := Space( 1024 )
  11708.          If comInputS( @cSpace, 1024 ) == 1024
  11709.            ? "Read Ok"
  11710.          EndIf
  11711.  
  11712. See Also: "ComInEmpt()" "ComInput()" 
  11713.  
  11714.  
  11715.     ComInst()
  11716.  
  11717.          Installs a Serial Communications System
  11718.  
  11719.     Syntax:
  11720.  
  11721.          ComInst( nPort ) -> nError
  11722.  
  11723.          nPort : COM port. 1=COM1, 2=COM2, 3=COM3 and 4=COM4
  11724.  
  11725.     Description:
  11726.  
  11727.          ComInst() installs a Serial Communications System and initializes
  11728.          the communication buffers.
  11729.  
  11730.          DANGER
  11731.          The interrupt manager must be uninstalled by the ComUnInst()
  11732.          function before you leave the system.  Otherwise, it will cause a
  11733.          general break down in the system.
  11734.  
  11735.     Return:
  11736.  
  11737.          A number with the following meanings:
  11738.  
  11739.            0    Ok
  11740.            1    A port out of the range 1-4 was specified
  11741.            2    There's no UART for the specified port
  11742.            3    The manager was already installed
  11743.  
  11744.                                  - Page 196 -
  11745. Norton Guide: `FAST.lib 3.15 » Reference'
  11746.  
  11747.  
  11748.  
  11749.     Example:
  11750.  
  11751.          ComInst( 2 )           // installs the manager on COM2
  11752.  
  11753. See Also: "ComUnInst()" 
  11754.  
  11755.  
  11756.     ComLowDTR()
  11757.  
  11758.          Deactivates the Data Terminal Ready flag
  11759.  
  11760.     Syntax:
  11761.  
  11762.          ComLowDTR() -> Nil
  11763.  
  11764.     Description:
  11765.  
  11766.          ComLowDTR() deactivates the Data Terminal Ready (DTR) flag.
  11767.  
  11768.     Return:
  11769.  
  11770.          Nothing.
  11771.  
  11772.     Example:
  11773.  
  11774.          ComLowDTR()           // Deactivates the Data Terminal Ready flag
  11775.  
  11776. See Also: "ComHighDTR()" 
  11777.  
  11778.  
  11779.     ComOutput()
  11780.  
  11781.          Stuffs a value into the communications buffer (output)
  11782.  
  11783.     Syntax:
  11784.  
  11785.          ComOutput( nValue ) -> Nil
  11786.  
  11787.     Description:
  11788.  
  11789.          Sends a value to the communications buffer.
  11790.  
  11791.          The function brings up to date the internal pointers to the
  11792.          transmission buffer to point to the next element.
  11793.  
  11794.     Return:
  11795.  
  11796.          Nothing.
  11797.  
  11798.     Example:
  11799.  
  11800.          While ComReady()
  11801.            ComOutput( 32 )              // sends blank spaces to the port
  11802.          End
  11803.  
  11804.                                  - Page 197 -
  11805. Norton Guide: `FAST.lib 3.15 » Reference'
  11806.  
  11807.  
  11808.  
  11809. See Also: "ComOutEmpt()" "ComOutputS()" "ComReady()" 
  11810.  
  11811.  
  11812.     ComOutputS()
  11813.  
  11814.          Stuffs a string into the communications buffer (output str)
  11815.  
  11816.     Syntax:
  11817.  
  11818.          ComOutputS( cString ) -> Nil
  11819.  
  11820.     Description:
  11821.  
  11822.          Sends a string to the communications buffer.
  11823.  
  11824.          This function brings up to date the internal pointers to the
  11825.          transmission buffer to point to the next element.
  11826.  
  11827.     Return:
  11828.  
  11829.          Nothing.
  11830.  
  11831.     Example:
  11832.  
  11833.          ComOutputS( "Most people like parties" )
  11834.  
  11835. See Also: "ComOutEmpt()" "ComOutput()" "ComReady()" 
  11836.  
  11837.  
  11838.     ComOutEmpt()
  11839.  
  11840.          Determines if the transmission buffer is empty
  11841.  
  11842.     Syntax:
  11843.  
  11844.          ComOutEmpt() -> lEmpty
  11845.  
  11846.     Description:
  11847.  
  11848.          Determines if the internal transmission buffer is empty.
  11849.  
  11850.     Return:
  11851.  
  11852.          A logic value indicating if the buffer is empty or not.
  11853.  
  11854.     Example:
  11855.  
  11856.          If ComOutEmpt()
  11857.            Warning( "Write buffer is empty" )
  11858.          EndIf
  11859.  
  11860. See Also: "ComInEmpt()" 
  11861.  
  11862.  
  11863.  
  11864.                                  - Page 198 -
  11865. Norton Guide: `FAST.lib 3.15 » Reference'
  11866.  
  11867.  
  11868.     ComOutFlh()
  11869.  
  11870.          Initializes the transmission buffers
  11871.  
  11872.     Syntax:
  11873.  
  11874.          ComOutFlh() -> Nil
  11875.  
  11876.     Description:
  11877.  
  11878.          Clears and initializes the transmission buffer.
  11879.  
  11880.     Return:
  11881.  
  11882.          Nothing.
  11883.  
  11884.     Example:
  11885.  
  11886.          ComOutFlh()
  11887.  
  11888. See Also: "ComInFlh()" 
  11889.  
  11890.  
  11891.     ComParity()
  11892.  
  11893.          Determines the communication parity
  11894.  
  11895.     Syntax:
  11896.  
  11897.          ComParity( nParity ) -> Nil
  11898.  
  11899.          nParity : A parity type.
  11900.  
  11901.                       0  or  COM_NONE
  11902.                       1  or  COM_EVEN
  11903.                       2  or  COM_ODD
  11904.                       3  or  COM_ZERO
  11905.                       4  or  COM_ONE
  11906.  
  11907.                    Defined in Fast.ch
  11908.  
  11909.     Description:
  11910.  
  11911.          ComParity() determines the communication parity.
  11912.  
  11913.     Return:
  11914.  
  11915.          Nothing.
  11916.  
  11917.     Example:
  11918.  
  11919.          ComParity( COM_NONE )          // without parity
  11920.  
  11921. See Also: "ComSpeed()" 
  11922.  
  11923.  
  11924.                                  - Page 199 -
  11925. Norton Guide: `FAST.lib 3.15 » Reference'
  11926.  
  11927.  
  11928.  
  11929.     ComReady()
  11930.  
  11931.          Determines if the system is ready to transmit
  11932.  
  11933.     Syntax:
  11934.  
  11935.          ComReady() -> lReady
  11936.  
  11937.     Description:
  11938.  
  11939.          Determines if the system is ready to transmit. This depends on the
  11940.          interrupt manager being active and that the transmission spooler
  11941.          isn't full.
  11942.  
  11943.     Return:
  11944.  
  11945.          A logic value indicating if system is ready to transmit
  11946.  
  11947.     Example:
  11948.  
  11949.          If ComReady()
  11950.            Warning( "System Ok" )
  11951.          EndIf
  11952.  
  11953. See Also: "ComCarrier()" 
  11954.  
  11955.  
  11956.     ComSpeed()
  11957.  
  11958.          Determines the communication speed
  11959.  
  11960.     Syntax:
  11961.  
  11962.          ComSpeed( nSpeed ) -> Nil
  11963.  
  11964.          nSpeed : Communication speed
  11965.  
  11966.     Description:
  11967.  
  11968.          ComSpeed() determines the communication speed.
  11969.  
  11970.     Return:
  11971.  
  11972.          Nothing.
  11973.  
  11974.     Example:
  11975.  
  11976.          ComSpeed( 2400 )     // 2400 bps
  11977.  
  11978. See Also: "ComParity()" 
  11979.  
  11980.  
  11981.     ComUnInst()
  11982.  
  11983.  
  11984.                                  - Page 200 -
  11985. Norton Guide: `FAST.lib 3.15 » Reference'
  11986.  
  11987.  
  11988.          Uninstalls the Serial Communications System
  11989.  
  11990.     Syntax:
  11991.  
  11992.          ComUnInst() -> Nil
  11993.  
  11994.     Description:
  11995.  
  11996.          ComUnInst() Uninstalls the Serial Communications System.
  11997.  
  11998.          This must always be called before you leave the system if you
  11999.          have previously activated the interrupts manager with ComInst().
  12000.  
  12001.     Return:
  12002.  
  12003.          Nothing.
  12004.  
  12005.     Example:
  12006.  
  12007.          ComUnInst()
  12008.  
  12009. See Also: "ComInst()" 
  12010.  
  12011.  
  12012.     CRC32()
  12013.  
  12014.          Returns a CRC32 polynomial of a block as PKZIP
  12015.  
  12016.     Syntax:
  12017.  
  12018.          CRC32( cBlock ) -> cCRC
  12019.  
  12020.          cBlock  : The block to calculate
  12021.  
  12022.     Description:
  12023.  
  12024.          Calculates a CRC32 bit polynomial of a character or memo value.
  12025.  
  12026.     Return:
  12027.  
  12028.          A character value with the CRC.
  12029.  
  12030.     Example:
  12031.  
  12032.          ? CRC32( "Hello" )                   // e.g. edb88320h
  12033.          ? CRC32( MemoRead( "Fast.txt" ) )    // e.g. feda3139h
  12034.  
  12035.  
  12036.     Dial()
  12037.  
  12038.          Dials a phone number with the modem
  12039.  
  12040.     Syntax:
  12041.  
  12042.          Dial( cPort, cNumber [, cDial] ) -> lError
  12043.  
  12044.                                  - Page 201 -
  12045. Norton Guide: `FAST.lib 3.15 » Reference'
  12046.  
  12047.  
  12048.  
  12049.          cPort   : The port where the modem is found.
  12050.          cNumber : The phone number.
  12051.          cDial   : The dialing string.
  12052.  
  12053.     Description:
  12054.  
  12055.          Dials a phone number with the modem. Don't forget to hang up
  12056.          at the end of each phone call and before you dial again.
  12057.  
  12058.          The default port is "COM1" and the dialing string by default is
  12059.          "ATDP" to call by pulses. Write "ATDT" to call by tones.
  12060.  
  12061.     Return:
  12062.  
  12063.          If there's any error returns .F. if not, returns .T.
  12064.  
  12065.     Example:
  12066.  
  12067.          ? "Dialing..."
  12068.          Dial( "COM2", "94,4992660" )
  12069.          Inkey (0)
  12070.          ? "Hangup"
  12071.          Hangup( "COM2" )
  12072.  
  12073. See Also: "Hangup()" 
  12074.  
  12075.  
  12076.     Hangup()
  12077.  
  12078.          Hangs up the phone
  12079.  
  12080.     Syntax:
  12081.  
  12082.          Hangup( cPort [, cHangup] ) -> lError
  12083.  
  12084.          cPort   : The port where the modem is found.
  12085.          cHangup : The string to send to the modem.
  12086.  
  12087.     Description:
  12088.  
  12089.          Hangs up the phone.  Don't forget to hang up at the end of each
  12090.          phone call. The default port is "COM1" and the default Hangup
  12091.          String is "+++ATH0".
  12092.  
  12093.     Return:
  12094.  
  12095.          If there's any error returns .F. if not, returns .T.
  12096.  
  12097.     Example:
  12098.  
  12099.          ? "Dialing..."
  12100.          Dial ( "COM2", "94,4992660", "ATB0DP" )
  12101.          Inkey (0)
  12102.          ? "Hangup"
  12103.  
  12104.                                  - Page 202 -
  12105. Norton Guide: `FAST.lib 3.15 » Reference'
  12106.  
  12107.  
  12108.          Hangup ( "COM2", "+++ATH0" )
  12109.  
  12110. See Also: "Dial()" 
  12111.  
  12112.  
  12113.  
  12114.  
  12115.  
  12116.  
  12117.  
  12118.  
  12119.  
  12120.  
  12121.  
  12122.  
  12123.  
  12124.  
  12125.  
  12126.  
  12127.  
  12128.  
  12129.  
  12130.  
  12131.  
  12132.  
  12133.  
  12134.  
  12135.  
  12136.  
  12137.  
  12138.  
  12139.  
  12140.  
  12141.  
  12142.  
  12143.  
  12144.  
  12145.  
  12146.  
  12147.  
  12148.  
  12149.  
  12150.  
  12151.  
  12152.  
  12153.  
  12154.  
  12155.  
  12156.  
  12157.  
  12158.  
  12159.  
  12160.  
  12161.  
  12162.  
  12163.                                  - Page 203 -
  12164. Norton Guide: `FAST.lib 3.15 » Reference'
  12165.  
  12166.  
  12167. Menu List: FAST.lib 2, CD-Audio SB DAC Speaker
  12168.  
  12169.  
  12170.  
  12171.  
  12172.     A new horizon is opening up for Clipper. The power of sound from within
  12173.  our applications is now possible.  Advise your users with sounds for
  12174.  errors, warnings, etc.  Let your imagination run wild.  Lets go to
  12175.  multimedia naturally with Clipper.
  12176.  
  12177.     In version 2.00 the ability for sound in Clipper was given.  In that
  12178.  version there was only support for Sound Blaster and Sound Blaster Pro.
  12179.  Since then I received lots of petitions to extend this subsystem to the
  12180.  Parallel DAC and the Speaker.
  12181.  
  12182.     Now we break that wall and give you the possibility to generate sound by
  12183.  the parallel DAC and by the speaker.  Not everybody has a Sound Blaster, but
  12184.  a speaker is on every machine.
  12185.  
  12186.     The maximum frequency depends on the speed of the processor and the
  12187.  drivers in memory.
  12188.  
  12189.     The most difficult part of sound generation have two aspects.  The first
  12190.  is the sparse information about sound formats. The second is the VMM
  12191.  system stopping while the sound functions execute.  Compatabilty has been
  12192.  achieved with the Sound Blaster, but not yet during DAC and speaker functions
  12193.  where the dear VMM pauses in silence.
  12194.  
  12195.  ──────────────────────────────────────────────────────────────────────────────
  12196.  
  12197.  
  12198.     cdDrive()
  12199.  
  12200.          Returns the logical name of the CD unit
  12201.  
  12202.     Syntax:
  12203.  
  12204.          cdDrive() -> cName
  12205.  
  12206.     Description:
  12207.  
  12208.          Returns a string value with the name of the CD unit
  12209.  
  12210.     Return:
  12211.  
  12212.          A string value.
  12213.  
  12214.     Example:
  12215.  
  12216.          ? cdDrive()          // "E:"
  12217.  
  12218.  
  12219.     cdEject()
  12220.  
  12221.          Ejects the CD disk
  12222.  
  12223.                                  - Page 204 -
  12224. Norton Guide: `FAST.lib 3.15 » Reference'
  12225.  
  12226.  
  12227.  
  12228.     Syntax:
  12229.  
  12230.          cdEject() -> Nil
  12231.  
  12232.     Description:
  12233.  
  12234.          Ejects the CD. If the CD is playing the call is ignored.
  12235.  
  12236.     Return:
  12237.  
  12238.          Nothing.
  12239.  
  12240.     Example:
  12241.  
  12242.          cdPlay()
  12243.          ? "Press any key to stop the CD"
  12244.          Inkey( 0 )
  12245.          cdStop()
  12246.          cdEject()
  12247.  
  12248. See Also: "cdStop()" "cdPlay()" "cdResume()" 
  12249.  
  12250.  
  12251.     cdInfo()
  12252.  
  12253.          Returns the contents of a CD disk
  12254.  
  12255.     Syntax:
  12256.  
  12257.          cdInfo() -> aSongs
  12258.  
  12259.     Description:
  12260.  
  12261.          Returns the contents of a CD disk. If the CD is playing the
  12262.          call is ignored.
  12263.  
  12264.     Return:
  12265.  
  12266.          An array with the songs of the CD disk.
  12267.  
  12268.     Example:
  12269.  
  12270.          aSongs := cdInfo()
  12271.          For nInd := 1 To Len( aSongs )
  12272.            ? aSongs[ nInd ]
  12273.          Next
  12274.  
  12275.  
  12276.     cdInstall()
  12277.  
  12278.          Determines if a CD is installed
  12279.  
  12280.     Syntax:
  12281.  
  12282.  
  12283.                                  - Page 205 -
  12284. Norton Guide: `FAST.lib 3.15 » Reference'
  12285.  
  12286.  
  12287.          cdInstall() -> lInstall
  12288.  
  12289.     Description:
  12290.  
  12291.          Returns a logic indicating if a CD is installed.
  12292.  
  12293.     Return:
  12294.  
  12295.          A logic value.
  12296.  
  12297.     Example:
  12298.  
  12299.          if ! cdInstall()
  12300.            ? "Oh!! no CD detected"
  12301.          endif
  12302.  
  12303.  
  12304.     cdPlay()
  12305.  
  12306.          Starts the CD
  12307.  
  12308.     Syntax:
  12309.  
  12310.          cdPlay( nSong ) -> Nil
  12311.  
  12312.          nSong : A number with the song to play
  12313.  
  12314.     Description:
  12315.  
  12316.          Starts the CD. If the CD is playing the call is ignored.
  12317.  
  12318.     Return:
  12319.  
  12320.          Nothing.
  12321.  
  12322.     Example:
  12323.  
  12324.          cdPlay()
  12325.          ? "Press any key to stop the CD"
  12326.          Inkey( 0 )
  12327.          cdStop()
  12328.  
  12329. See Also: "cdEject()" "cdStop()" "cdResume()" 
  12330.  
  12331.  
  12332.     cdResume()
  12333.  
  12334.          Resumes playing a CD after a pause
  12335.  
  12336.     Syntax:
  12337.  
  12338.          cdResume() -> Nil
  12339.  
  12340.     Description:
  12341.  
  12342.  
  12343.                                  - Page 206 -
  12344. Norton Guide: `FAST.lib 3.15 » Reference'
  12345.  
  12346.  
  12347.          Resumes playing a CD after a pause. If the CD is not stopped the call
  12348.          is ignored.
  12349.  
  12350.     Return:
  12351.  
  12352.          Nothing.
  12353.  
  12354.     Example:
  12355.  
  12356.          cdPlay()
  12357.          ? "Press any key to stop the CD"
  12358.          Inkey( 0 )
  12359.          cdStop()
  12360.          ? "Press any key to continue"
  12361.          Inkey( 0 )
  12362.          cdResume()
  12363.  
  12364. See Also: "cdEject()" "cdPlay()" "cdStop()" 
  12365.  
  12366.  
  12367.     cdStatus()
  12368.  
  12369.          Determines the status of a CD unit
  12370.  
  12371.     Syntax:
  12372.  
  12373.          cdStatus() -> nError
  12374.  
  12375.     Description:
  12376.  
  12377.          Determines the status of a CD unit.
  12378.  
  12379.     Return:
  12380.  
  12381.          A numeric value indicating an error or 0 if everything is OK.
  12382.  
  12383.     Example:
  12384.  
  12385.          ? cdStatus()
  12386.  
  12387.  
  12388.     cdStop()
  12389.  
  12390.          Stops or pauses the CD
  12391.  
  12392.     Syntax:
  12393.  
  12394.          cdStop() -> Nil
  12395.  
  12396.     Description:
  12397.  
  12398.          Stops or pauses the CD. If the CD is not playing the call
  12399.          is ignored.
  12400.  
  12401.     Return:
  12402.  
  12403.                                  - Page 207 -
  12404. Norton Guide: `FAST.lib 3.15 » Reference'
  12405.  
  12406.  
  12407.  
  12408.          Nothing.
  12409.  
  12410.     Example:
  12411.  
  12412.          cdPlay()
  12413.          ? "Press any key to stop the CD"
  12414.          Inkey( 0 )
  12415.          cdStop()
  12416.  
  12417. See Also: "cdPlay()" "cdResume()" 
  12418.  
  12419.  
  12420.     dacVocPlay()
  12421.  
  12422.          Plays a file with VOC format by a parallel DAC
  12423.  
  12424.     Syntax:
  12425.  
  12426.          dacVocPlay( cFile [, nRate] ) -> lError
  12427.  
  12428.          cFile : The VOC file name.
  12429.          nRate : The frequency ratio. Default value is 12000 Hz.
  12430.                  Use this value for frequency changes.
  12431.  
  12432.     Description:
  12433.  
  12434.          Plays a file with VOC format by a parallel DAC.
  12435.  
  12436.     Return:
  12437.  
  12438.          A logic value indicating if the function finished without error
  12439.  
  12440.     Example:
  12441.  
  12442.          dacVocPlay( "Luna.Voc", 13224 )
  12443.  
  12444. See Also: "dacWavPlay()" 
  12445.  
  12446.  
  12447.     dacWavPlay()
  12448.  
  12449.          Plays a file with WAV format by a parallel DAC
  12450.  
  12451.     Syntax:
  12452.  
  12453.          dacWavPlay( cFile [, nRate] ) -> lError
  12454.  
  12455.          cFile : The name of the file WAV
  12456.          nRate : The frequency ratio. Default value is 12000 Hz.
  12457.                  Use this value for frequency changes.
  12458.  
  12459.     Description:
  12460.  
  12461.           Plays a file with WAV format by a parallel DAC.
  12462.  
  12463.                                  - Page 208 -
  12464. Norton Guide: `FAST.lib 3.15 » Reference'
  12465.  
  12466.  
  12467.  
  12468.     Return:
  12469.  
  12470.          A logic value indicating if the function finished with error
  12471.  
  12472.     Example:
  12473.  
  12474.          dacWavPlay( "Luna.Wav", 13224 )
  12475.  
  12476. See Also: "dacVocPlay()" 
  12477.  
  12478.  
  12479.     dacPort()
  12480.  
  12481.          Determines the parallel port where the DAC is connected
  12482.  
  12483.     Syntax:
  12484.  
  12485.          dacPort( nPort ) -> nOldPort
  12486.  
  12487.          nPort : The number indicating the parallel port. Value 1 indicates
  12488.                  LPT1 and 2 indicates LPT2.
  12489.  
  12490.     Description:
  12491.  
  12492.          Determines the parallel port where the DAC is connected.
  12493.          Default port is LPT1.
  12494.  
  12495.     Return:
  12496.  
  12497.          The numeric port number the DAC is connected to.
  12498.  
  12499.     Example:
  12500.  
  12501.          dacPort( 2 )           // Now everything will go to LPT2
  12502.  
  12503.  
  12504.     MSCDESVer()
  12505.  
  12506.          Returns the version of MSCDEX
  12507.  
  12508.     Syntax:
  12509.  
  12510.          MSCDEXVer() -> cVersion
  12511.  
  12512.     Description:
  12513.  
  12514.          Returns a string value with the version of MSCDEX
  12515.  
  12516.     Return:
  12517.  
  12518.          A string value.
  12519.  
  12520.     Example:
  12521.  
  12522.  
  12523.                                  - Page 209 -
  12524. Norton Guide: `FAST.lib 3.15 » Reference'
  12525.  
  12526.  
  12527.          ? MSCDEXVer()      // "02.20"
  12528.  
  12529.  
  12530.     sbCDVol()
  12531.  
  12532.          Returns the volume level of the CD. Only in Sound Blaster Pro.
  12533.  
  12534.     Syntax:
  12535.  
  12536.          sbCDVol() -> nVol
  12537.  
  12538.     Description:
  12539.  
  12540.          Returns the volume set up for the CD on the system if this is present.
  12541.  
  12542.     Return:
  12543.  
  12544.         A numeric value showing the volume.
  12545.  
  12546.     Example:
  12547.  
  12548.          ? sbCDVol()
  12549.  
  12550.  
  12551.     sbFMVolL()
  12552.  
  12553.          Returns the left volume level
  12554.  
  12555.     Syntax:
  12556.  
  12557.          sbFMVolL() -> nVol
  12558.  
  12559.     Description:
  12560.  
  12561.          Returns the volume level of the left channel in the
  12562.          Sound Blaster.
  12563.  
  12564.     Return:
  12565.  
  12566.          A numeric value showing the volume.
  12567.  
  12568.     Example:
  12569.  
  12570.          ? sbFMVolL()
  12571.  
  12572. See Also: "sbFMVolR()" 
  12573.  
  12574.  
  12575.     sbFMVolR()
  12576.  
  12577.          Returns the right volume level
  12578.  
  12579.     Syntax:
  12580.  
  12581.          sbFMVolR() -> nVol
  12582.  
  12583.                                  - Page 210 -
  12584. Norton Guide: `FAST.lib 3.15 » Reference'
  12585.  
  12586.  
  12587.  
  12588.     Description:
  12589.  
  12590.          Returns the volume level of the right channel in the
  12591.          Sound Blaster.
  12592.  
  12593.     Return:
  12594.  
  12595.          A numeric value showing the volume.
  12596.  
  12597.     Example:
  12598.  
  12599.          ? sbFMVolR()
  12600.  
  12601. See Also: "sbFMVolL()" 
  12602.  
  12603.  
  12604.     sbInit()
  12605.  
  12606.          Initiates the Sound Blaster and determines it's presence
  12607.  
  12608.     Syntax:
  12609.  
  12610.          sbInit() -> lError
  12611.  
  12612.     Description:
  12613.  
  12614.          Initiates the Sound Blaster and/or Sound Blaster Pro and determines
  12615.          it's presence giving back a logic.
  12616.  
  12617.          Remember that before calling this function you have to set up the
  12618.          IRQ and IO Address if the values you have set up on your system are
  12619.          not the default.  This means that if the IRQ is NOT 7h or the IO
  12620.          Address is NOT 220h.  Use the functions sbIO() and sbIRQ().
  12621.  
  12622.     Return:
  12623.  
  12624.          A logic value indicating if the Sound Blaster is available on the
  12625.          system at the IRQ and IO Address specified.
  12626.  
  12627.     Example:
  12628.  
  12629.          If sbInit()
  12630.            ? "There's a Sound Blaster Card"
  12631.          EndIf
  12632.  
  12633. See Also: "sbIO()" "sbIRQ()" 
  12634.  
  12635.  
  12636.     sbIO()
  12637.  
  12638.          Returns and/or modifies the SB IO Address
  12639.  
  12640.     Syntax:
  12641.  
  12642.  
  12643.                                  - Page 211 -
  12644. Norton Guide: `FAST.lib 3.15 » Reference'
  12645.  
  12646.  
  12647.          sbIO( nNewAddr ) -> nAddress
  12648.  
  12649.          nNewAddr : The new address the Sound Blaster is configured for.
  12650.                     Remember that the value must be introduced in decimal,
  12651.                     translate the hexadecimal to decimal.
  12652.  
  12653.     Description:
  12654.  
  12655.          Returns and/or modifies the IO Address of the Sound Blaster. If
  12656.          null the Sound Blaster default address is 220h, but this value can
  12657.          be modified by the switches on the card.  Check the Sound Blaster
  12658.          Input/Output Address and modify this function to that address.
  12659.  
  12660.     Return:
  12661.  
  12662.          A numeric value showing the actual IO address.
  12663.  
  12664.     Example:
  12665.  
  12666.          ? sbIO()               // Probably Returns 220h in decimal
  12667.  
  12668. See Also: "sbIRQ()" 
  12669.  
  12670.  
  12671.     sbIRQ()
  12672.  
  12673.          Returns and/or modifies the IRQ of the SB
  12674.  
  12675.     Syntax:
  12676.  
  12677.          sbIRQ( nNewIRQ ) -> nIRQ
  12678.  
  12679.          nNewIRQ : The new IRQ that the Sound Blaster is configured for.
  12680.                    Remember that the value must be introduced in decimal,
  12681.                    translate the hexadecimal to decimal.
  12682.  
  12683.     Description:
  12684.  
  12685.          Returns and/or modifies the IRQ of the Sound Blaster. If Null the
  12686.          Sound Blaster defaults to IRQ 7h, that means that, assume the
  12687.          interruption 08h+07h = 0fh but this value can be modify by
  12688.          the switches on the card.
  12689.  
  12690.          Check for which IRQ your Sound Blaster has been configured
  12691.          and adjust this function to that IRQ.
  12692.  
  12693.     Return:
  12694.  
  12695.          A numerical value indicating the present IRQ
  12696.  
  12697.     Example:
  12698.  
  12699.          ? sbIRQ( 5 )    // Update the IRQ to 5 and Returns the previous
  12700.  
  12701. See Also: "sbIO()" 
  12702.  
  12703.                                  - Page 212 -
  12704. Norton Guide: `FAST.lib 3.15 » Reference'
  12705.  
  12706.  
  12707.  
  12708.  
  12709.     sbLineVolL()
  12710.  
  12711.          Returns the left volumn Level
  12712.  
  12713.     Syntax:
  12714.  
  12715.          sbLineVolL() -> nVol
  12716.  
  12717.     Description:
  12718.  
  12719.          Returns the volume level established in the left channel
  12720.          of the Sound Blaster.
  12721.  
  12722.     Return:
  12723.  
  12724.          A numerical value indicating the volume.
  12725.  
  12726.     Example:
  12727.  
  12728.          ? sbLineVolL()
  12729.  
  12730. See Also: "sbLineVolR()" 
  12731.  
  12732.  
  12733.     sbLineVolR()
  12734.  
  12735.          Returns the right volume level
  12736.  
  12737.     Syntax:
  12738.  
  12739.          sbLineVolR() -> nVol
  12740.  
  12741.     Description:
  12742.  
  12743.          Returns the volume level established in the right channel
  12744.          of the Sound Blaster.
  12745.  
  12746.     Return:
  12747.  
  12748.          A numerical value indicating the volume.
  12749.  
  12750.     Example:
  12751.  
  12752.          ? sbLineVolR()
  12753.  
  12754. See Also: "sbLineVolL()" 
  12755.  
  12756.  
  12757.    sbMastVolL()
  12758.  
  12759.          Returns the Master left volume level
  12760.  
  12761.     Syntax:
  12762.  
  12763.                                  - Page 213 -
  12764. Norton Guide: `FAST.lib 3.15 » Reference'
  12765.  
  12766.  
  12767.  
  12768.          sbMastVolL() -> nVol
  12769.  
  12770.     Description:
  12771.  
  12772.          Returns the Master volume level established in the left channel
  12773.          of the Sound Blaster.
  12774.  
  12775.     Return:
  12776.  
  12777.          A numerical value indicating the volume.
  12778.  
  12779.     Example:
  12780.  
  12781.          ? sbMastVolL()
  12782.  
  12783. See Also: "sbMastVolR()" 
  12784.  
  12785.  
  12786.     sbMastVolR()
  12787.  
  12788.          Returns the Master right volume level
  12789.  
  12790.     Syntax:
  12791.  
  12792.          sbMastVolR() -> nVol
  12793.  
  12794.     Description:
  12795.  
  12796.          Returns the Master volume level established in the right channel
  12797.          of the Sound Blaster.
  12798.  
  12799.     Return:
  12800.  
  12801.          A numerical value indicating the volume.
  12802.  
  12803.     Example:
  12804.  
  12805.          ? sbMastVolR()
  12806.  
  12807. See Also: "sbMastVolL()" 
  12808.  
  12809.  
  12810.     sbRecScr()
  12811.  
  12812.          Returns the volume level of the recording
  12813.  
  12814.     Syntax:
  12815.  
  12816.          sbRecScr() -> nVol
  12817.  
  12818.     Description:
  12819.  
  12820.          Returns the recording volume level established in the Sound Blaster.
  12821.  
  12822.  
  12823.                                  - Page 214 -
  12824. Norton Guide: `FAST.lib 3.15 » Reference'
  12825.  
  12826.  
  12827.     Return:
  12828.  
  12829.          A numerical value indicating the volume.
  12830.  
  12831.     Example:
  12832.  
  12833.          ? sbRecScr()
  12834.  
  12835.  
  12836.     sbVocPlay()
  12837.  
  12838.          Plays a file with VOC format by the Sound Blaster
  12839.  
  12840.     Syntax:
  12841.  
  12842.          sbVocPlay( cFile [, nRate] ) -> lError
  12843.  
  12844.          cFile : The name of the VOC file
  12845.          nRate : The frequency ratio. Default value is 12000 Hz.
  12846.                  Use this value for frequency changes.
  12847.  
  12848.     Description:
  12849.  
  12850.          Plays a file with VOC format by the Sound Blaster.
  12851.  
  12852.     Return:
  12853.  
  12854.          A logic value indicating if the function finished without error
  12855.  
  12856.     Example:
  12857.  
  12858.          sbVocPlay( "Fast.Voc", 13224 )
  12859.  
  12860. See Also: "sbWavPlay()" 
  12861.  
  12862.  
  12863.     sbVocVolL()
  12864.  
  12865.          Returns the left VOC volume level
  12866.  
  12867.     Syntax:
  12868.  
  12869.          sbVocVolL() -> nVol
  12870.  
  12871.     Description:
  12872.  
  12873.          Returns the VOC volume level established in the left channel
  12874.          of the Sound Blaster.
  12875.  
  12876.     Return:
  12877.  
  12878.          A numerical value indicating the volume.
  12879.  
  12880.     Example:
  12881.  
  12882.  
  12883.                                  - Page 215 -
  12884. Norton Guide: `FAST.lib 3.15 » Reference'
  12885.  
  12886.  
  12887.          ? sbVocVolL()
  12888.  
  12889. See Also: "sbVocVolR()" 
  12890.  
  12891.  
  12892.     sbVocVolR()
  12893.  
  12894.          Returns the right VOC volume level
  12895.  
  12896.     Syntax:
  12897.  
  12898.          sbVocVolR() -> nVol
  12899.  
  12900.     Description:
  12901.  
  12902.          Returns the VOC volume level established in the right channel
  12903.          of the Sound Blaster.
  12904.  
  12905.     Return:
  12906.  
  12907.          A numerical value indicating the volume.
  12908.  
  12909.     Example:
  12910.  
  12911.          ? sbVocVolR()
  12912.  
  12913. See Also: "sbVocVolL()" 
  12914.  
  12915.  
  12916.     sbWavPlay()
  12917.  
  12918.          Plays a file with WAV format by the Sound Blaster
  12919.  
  12920.     Syntax:
  12921.  
  12922.          sbWavPlay( cFile [, nRate] ) -> lError
  12923.  
  12924.          cFile : The name of the WAV file
  12925.          nRate : The frequency ratio. Default value is 12000 Hz.
  12926.                  Use this value for frequency changes.
  12927.  
  12928.     Description:
  12929.  
  12930.          Plays a file with WAV format by the Sound Blaster.
  12931.  
  12932.     Return:
  12933.  
  12934.          A logic value indicating if the function finished without error
  12935.  
  12936.     Example:
  12937.  
  12938.          sbWavPlay( "Luna.Wav", 13224 )
  12939.  
  12940. See Also: "sbVocPlay()" 
  12941.  
  12942.  
  12943.                                  - Page 216 -
  12944. Norton Guide: `FAST.lib 3.15 » Reference'
  12945.  
  12946.  
  12947.  
  12948.     spkVocPlay()
  12949.  
  12950.          Plays a file with VOC format by the speaker
  12951.  
  12952.     Syntax:
  12953.  
  12954.          spkVocPlay( cFile [, nRate] ) -> lError
  12955.  
  12956.          cFile : The name of the VOC file
  12957.          nRate : The frequency ratio. Default value is 12000 Hz.
  12958.                  Use this value for frequency changes.
  12959.  
  12960.     Description:
  12961.  
  12962.          Plays a file with VOC format by the speaker.
  12963.  
  12964.     Return:
  12965.  
  12966.          A logic value indicating if the function finished without error
  12967.  
  12968.     Example:
  12969.  
  12970.          spkVocPlay( "Handel.voc", 13224 )
  12971.  
  12972. See Also: "spkWavPlay()" 
  12973.  
  12974.  
  12975.     spkWavPlay()
  12976.  
  12977.          Plays a file with WAV format by the speaker
  12978.  
  12979.     Syntax:
  12980.  
  12981.          spkWavPlay( cFile [, nRate] ) -> lError
  12982.  
  12983.          cFile : The name of the WAV file
  12984.          nRate : The frequency ratio. Default value is 12000 Hz.
  12985.                  Use this value for frequency changes.
  12986.  
  12987.     Description:
  12988.  
  12989.          Reproduces a file with WAV format by the speaker.
  12990.  
  12991.     Return:
  12992.  
  12993.          A logic value indicating if the function finished without error
  12994.  
  12995.     Example:
  12996.  
  12997.          spkWavPlay( "Luna.Wav", 13224 )
  12998.  
  12999. See Also: "spkVocPlay()" 
  13000.  
  13001.  
  13002.                                  - Page 217 -
  13003. Norton Guide: `FAST.lib 3.15 » Reference'
  13004.  
  13005.  
  13006. Menu List: FAST.lib 2, System
  13007.  
  13008.  
  13009.  
  13010.  
  13011.    With these functions I give you control of the Clipper environment
  13012.  from within the applications that you make. This way, you can control
  13013.  the access to the Clipper's SETS, the modem, setup, passwords, CMOS, BIOS,
  13014.  memory, drivers... etc.
  13015.  
  13016.  ──────────────────────────────────────────────────────────────────────────────
  13017.  
  13018.  
  13019.     BIOSModel()
  13020.  
  13021.          Returns the computer model
  13022.  
  13023.     Syntax:
  13024.  
  13025.          BIOSModel() -> nModel
  13026.  
  13027.     Description:
  13028.  
  13029.          Returns a number between 0 and 255, that is to say, the decimal
  13030.          value of a byte indicating the model of the system that the BIOS
  13031.          reports. In a conventional 80386 this value normally is 252, or
  13032.          FCh. There are tables where these numbers are located for all the
  13033.          existing models in the majority of the assembler bibles.
  13034.  
  13035.     Return:
  13036.  
  13037.          A numeric value indicating the computer model.
  13038.  
  13039.     Example:
  13040.  
  13041.          ? BIOSModel()
  13042.  
  13043. See Also: "BIOSRev()" "BIOSSubMod()" 
  13044.  
  13045.  
  13046.     BIOSRev()
  13047.  
  13048.          Returns the BIOS revision
  13049.  
  13050.     Syntax:
  13051.  
  13052.          BIOSRev() -> nRevision
  13053.  
  13054.     Description:
  13055.  
  13056.          Returns a number between 0 and 255, that is to say, the decimal
  13057.          value of a byte indicating the revision of the system's BIOS.
  13058.          The revision usually is in relation to the date of the BIOS.
  13059.  
  13060.     Return:
  13061.  
  13062.                                  - Page 218 -
  13063. Norton Guide: `FAST.lib 3.15 » Reference'
  13064.  
  13065.  
  13066.  
  13067.          A numeric value indicating the BIOS revision.
  13068.  
  13069.     Example:
  13070.  
  13071.          BIOSRev()
  13072.  
  13073. See Also: "BIOSModel()" "BIOSSubMod()" 
  13074.  
  13075.  
  13076.     BIOSSubMod()
  13077.  
  13078.          Returns the computer submodel
  13079.  
  13080.     Syntax:
  13081.  
  13082.          BIOSSubMod() -> nSubModel
  13083.  
  13084.     Description:
  13085.  
  13086.          Returns a number between 0 and 255, that is to say, the decimal
  13087.          value of a byte indicating the SubModel of the computer. This
  13088.          value is the one that normally is used by the majority of the
  13089.          manufacturers to distinguish their equipment. The worst case is
  13090.          a lot of clones manufacturers may use the same values. Is not the
  13091.          same with IBM, Compaq or Toshiba who use exclusive values.
  13092.  
  13093.     Return:
  13094.  
  13095.          A numeric value indicating the computer submodel.
  13096.  
  13097.     Example:
  13098.  
  13099.          BIOSSubMod()
  13100.  
  13101. See Also: "BIOSModel()" "BIOSRev()" 
  13102.  
  13103.  
  13104.     cArgV()
  13105.  
  13106.          Returns a command line parameter
  13107.  
  13108.     Syntax:
  13109.  
  13110.          cArgV( nPos ) -> cParam
  13111.  
  13112.          nPos : The position of the command line. The 0 position
  13113.                 is the name of the program that is running. The 1 position
  13114.                 is the first parameter, 2 the second....
  13115.  
  13116.     Description:
  13117.  
  13118.          Returns the parameters that has been carried to the application
  13119.          and/or the name of the program that is running.
  13120.  
  13121.  
  13122.                                  - Page 219 -
  13123. Norton Guide: `FAST.lib 3.15 » Reference'
  13124.  
  13125.  
  13126.     Return:
  13127.  
  13128.          A character value with the specified command line parameter.
  13129.  
  13130.     Example:
  13131.  
  13132.          ? cArgV( 0 )           // the name of the program
  13133.          ? cArgV( 2 )           // the second parameter
  13134.  
  13135. See Also: "nArgC()" 
  13136.  
  13137.  
  13138.     cmosGet()
  13139.  
  13140.          Gets a CMOS position
  13141.  
  13142.     Syntax:
  13143.  
  13144.          cmosGet( nAddress ) -> nValue
  13145.  
  13146.          nAddress : The relative address of CMOS. The address
  13147.                     table is given below.
  13148.  
  13149.     Description:
  13150.  
  13151.          Returns the value of a memory cell in CMOS. This can be useful
  13152.          to determine various aspects about the system's setup. Remember that
  13153.          the input and output parameters must be specified in decimal code,
  13154.          even though the table below is given in hexadecimal.
  13155.  
  13156.                  00h    Seconds
  13157.                  01h    Alarm seconds
  13158.                  02h    Minutes
  13159.                  03h    Alarm minutes
  13160.                  04h    Hours
  13161.                  05h    Alarm Hours
  13162.                  06h    Day of week
  13163.                  07h    Day of month
  13164.                  08h    Month
  13165.                  09h    Year
  13166.                  0Ah    Status register A
  13167.                  0Bh    Status register B
  13168.                  0Ch    Status register C
  13169.                  0Dh    Status register D
  13170.                  0Eh    Diagnostic Byte
  13171.                  OFh    Shutdown status byte
  13172.                  10h    Diskette drive type byte - disk A and B
  13173.                  11h    Reserved
  13174.                  12h    Fixed disk type byte - disk C and D
  13175.                  13h    Reserved
  13176.                  14h    Equipment Byte
  13177.                  15h    Low base memory byte
  13178.                  16h    High base memory byte
  13179.                  17h    Low expansion memory byte
  13180.                  18h    High expansion memory byte
  13181.  
  13182.                                  - Page 220 -
  13183. Norton Guide: `FAST.lib 3.15 » Reference'
  13184.  
  13185.  
  13186.                  19-2Dh Reserved
  13187.                  2Eh    Checksum byte 1
  13188.                  2Fh    Checksum byte 2
  13189.                  30h    Low expansion memory byte
  13190.                  31h    High expansion memory byte
  13191.                  32h    Date century byte
  13192.                  33h    Flags Information byte
  13193.                  34-3Fh Reserved
  13194.  
  13195.     Return:
  13196.  
  13197.          A numeric value with the CMOS position.
  13198.  
  13199.     Example:
  13200.  
  13201.          ? cmosGet( 6 )           // returns the day of the week
  13202.  
  13203. See Also: "cmosSet()" 
  13204.  
  13205.  
  13206.     cmosSet()
  13207.  
  13208.          Sets a CMOS position
  13209.  
  13210.     Syntax:
  13211.  
  13212.          cmosSet( nAddress, nValue ) -> Nil
  13213.  
  13214.          nAddress : The relative address of CMOS. The address table is given
  13215.                     below.
  13216.          nValue   : The new value for the indicated position of CMOS
  13217.  
  13218.     Description:
  13219.  
  13220.          DANGER!!
  13221.          This function allows low level access to system. It MUST be used
  13222.          with extreme care and requires a thorough knowledge of computer
  13223.          Architecture.
  13224.  
  13225.          Initialize the value of a cell of the CMOS memory. It can be very
  13226.          useful to quickly modify the system's setup. Remember that the
  13227.          input and output parameters must be specified in decimal, even though
  13228.          the table below is given in hexadecimal.
  13229.  
  13230.                  00h    Seconds
  13231.                  01h    Alarm seconds
  13232.                  02h    Minutes
  13233.                  03h    Alarm minutes
  13234.                  04h    Hours
  13235.                  05h    Alarm Hours
  13236.                  06h    Day of week
  13237.                  07h    Day of month
  13238.                  08h    Month
  13239.                  09h    Year
  13240.                  0Ah    Status register A
  13241.  
  13242.                                  - Page 221 -
  13243. Norton Guide: `FAST.lib 3.15 » Reference'
  13244.  
  13245.  
  13246.                  0Bh    Status register B
  13247.                  0Ch    Status register C
  13248.                  0Dh    Status register D
  13249.                  0Eh    Diagnostic Byte
  13250.                  OFh    Shutdown status byte
  13251.                  10h    Diskette drive type byte - disk A and B
  13252.                  11h    Reserved
  13253.                  12h    Fixed disk type byte - disk C and D
  13254.                  13h    Reserved
  13255.                  14h    Equipment Byte
  13256.                  15h    Low base memory byte
  13257.                  16h    High base memory byte
  13258.                  17h    Low expansion memory byte
  13259.                  18h    High expansion memory byte
  13260.                  19-2Dh Reserved
  13261.                  2Eh    Checksum byte 1
  13262.                  2Fh    Checksum byte 2
  13263.                  30h    Low expansion memory byte
  13264.                  31h    High expansion memory byte
  13265.                  32h    Date century byte
  13266.                  33h    Flags Information byte
  13267.                  34-3Fh Reserved
  13268.  
  13269.     Return:
  13270.  
  13271.          Nothing.
  13272.  
  13273.     Example:
  13274.  
  13275.          ? cmosSet( 0, 30 )         // Put the system seconds to 30
  13276.  
  13277. See Also: "cmosGet()" 
  13278.  
  13279.  
  13280.     CpuType()
  13281.  
  13282.          Returns the processor type
  13283.  
  13284.     Syntax:
  13285.  
  13286.          CpuType() -> nProcessor
  13287.  
  13288.     Description:
  13289.  
  13290.          Returns the kind of CPU that the system has, following a process
  13291.          published directly by Intel. The compatibility of this function
  13292.          with processors not from Intel cannot be guaranteed.
  13293.  
  13294.     Return:
  13295.  
  13296.          Returns 86 for a 8086/88, 286 for a 80286 or 386 if the processor
  13297.          is a 386 or greater.
  13298.  
  13299.     Example:
  13300.  
  13301.  
  13302.                                  - Page 222 -
  13303. Norton Guide: `FAST.lib 3.15 » Reference'
  13304.  
  13305.  
  13306.          If CpuType () <= 286
  13307.            ? "You need a new computer"
  13308.          EndIf
  13309.  
  13310.  
  13311.     Delay()
  13312.  
  13313.          Delays a specified number of milliseconds
  13314.  
  13315.     Syntax:
  13316.  
  13317.          Delay( nMilSeconds ) -> Nil
  13318.  
  13319.          nMilSeconds : Number of milliseconds to delay.
  13320.  
  13321.     Description:
  13322.  
  13323.          Waits for nMilSeconds. This function doesn't attend to the keyboard
  13324.          and only finishes when the time is completed.
  13325.  
  13326.          The precision is to the millisecond, is that to say, 0.001.
  13327.  
  13328.     Return:
  13329.  
  13330.          Nothing.
  13331.  
  13332.     Example:
  13333.  
  13334.          Delay ( 0.5 )          // Delay 0.5 seconds
  13335.  
  13336.  
  13337.     Deencrypt()
  13338.  
  13339.          Decrypts a string
  13340.  
  13341.     Syntax:
  13342.  
  13343.          Deencrypt( cString, cPassword ) -> cNewString
  13344.  
  13345.          cString   : The string to decrypt
  13346.          cPassword : The string used to decrypt
  13347.  
  13348.     Description:
  13349.  
  13350.          Decrypts an string with a secret method.
  13351.  
  13352.     Return:
  13353.  
  13354.          A decrypt character value.
  13355.  
  13356.     Example:
  13357.  
  13358.          cValue := Deencrypt ( "Hello world", "This is my password" )
  13359.  
  13360. See Also: "Encrypt()" "GetPass()" 
  13361.  
  13362.                                  - Page 223 -
  13363. Norton Guide: `FAST.lib 3.15 » Reference'
  13364.  
  13365.  
  13366.  
  13367.  
  13368.     DiskSerNum()
  13369.  
  13370.          Returns the disk serial number
  13371.  
  13372.     Syntax:
  13373.  
  13374.          DiskSerNum( [nUnit] ) -> cSerialNumber
  13375.  
  13376.          nUnit : Unit number:
  13377.                  0 -> Default unit
  13378.                  1 -> A:
  13379.                  2 -> B:
  13380.                  3 -> C:
  13381.                  ...
  13382.  
  13383.     Description:
  13384.  
  13385.          Returns the serial number of the disk if it has been formatted
  13386.          with DOS 4.01 or greater.
  13387.  
  13388.          The default value for nUnit is 0, is that to say, if no parameters
  13389.          are given, the function returns the serial number of the default unit.
  13390.  
  13391.     Return:
  13392.  
  13393.          A character value with the disk serial number.
  13394.  
  13395.     Example:
  13396.  
  13397.          ? DiskSerNum()           //    "1A3D-66B1"
  13398.  
  13399.  
  13400.     DOSShell()
  13401.  
  13402.          Starts a new command processor
  13403.  
  13404.     Syntax:
  13405.  
  13406.          DOSShell() -> Nil
  13407.  
  13408.     Return:
  13409.  
  13410.          Nothing.
  13411.  
  13412.     Example:
  13413.  
  13414.          ? "Type EXIT to return"
  13415.          DOSShell ()
  13416.  
  13417.  
  13418.     DPMIVersion()
  13419.  
  13420.          Returns the DPMI host version
  13421.  
  13422.                                  - Page 224 -
  13423. Norton Guide: `FAST.lib 3.15 » Reference'
  13424.  
  13425.  
  13426.  
  13427.     Syntax:
  13428.  
  13429.          DPMIVersion() -> cVersion
  13430.  
  13431.     Description:
  13432.  
  13433.          Returns DPMI host version or an empty string if a DPMI host is not
  13434.          running.
  13435.  
  13436.     Return:
  13437.  
  13438.          A character value with the DPMI host version or an empty string if
  13439.          a DPMI host is not running.
  13440.  
  13441.     Example:
  13442.  
  13443.          If IsDPMI()
  13444.            Warning( "DPMI host Version: " + DPMIVersion() )
  13445.          EndIf
  13446.  
  13447. See Also: "IsDPMI()" 
  13448.  
  13449.  
  13450.     Encrypt()
  13451.  
  13452.          Encrypts a string
  13453.  
  13454.     Syntax:
  13455.  
  13456.          Encrypt( cString, cPassword ) -> cNewString
  13457.  
  13458.          cString   : The string to encrypt
  13459.          cPassword : The string used to encrypt
  13460.  
  13461.     Description:
  13462.  
  13463.          Encrypts a string with a secret method.
  13464.  
  13465.     Return:
  13466.  
  13467.          A encrypt character value.
  13468.  
  13469.     Example:
  13470.  
  13471.          cValue := Encrypt( "The beach is empty now", "This is my password" )
  13472.  
  13473. See Also: "Deencrypt()" "GetPass()" 
  13474.  
  13475.  
  13476.     FastRight()
  13477.  
  13478.          Returns the Fast Library Copyright
  13479.  
  13480.     Syntax:
  13481.  
  13482.                                  - Page 225 -
  13483. Norton Guide: `FAST.lib 3.15 » Reference'
  13484.  
  13485.  
  13486.  
  13487.          FastRight() -> cCopyright
  13488.  
  13489.     Description:
  13490.  
  13491.          Returns the Fast Library Copyright as a character value.
  13492.  
  13493.     Return:
  13494.  
  13495.          A character value with Fast Library Copyright.
  13496.  
  13497.     Example:
  13498.  
  13499.          FastRight()       //  "(C) 1993 Manu Roibal"
  13500.  
  13501. See Also: "FastVersion()" 
  13502.  
  13503.  
  13504.     FastVersion()
  13505.  
  13506.          Returns the Fast Library Version
  13507.  
  13508.     Syntax:
  13509.  
  13510.          FastVersion() -> cVersion
  13511.  
  13512.     Description:
  13513.  
  13514.          Returns the Fast Library Version as a character value.
  13515.  
  13516.     Return:
  13517.  
  13518.          A character value with the Fast Library Version.
  13519.  
  13520.     Example:
  13521.  
  13522.          FastVersion()   //  "Fast Library For Clipper V. 3.11"
  13523.  
  13524. See Also: "FastRight()" 
  13525.  
  13526.  
  13527.     GetEnviron()
  13528.  
  13529.          Gets the system environment
  13530.  
  13531.     Syntax:
  13532.  
  13533.          GetEnviron() -> aEnviron
  13534.  
  13535.     Description:
  13536.  
  13537.          Returns the system environment, PATH, SET's...
  13538.  
  13539.     Return:
  13540.  
  13541.  
  13542.                                  - Page 226 -
  13543. Norton Guide: `FAST.lib 3.15 » Reference'
  13544.  
  13545.  
  13546.          An array value with the system environment.
  13547.  
  13548.     Example:
  13549.  
  13550.          aArray := GetEnvison()
  13551.          For nInd := 1 To Len( aArray )     // COMSPEC=C:\DOS\COMMAND.COM
  13552.            ? aArray[ nInd ]                 // PATH=C:\DOS;D:\CLIPPER5\BIN
  13553.          Next                               // PROMPT=$P$G
  13554.                                             // ...
  13555.  
  13556.  
  13557.     GetPass()
  13558.  
  13559.          Gets a password
  13560.  
  13561.     Syntax:
  13562.  
  13563.          GetPass( nRow, nCol, cMessage, nLen ) -> cPass
  13564.  
  13565.          nRow     : The line where the password is asked
  13566.          nCol     : The column where the password is asked
  13567.          cMessage : The message to put just before the petition
  13568.          nLen     : Max number of characters of the password
  13569.  
  13570.     Description:
  13571.  
  13572.          Ask for a password of nLen max characters at the specified
  13573.          position
  13574.  
  13575.     Return:
  13576.  
  13577.          The password (with fingers drumming) or "" if exit with Esc.
  13578.  
  13579.     Example:
  13580.  
  13581.          cPass := GetPass ( 12, 20, "Input password", 15 )
  13582.  
  13583. See Also: "Encrypt()" "Deencrypt()" 
  13584.  
  13585.  
  13586.     iDisable()
  13587.  
  13588.          Inhibits the maskable interrupts
  13589.  
  13590.     Syntax:
  13591.  
  13592.          iDisable() -> Nil
  13593.  
  13594.     Description:
  13595.  
  13596.          Inhibits the maskable interrupts and causes the Clipper VMM
  13597.          system to not use the "dead times" to continue it's work.
  13598.  
  13599.          This very useful when the response time of a process is crucial
  13600.          and we do not want the VMM to use the false dead times.
  13601.  
  13602.                                  - Page 227 -
  13603. Norton Guide: `FAST.lib 3.15 » Reference'
  13604.  
  13605.  
  13606.  
  13607.          Remember that any interrupt can not be used if you do not call the
  13608.          function iEnable().
  13609.  
  13610.     Return:
  13611.  
  13612.          Nothing.
  13613.  
  13614.     Example:
  13615.  
  13616.          iDisable()
  13617.          For nInd := 1 To 100
  13618.            NullFunc()               // in this process the VMM is stoped
  13619.          Next
  13620.          iEnable()
  13621.  
  13622. See Also: "iEnable()" 
  13623.  
  13624.  
  13625.     iEnable()
  13626.  
  13627.          Allows the maskable interrupts
  13628.  
  13629.     Syntax:
  13630.  
  13631.          iEnable() -> Nil
  13632.  
  13633.     Description:
  13634.  
  13635.          Allows the maskable interrupts. It does not have effect if the
  13636.          maskable interrupts are not in effect.
  13637.  
  13638.          Must be called after a iDisable() when you want to allow the
  13639.          Clipper VMM system to continue.
  13640.  
  13641.     Return:
  13642.  
  13643.          Nothing.
  13644.  
  13645.     Example:
  13646.  
  13647.          iDisable()
  13648.          For nInd := 1 To 100
  13649.            NullFunc()               // in this process the VMM is stoped
  13650.          Next
  13651.          iEnable()
  13652.  
  13653. See Also: "iDisable()" 
  13654.  
  13655.  
  13656.     Inb()
  13657.  
  13658.          Reads a byte from a hardware port
  13659.  
  13660.     Syntax:
  13661.  
  13662.                                  - Page 228 -
  13663. Norton Guide: `FAST.lib 3.15 » Reference'
  13664.  
  13665.  
  13666.  
  13667.          Inb( nPort ) -> nValue
  13668.  
  13669.          nPort : System port
  13670.  
  13671.     Description:
  13672.  
  13673.          DANGER!!
  13674.          This function allows low level access to system. It should be used
  13675.          with extreme care and requires a through knowledge of computer
  13676.          Architecture.
  13677.  
  13678.     Return:
  13679.  
  13680.          A numeric value received from port.
  13681.  
  13682.     Example:
  13683.  
  13684.          nValue := Inb ( 256 )  // I pick up the value of the FF port
  13685.  
  13686. See Also: "Inw()" "Outb()" "Outw()" 
  13687.  
  13688.  
  13689.     IniLoad()
  13690.  
  13691.          Loads a configuration file .INI
  13692.  
  13693.     Syntax:
  13694.  
  13695.          IniLoad( cFile, cAppl ) -> aIniFile
  13696.  
  13697.          cFile : File to load
  13698.          cAppl : Application name
  13699.  
  13700.     Description:
  13701.  
  13702.          Reads the file and loads the setup information.
  13703.          It's the first operation to be used with all .ini functions.
  13704.  
  13705.     Return:
  13706.  
  13707.          Returns an array with the information in the .INI file.
  13708.  
  13709.     Example:
  13710.  
  13711.          aIniFile := IniLoad( "Fast.Ini", "MARKET" )
  13712.  
  13713. See Also: "IniSearch()" "IniWrite()" "IniSave()" 
  13714.  
  13715.  
  13716.     IniSearch()
  13717.  
  13718.          Searches for an item in a configuration file .INI
  13719.  
  13720.     Syntax:
  13721.  
  13722.                                  - Page 229 -
  13723. Norton Guide: `FAST.lib 3.15 » Reference'
  13724.  
  13725.  
  13726.  
  13727.          IniSearch( aIniFile, cItem, cDefault ) -> cValue
  13728.  
  13729.          aIniFile : An array with the information in the .INI file
  13730.          cItem    : Item to search
  13731.          cDefault : Default value if item is not found
  13732.  
  13733.     Description:
  13734.  
  13735.          Returns the item's value in the setup file or the cDefault
  13736.          value if cItem isn't found.
  13737.  
  13738.          cItem must be in Uppercase.
  13739.  
  13740.     Return:
  13741.  
  13742.          The value of cItem or the default value.
  13743.  
  13744.     Example:
  13745.  
  13746.          cValue := IniSearch ( aIniFile, "CPUTYPE", "386sx" )
  13747.  
  13748. See Also: "IniWrite()" "IniSave()" "IniLoad()" 
  13749.  
  13750.  
  13751.     IniSave()
  13752.  
  13753.          Saves an item in a configuration file .INI
  13754.  
  13755.     Syntax:
  13756.  
  13757.          IniSave( aIniFile, cItem, cValue ) -> Nil
  13758.  
  13759.          aIniFile : An array with the information in the .INI file
  13760.          cItem    : Item to modify
  13761.          cValue   : New value
  13762.  
  13763.     Description:
  13764.  
  13765.          Saves the value of an item in the setup but doesn't dump
  13766.          to disk until you make a call to IniWrite().
  13767.  
  13768.     Return:
  13769.  
  13770.          Nothing.
  13771.  
  13772.     Example:
  13773.  
  13774.          IniSave( aIniFile, "CPUTYPE", "386 DX2 25 Mhz" )
  13775.  
  13776. See Also: "IniSearch()" "IniWrite()" "IniLoad()" 
  13777.  
  13778.  
  13779.     IniWrite()
  13780.  
  13781.  
  13782.                                  - Page 230 -
  13783. Norton Guide: `FAST.lib 3.15 » Reference'
  13784.  
  13785.  
  13786.          Writes to disk a configuration file .INI
  13787.  
  13788.     Syntax:
  13789.  
  13790.          IniWrite( aIniFile, cFile, cAppl ) -> Nil
  13791.  
  13792.          aIniFile : An array with the information in the .INI file
  13793.          cFile    : File to create
  13794.          cAppl    : Application name
  13795.  
  13796.     Description:
  13797.  
  13798.          Creates a file with the existing setup information. The name
  13799.          of the application will be placed on the first line of the
  13800.          file if this is necessary.
  13801.  
  13802.     Return:
  13803.  
  13804.          Nothing.
  13805.  
  13806.     Example:
  13807.  
  13808.          IniWrite ( aIniFile, "Fast.Ini", "MARKET" )
  13809.  
  13810. See Also: "IniSearch()" "IniSave()" "IniLoad()" 
  13811.  
  13812.  
  13813.     Inw()
  13814.  
  13815.          Reads a word from a hardware port
  13816.  
  13817.     Syntax:
  13818.  
  13819.          Inb( nPort ) -> nValue
  13820.  
  13821.          nPort : System port
  13822.  
  13823.     Description:
  13824.  
  13825.          DANGER!!
  13826.          This function allows low level access to system. It should be used
  13827.          with extreme care and requires a through knowledge of computer
  13828.          Architecture.
  13829.  
  13830.     Return:
  13831.  
  13832.          A numeric value received from port.
  13833.  
  13834.     Example:
  13835.  
  13836.          nValue := Inb ( 256 )  // Choose a value from the port FF
  13837.  
  13838. See Also: "Inb()" "Outb()" "Outw()" 
  13839.  
  13840.  
  13841.  
  13842.                                  - Page 231 -
  13843. Norton Guide: `FAST.lib 3.15 » Reference'
  13844.  
  13845.  
  13846.     IsAnsi()
  13847.  
  13848.          Determines if Ansi.sys has been loaded
  13849.  
  13850.     Syntax:
  13851.  
  13852.          IsAnsi() -> lLoaded
  13853.  
  13854.     Description:
  13855.  
  13856.          Determines if Ansi.sys has been loaded.
  13857.  
  13858.     Return:
  13859.  
  13860.          A logic value indicating if has been loaded.
  13861.  
  13862.     Example:
  13863.  
  13864.          If IsAnsi()
  13865.            Warning( "Ansi.sys has been loaded" )
  13866.          EndIf
  13867.  
  13868. See Also: "IsKeyb()" "IsNlsFunc()" "IsShare()" 
  13869.  
  13870.  
  13871.     IsCopro()
  13872.  
  13873.          Determines if a math coprocessor is present
  13874.  
  13875.     Syntax:
  13876.  
  13877.          IsCopro() -> lExist
  13878.  
  13879.     Description:
  13880.  
  13881.          Determines if system has a numeric coprocessor or emulator.
  13882.  
  13883.     Return:
  13884.  
  13885.          A logic value indicating if a math coprocessor is present.
  13886.  
  13887.     Example:
  13888.  
  13889.          If IsCopro()
  13890.            Warning( "You have a math coprocessor" )
  13891.          EndIf
  13892.  
  13893. See Also: "IsModem()" 
  13894.  
  13895.  
  13896.     IsDPMI()
  13897.  
  13898.          Determines if a DPMI host is present
  13899.  
  13900.     Syntax:
  13901.  
  13902.                                  - Page 232 -
  13903. Norton Guide: `FAST.lib 3.15 » Reference'
  13904.  
  13905.  
  13906.  
  13907.          IsDPMI() -> lLoaded
  13908.  
  13909.     Description:
  13910.  
  13911.          Determines if a DOS Protected Mode Interface (DPMI) host is present.
  13912.  
  13913.     Return:
  13914.  
  13915.          A logic value indicating if a DPMI host is present.
  13916.  
  13917.     Example:
  13918.  
  13919.          If IsDPMI()
  13920.            Warning( "You are running in PM or V86" )
  13921.          EndIf
  13922.  
  13923. See Also: "DPMIVersion()" 
  13924.  
  13925.  
  13926.     IsKeyb()
  13927.  
  13928.          Determines if Keyb has been loaded
  13929.  
  13930.     Syntax:
  13931.  
  13932.          IsKeyb() -> lLoaded
  13933.  
  13934.     Description:
  13935.  
  13936.          Determines if KEYB.SYS has been loaded.
  13937.  
  13938.     Return:
  13939.  
  13940.          A logic value indicating if has been loaded.
  13941.  
  13942.     Example:
  13943.  
  13944.          If IsKeyb()
  13945.            Warning( "Keyb.sys has been loaded" )
  13946.          EndIf
  13947.  
  13948. See Also: "IsAnsi()" "IsNlsFunc()" "IsShare()" 
  13949.  
  13950.  
  13951.     IsModem()
  13952.  
  13953.          Determines if an internal modem is present
  13954.  
  13955.     Syntax:
  13956.  
  13957.          IsModem() -> lExist
  13958.  
  13959.     Description:
  13960.  
  13961.  
  13962.                                  - Page 233 -
  13963. Norton Guide: `FAST.lib 3.15 » Reference'
  13964.  
  13965.  
  13966.          Determines if system has an internal modem.
  13967.  
  13968.     Return:
  13969.  
  13970.          A logic value indicating if an internal modem is present.
  13971.  
  13972.     Example:
  13973.  
  13974.          If IsModem()
  13975.            Warning ( "You have a internal modem" )
  13976.          EndIf
  13977.  
  13978. See Also: "IsCopro()" 
  13979.  
  13980.  
  13981.     IsMSDOS()
  13982.  
  13983.          Determines if Operation System is MSDOS or DRDOS
  13984.  
  13985.     Syntax:
  13986.  
  13987.          IsMSDOS() -> lIsMSDOS
  13988.  
  13989.     Description:
  13990.  
  13991.          Determines if Operation System (OS) is a Microsoft DOS (MSDOS) or
  13992.          a Digital Research DOS (DRDOS).
  13993.  
  13994.     Return:
  13995.  
  13996.          .F. for DRDOS and .T. for MSDOS (or another one).
  13997.  
  13998.     Example:
  13999.  
  14000.          If IsMSDOS()
  14001.            Warning ( "Very good Bill G..." )
  14002.          EndIf
  14003.  
  14004. See Also: "IsQEMM()" 
  14005.  
  14006.  
  14007.     IsNlsFunc()
  14008.  
  14009.          Determines if NlsFunc has been loaded
  14010.  
  14011.     Syntax:
  14012.  
  14013.          IsNlsFunc() -> lLoaded
  14014.  
  14015.     Description:
  14016.  
  14017.          Determines if NlsFunc has been loaded.
  14018.  
  14019.     Return:
  14020.  
  14021.  
  14022.                                  - Page 234 -
  14023. Norton Guide: `FAST.lib 3.15 » Reference'
  14024.  
  14025.  
  14026.          A logic value indicating if NlsFunc has been loaded.
  14027.  
  14028.     Example:
  14029.  
  14030.          If IsNlsFunc()
  14031.            Warning ( "NlsFunc has been loaded" )
  14032.          EndIf
  14033.  
  14034. See Also: "IsAnsi()" "IsKeyb()" "IsShare()" 
  14035.  
  14036.  
  14037.     IsQEMM()
  14038.  
  14039.          Determines if QEMM386.SYS or QRAM.SYS has been loaded
  14040.  
  14041.     Syntax:
  14042.  
  14043.          IsQEMM() -> lLoaded
  14044.  
  14045.     Description:
  14046.  
  14047.          Determines if QEMM386.SYS or QRAM.SYS has been loaded.
  14048.  
  14049.     Return:
  14050.  
  14051.          A logic value indicating if QEMM386.SYS or QRAM.SYS has been loaded.
  14052.  
  14053.     Example:
  14054.  
  14055.          If IsQEMM()
  14056.            Warning ( "QEMM386 has been loaded" )
  14057.          EndIf
  14058.  
  14059. See Also: "IsXMS()" 
  14060.  
  14061.  
  14062.     IsShare()
  14063.  
  14064.          Determines if Share has been loaded
  14065.  
  14066.     Syntax:
  14067.  
  14068.          IsShare() -> lLoaded
  14069.  
  14070.     Description:
  14071.  
  14072.          Determines if Share has been loaded.
  14073.  
  14074.     Return:
  14075.  
  14076.          A logic value indicating if SHARE.EXE has been loaded.
  14077.  
  14078.     Example:
  14079.  
  14080.          If IsShare()
  14081.  
  14082.                                  - Page 235 -
  14083. Norton Guide: `FAST.lib 3.15 » Reference'
  14084.  
  14085.  
  14086.            Warning ( "Share has been loaded" )
  14087.          EndIf
  14088.  
  14089. See Also: "IsAnsi()" "IsKeyb()" "IsNlsFunc()" 
  14090.  
  14091.  
  14092.     IsSmartDrv()
  14093.  
  14094.          Determines if SmartDrv has been loaded
  14095.  
  14096.     Syntax:
  14097.  
  14098.          IsSmartDrv() -> lLoaded
  14099.  
  14100.     Description:
  14101.  
  14102.          Determines if SmartDrv has been loaded.
  14103.  
  14104.     Return:
  14105.  
  14106.          A logic value indicating if SMARTDRV.EXE has been loaded.
  14107.  
  14108.     Example:
  14109.  
  14110.          If IsSmartDrv()
  14111.            Warning ( "SmartDrv has been loaded" )
  14112.          EndIf
  14113.  
  14114. See Also: "IsAnsi()" "IsKeyb()" "IsNlsFunc()" 
  14115.  
  14116.  
  14117.     IsXMS()
  14118.  
  14119.          Determines if a XMS driver has been loaded
  14120.  
  14121.     Syntax:
  14122.  
  14123.          IsXMS() -> lLoaded
  14124.  
  14125.     Description:
  14126.  
  14127.          Determines if a XMS driver has been loaded.
  14128.  
  14129.     Return:
  14130.  
  14131.          A logic value indicating if a XMS driver has been loaded.
  14132.  
  14133.     Example:
  14134.  
  14135.          If IsXMS()
  14136.            Warning ( "XMS driver is present" )
  14137.          EndIf
  14138.  
  14139. See Also: "IsQEMM()" 
  14140.  
  14141.  
  14142.                                  - Page 236 -
  14143. Norton Guide: `FAST.lib 3.15 » Reference'
  14144.  
  14145.  
  14146.  
  14147.     nArgC()
  14148.  
  14149.          Returns the number of command line parameters
  14150.  
  14151.     Syntax:
  14152.  
  14153.          nArgC() -> nNumber
  14154.  
  14155.     Description:
  14156.  
  14157.          Returns the number of parameters passed to the application adding
  14158.          one (the name of the program that is running is also included as a
  14159.          parameter). The exact syntax of the functions cArgV and cArgC are the
  14160.          same.
  14161.  
  14162.     Return:
  14163.  
  14164.          The number of parameters plus one for the name of the running
  14165.          application.
  14166.  
  14167.     Example:
  14168.  
  14169.          For nInd := 0 To nArgC() - 1
  14170.            ? cArgV( nInd )
  14171.          Next
  14172.  
  14173. See Also: "cArgV()" 
  14174.  
  14175.  
  14176.     NullFunc()
  14177.  
  14178.          A Function that does nothing
  14179.  
  14180.     Syntax:
  14181.  
  14182.          NullFunc() -> Nil
  14183.  
  14184.     Description:
  14185.  
  14186.          This doesn't do anything.  This can be useful in some cases where
  14187.          it's necessary to put a function in some codeblocks.
  14188.  
  14189.     Return:
  14190.  
  14191.          Nothing.
  14192.  
  14193.     Example:
  14194.  
  14195.          aEval ( aArray, { || NullFunc () } )
  14196.  
  14197.  
  14198.     NumParalel()
  14199.  
  14200.          Returns the number of parallel ports
  14201.  
  14202.                                  - Page 237 -
  14203. Norton Guide: `FAST.lib 3.15 » Reference'
  14204.  
  14205.  
  14206.  
  14207.     Syntax:
  14208.  
  14209.          NumParalel() -> nPorts
  14210.  
  14211.     Description:
  14212.  
  14213.          Returns the number of parallel ports on system.
  14214.  
  14215.     Return:
  14216.  
  14217.          A numeric value with the number of parallel ports.
  14218.  
  14219.     Example:
  14220.  
  14221.          Warning( "You have " + Str ( NumParalel() ) + " parallel ports" )
  14222.  
  14223. See Also: "NumSerial()" 
  14224.  
  14225.  
  14226.     NumSerial()
  14227.  
  14228.          Returns the number of serial ports
  14229.  
  14230.     Syntax:
  14231.  
  14232.          NumSerial() -> nPorts
  14233.  
  14234.     Description:
  14235.  
  14236.          Returns the number of serial ports on system.
  14237.  
  14238.     Return:
  14239.  
  14240.          A numeric value with the number of serial ports.
  14241.  
  14242.     Example:
  14243.  
  14244.          Warning( "You have " + Str ( NumSerial() ) + " serial ports" )
  14245.  
  14246. See Also: "NumParalel()" 
  14247.  
  14248.  
  14249.     Outb()
  14250.  
  14251.          Outputs a byte to a hardware port
  14252.  
  14253.     Syntax:
  14254.  
  14255.          Outb( nPort, nValue ) -> Nil
  14256.  
  14257.          nPort  : System port
  14258.          nValue : Byte to send
  14259.  
  14260.     Description:
  14261.  
  14262.                                  - Page 238 -
  14263. Norton Guide: `FAST.lib 3.15 » Reference'
  14264.  
  14265.  
  14266.  
  14267.          DANGER!!
  14268.          This function allows low level access to system. It should be used
  14269.          with extreme care and requires a thorough knowledge of computer
  14270.          Architecture.
  14271.  
  14272.     Return:
  14273.  
  14274.          Nothing.
  14275.  
  14276.     Example:
  14277.  
  14278.          Outb ( 256, 3 )
  14279.  
  14280. See Also: "Inw()" "Inw()" "Outw()" 
  14281.  
  14282.  
  14283.     Outw()
  14284.  
  14285.          Outputs a word to a hardware port
  14286.  
  14287.     Syntax:
  14288.  
  14289.          Outw( nPort, nValue ) -> Nil
  14290.  
  14291.          nPort  : System port
  14292.          nValue : Word to send
  14293.  
  14294.     Description:
  14295.  
  14296.          DANGER!!
  14297.          This function allows low level access to system. It should be used
  14298.          with extreme care and requires a thorough knowledge of computer
  14299.          Architecture.
  14300.  
  14301.     Return:
  14302.  
  14303.          Nothing.
  14304.  
  14305.     Example:
  14306.  
  14307.          Outw ( 256, 32921 )
  14308.  
  14309. See Also: "Inw()" "Inw()" "Outb()" 
  14310.  
  14311.  
  14312.     Peekb()
  14313.  
  14314.          Returns the byte at a memory location
  14315.  
  14316.     Syntax:
  14317.  
  14318.          Peekb( nSegment, nOffset ) -> nByte
  14319.  
  14320.          nSegment : Memory Segment
  14321.  
  14322.                                  - Page 239 -
  14323. Norton Guide: `FAST.lib 3.15 » Reference'
  14324.  
  14325.  
  14326.          nOffset  : Memory Offset
  14327.  
  14328.     Description:
  14329.  
  14330.          DANGER!!
  14331.          This function allows low level access to system. It should be used
  14332.          with extreme care and requires a thorough knowledge of computer
  14333.          Architecture.
  14334.  
  14335.     Return:
  14336.  
  14337.          The value of the byte received from the indicated position.
  14338.  
  14339.     Example:
  14340.  
  14341.          Peekb ( 64, 0 )                // Returns a byte at 0040:0000h
  14342.  
  14343. See Also: "Peekw()" "Pokeb()" "Pokew()" 
  14344.  
  14345.  
  14346.     Peekw()
  14347.  
  14348.          Returns a word at a memory location
  14349.  
  14350.     Syntax:
  14351.  
  14352.          Peekw( nSegment, nOffset ) -> nWord
  14353.  
  14354.          nSegment : Memory Segment
  14355.          nOffset  : Memory Offset
  14356.  
  14357.     Description:
  14358.  
  14359.          DANGER!!
  14360.          This function allows low level access to system. It should be used
  14361.          with extreme care and requires a thorough knowledge of computer
  14362.          Architecture.
  14363.  
  14364.     Return:
  14365.  
  14366.          The value of a word received from the indicated position.
  14367.  
  14368.     Example:
  14369.  
  14370.          Peekw ( 64, 0 )        // Return the word at 0040:0000h
  14371.  
  14372. See Also: "Peekb()" "Pokeb()" "Pokew()" 
  14373.  
  14374.  
  14375.     Pokeb()
  14376.  
  14377.          Stores a byte at a memory position
  14378.  
  14379.     Syntax:
  14380.  
  14381.  
  14382.                                  - Page 240 -
  14383. Norton Guide: `FAST.lib 3.15 » Reference'
  14384.  
  14385.  
  14386.          Pokeb( nSegment, nOffset, nByte ) -> Nil
  14387.  
  14388.          nSegment : Memory Segment
  14389.          nOffset  : Memory Offset
  14390.          nByte    : Byte to store
  14391.  
  14392.     Description:
  14393.  
  14394.          DANGER!!
  14395.          This function allows low level access to system. It should be used
  14396.          with extreme care and requires a thorough knowledge of computer
  14397.          Architecture.
  14398.  
  14399.     Return:
  14400.  
  14401.          Nothing.
  14402.  
  14403.     Example:
  14404.  
  14405.          Pokeb ( 64, 0, 16 )                    // 0040:0000h = 0Fh
  14406.  
  14407. See Also: "Peekb()" "Peekw()" "Pokew()" 
  14408.  
  14409.  
  14410.     Pokew()
  14411.  
  14412.          Stores a word at a memory position
  14413.  
  14414.     Syntax:
  14415.  
  14416.          Pokew( nSegment, nOffset, nWord ) -> Nil
  14417.  
  14418.          nSegment : Memory Segment
  14419.          nOffset  : Memory Offset
  14420.          nWord    : Word to store
  14421.  
  14422.     Description:
  14423.  
  14424.          DANGER!!
  14425.          This function allows low level access to system. It should be used
  14426.          with extreme care and requires a thorough knowledge of computer
  14427.          Architecture.
  14428.  
  14429.     Return:
  14430.  
  14431.          Nothing.
  14432.  
  14433.     Example:
  14434.  
  14435.          Pokew ( 64, 0, 65535 )         //  0040:0000h = FFFFh
  14436.  
  14437. See Also: "Peekb()" "Peekw()" "Pokeb()" 
  14438.  
  14439.  
  14440.     Reboot()
  14441.  
  14442.                                  - Page 241 -
  14443. Norton Guide: `FAST.lib 3.15 » Reference'
  14444.  
  14445.  
  14446.  
  14447.          Reboot the system
  14448.  
  14449.     Syntax:
  14450.  
  14451.          Reboot() -> Nil
  14452.  
  14453.     Description:
  14454.  
  14455.          Reboot the system like Ctrl-Alt-Del, is that to say, it initiates
  14456.          a warm boot, not checking memory.
  14457.  
  14458.     Return:
  14459.  
  14460.          Nothing.
  14461.  
  14462.     Example:
  14463.  
  14464.          Reboot()
  14465.  
  14466.  
  14467.     RestSets()
  14468.  
  14469.          Restores Clipper SETS from an array
  14470.  
  14471.     Syntax:
  14472.  
  14473.          RestSets( aArray ) -> Nil
  14474.  
  14475.          aArray : An array with saved SETS
  14476.  
  14477.     Description:
  14478.  
  14479.          Restores Clipper SETS from an array with the saved SETS.
  14480.  
  14481.     Return:
  14482.  
  14483.          Nothing.
  14484.  
  14485.     Example:
  14486.  
  14487.          RestSets( aArray )
  14488.  
  14489. See Also: "SaveSets()" 
  14490.  
  14491.  
  14492.     SaveSets()
  14493.  
  14494.          Saves Clipper SETS to an array
  14495.  
  14496.     Syntax:
  14497.  
  14498.          SaveSets() -> aArray
  14499.  
  14500.     Description:
  14501.  
  14502.                                  - Page 242 -
  14503. Norton Guide: `FAST.lib 3.15 » Reference'
  14504.  
  14505.  
  14506.  
  14507.          Saves Clipper SETS to an array.
  14508.  
  14509.     Return:
  14510.  
  14511.          An array with Clipper SETS.
  14512.  
  14513.     Example:
  14514.  
  14515.          Local aArray := SaveSets()
  14516.  
  14517. See Also: "RestSets()" 
  14518.  
  14519.  
  14520.     SetDate()
  14521.  
  14522.          Changes the system date
  14523.  
  14524.     Syntax:
  14525.  
  14526.          SetDate( dNewDate ) -> lError
  14527.  
  14528.          dNewDate : A Clipper date value with the new date
  14529.  
  14530.     Description:
  14531.  
  14532.          Changes the system date with a specified date.
  14533.  
  14534.          The opposite operation, is that to say, taking the system date could
  14535.          be made with the standard function date().
  14536.  
  14537.     Return:
  14538.  
  14539.          Returns .T. if the date is valid and .F. if it isn't.
  14540.  
  14541.     Example:
  14542.  
  14543.          If ! SetDate ( CtoD ( "99/99/99" ) )
  14544.            Warning ( "Incorrect date" )
  14545.          EndIf
  14546.  
  14547. See Also: "SetTime()" 
  14548.  
  14549.  
  14550.     SetTime()
  14551.  
  14552.          Changes time system time
  14553.  
  14554.     Syntax:
  14555.  
  14556.          SetTime( cNewTime ) -> lError
  14557.  
  14558.          cNewTime : A string with the new time
  14559.  
  14560.     Description:
  14561.  
  14562.                                  - Page 243 -
  14563. Norton Guide: `FAST.lib 3.15 » Reference'
  14564.  
  14565.  
  14566.  
  14567.          Changes the system time with a specified time in this format:
  14568.          HH:MM:SS.
  14569.  
  14570.          The opposite operation, is that to say, taking the hour
  14571.          of the system could be made with the standard function time().
  14572.  
  14573.     Return:
  14574.  
  14575.          Returns .T. if the hour is valid and .F. if it isn't.
  14576.  
  14577.     Example:
  14578.  
  14579.          SetTime ( "17:05:43" )
  14580.          If ! SetTime ( "78:99:90" )
  14581.            Warning ( "Incorrect time" )
  14582.          EndIf
  14583.  
  14584. See Also: "SetDate()" 
  14585.  
  14586.  
  14587.     SetVerify()
  14588.  
  14589.          Changes/Determines the DOS verify flag
  14590.  
  14591.     Syntax:
  14592.  
  14593.          SetVerify( [lNewValue] ) -> lOldValue
  14594.  
  14595.          lNewValue : A optional logical value indicating the new value of
  14596.                      the DOS verify flag
  14597.  
  14598.     Description:
  14599.  
  14600.          Changes and determines the value of the internal DOS verify flag.
  14601.  
  14602.     Return:
  14603.  
  14604.          Returns .T. if verify flag is ON .F. if it isn't.
  14605.  
  14606.     Example:
  14607.  
  14608.          BoxWarning ( "Verify flag is " + If( SetVerify(), "Yes", "No" ) )
  14609.  
  14610.  
  14611.  
  14612.  
  14613.  
  14614.  
  14615.  
  14616.  
  14617.  
  14618.  
  14619.  
  14620.  
  14621.                                  - Page 244 -
  14622. Norton Guide: `FAST.lib 3.15 » Reference'
  14623.  
  14624.  
  14625. Menu Choice: Credits, Copyright
  14626.  
  14627.  
  14628.     Copyright
  14629.  
  14630.          ┌─────────────────────────────────────────────────────────┐
  14631.          │                                                         │
  14632.          │              Fast Library For Clipper 3.15              │
  14633.          │                                                         │
  14634.          │                 (C) 1992-94 Manu Roibal                 │
  14635.          │                                                         │
  14636.          │  Cool Tool Of The Month, April 1994. REFERENCE CLIPPER  │
  14637.          │                                                         │
  14638.          └─────────────────────────────────────────────────────────┘
  14639.  
  14640.  
  14641.     All code included in Fast Library For Clipper, the documentation,
  14642.  example programs and this Norton Guide are the property of Manu Roibal.
  14643.  
  14644.     It is fully prohibited to sell or distribute by either person,
  14645.  corporation or other entity without the express permission of the author.
  14646.  It is also fully prohibited to use Fast Library For Clipper for building
  14647.  Commercial or Non-commercial Applications with an unregistered copy.
  14648.  
  14649.  
  14650.     FAST.lib, (C) 1992-94 Manu Roibal
  14651.     FastWare solutions.
  14652.  
  14653.     All trademarks and registered trademarks referenced in this file are the
  14654.  property of their respective owners.
  14655.  
  14656. See Also: "Technical Notes" "Thanks!" 
  14657.  
  14658.  
  14659.  
  14660.  
  14661.  
  14662.  
  14663.  
  14664.  
  14665.  
  14666.  
  14667.  
  14668.  
  14669.  
  14670.  
  14671.  
  14672.  
  14673.  
  14674.  
  14675.  
  14676.  
  14677.  
  14678.  
  14679.  
  14680.                                  - Page 245 -
  14681. Norton Guide: `FAST.lib 3.15 » Reference'
  14682.  
  14683.  
  14684. Menu Choice: Credits, Thanks!
  14685.  
  14686.  
  14687.     Thanks
  14688.  
  14689.    Too many people have collaborated directly or indirectly to create this
  14690.  library. Trying not forgetting anyone (sorry!) I would like to thank them
  14691.  for their unlimited patience.
  14692.  
  14693.        - Miren Itxaso Peña de Bracamonte
  14694.  
  14695.          She made up the name of this library, and thanks to her the code
  14696.          of Fast Library was completed when Murphy's laws started it's
  14697.          effects.
  14698.  
  14699.        - Oscar Fernández, Serpent BBS
  14700.  
  14701.          Because they believed in me when I suggested creating File and
  14702.          Message areas used exclusively for Fast in Serpent BBS. Due to
  14703.          it, communications between author and beta testers has been fluent
  14704.          and funny.
  14705.  
  14706.        - Jose Miguel Rodríguez. Sysop Virtual Software
  14707.  
  14708.          For his support with this new version. Many of Fast functions
  14709.          are based on Virtual Software sources/ideas, the paradise of xBase
  14710.          programmers.
  14711.  
  14712.        - Jose Ramón Vaamonde, Jorge Tomé, Jose Manuel Albarrán & Philippe
  14713.          Mingo
  14714.  
  14715.          They brought many ideas and conceptual solutions for the developing
  14716.          of this new version of Fast. Thanks!
  14717.  
  14718.        - Aritza Mollar, Oscar Fernández, Josu Ugalde, Alfonso Belloso and
  14719.          Txomin Martinez
  14720.  
  14721.          They never thought that translating this document into English
  14722.          was going to be as hard as it was. Don't laugh if you find
  14723.          1 million mistakes, our knowledge of English is so limited...
  14724.  
  14725.        - Miren Itxaso Peña, Philippe Mingo, Yosu Unibaso, Jorge Tomé,
  14726.          Juan Campos, Francesc Valverde, Oscar Fernández, Esteban Roibal,
  14727.          Gorka Genaga and Luca Della Sala
  14728.  
  14729.          They translated the messages of Fast Library code into some
  14730.          other languages. To all, Thanks.
  14731.  
  14732.        - Rory Wright and Dan Applewhite
  14733.  
  14734.          Made final language checks in the Norton Guides and example program
  14735.          files making this library ready for American distribution.
  14736.  
  14737. See Also: "Technical Notes" "Copyright" 
  14738.  
  14739.  
  14740.                                  - Page 246 -
  14741. Norton Guide: `FAST.lib 3.15 » Reference'
  14742.  
  14743.  
  14744.  
  14745.  
  14746.  
  14747.  
  14748.  
  14749.  
  14750.  
  14751.  
  14752.  
  14753.  
  14754.  
  14755.  
  14756.  
  14757.  
  14758.  
  14759.  
  14760.  
  14761.  
  14762.  
  14763.  
  14764.  
  14765.  
  14766.  
  14767.  
  14768.  
  14769.  
  14770.  
  14771.  
  14772.  
  14773.  
  14774.  
  14775.  
  14776.  
  14777.  
  14778.  
  14779.  
  14780.  
  14781.  
  14782.  
  14783.  
  14784.  
  14785.  
  14786.  
  14787.  
  14788.  
  14789.  
  14790.  
  14791.  
  14792.  
  14793.  
  14794.  
  14795.  
  14796.  
  14797.  
  14798.  
  14799.                                  - Page 247 -
  14800. Norton Guide: `FAST.lib 3.15 » Reference'
  14801.  
  14802.  
  14803. Menu Choice: Credits, Technical Notes
  14804.  
  14805.  
  14806.     Technical Notes
  14807.  
  14808.     Fast Library For Clipper, in older versions, was written in 100%
  14809.  CA-Clipper 5.x code. In the current version, a large portion of its code
  14810.  is written in C; for example, the mouse, communications, graphics, video,
  14811.  Sound Blaster, timer, CMOS, and other functions which either cannot be
  14812.  implemented in pure Clipper code or would not be fast enough. The standard
  14813.  CA-Clipper libraries do not support interrupts, and several functions
  14814.  in Fast Library For Clipper depend on interrupts.
  14815.  
  14816.     Fast Library For Clipper does not use either Public or Private
  14817.  variables, thus keeping memory overhead for the symbol table to a minimum
  14818.  and avoiding accidental assignments to variables internal to the functions.
  14819.  
  14820.     The library has been made more granular than in previous versions so
  14821.  that calls to Fast Library functions will cause a minimum of library
  14822.  code to be linked into your programs.
  14823.  
  14824.     Macros are not used in any Fast Library code.
  14825.  
  14826.     Fast Library functions which internally call other Fast Library
  14827.  functions use code blocks for passing information to one another.
  14828.  All arguments used when calling Fast Library functions from the user's
  14829.  code consist of numeric, character, logical, and array data types.
  14830.  
  14831.     The code used in both the printed documentation examples and the
  14832.  Norton Guide examples uses Hungarian notation because of its
  14833.  clarity and for consistency with most other CA-Clipper documentation.
  14834.  
  14835. See Also: "Copyright" "Thanks!" 
  14836.  
  14837.  
  14838.  
  14839.  
  14840.  
  14841.  
  14842.  
  14843.  
  14844.  
  14845.  
  14846.  
  14847.  
  14848.  
  14849.  
  14850.  
  14851.  
  14852.  
  14853.  
  14854.  
  14855.  
  14856.  
  14857.  
  14858.                                  - Page 248 -
  14859. Norton Guide: `FAST.lib 3.15 » Reference'
  14860.  
  14861.  
  14862. Menu Choice: Credits, About Language Support
  14863.  
  14864.  
  14865.   About Language Support
  14866.  
  14867.     Fast Library For Clipper supports a wide variety of languages for
  14868.  message text such as that used in dialog boxes. English is used by default.
  14869.  The desired language may be selected by simply calling one of the functions
  14870.  listed below.
  14871.  
  14872.  Available language modules are:
  14873.  
  14874.     SetAsturian()       SetBasque()        SetCatalan()
  14875.     SetEnglish()        SetFinnish()       SetFrench()
  14876.     SetGalician()       SetGerman()        SetItalian()
  14877.     SetLusitanian()     SetSpanish()       SetSwedish()
  14878.  
  14879.  Language modules in progress:
  14880.  
  14881.     Lithuanian()
  14882.  
  14883.  
  14884.  
  14885.  
  14886.  
  14887.  
  14888.  
  14889.  
  14890.  
  14891.  
  14892.  
  14893.  
  14894.  
  14895.  
  14896.  
  14897.  
  14898.  
  14899.  
  14900.  
  14901.  
  14902.  
  14903.  
  14904.  
  14905.  
  14906.  
  14907.  
  14908.  
  14909.  
  14910.  
  14911.  
  14912.  
  14913.  
  14914.  
  14915.  
  14916.  
  14917.                                  - Page 249 -
  14918. Norton Guide: `FAST.lib 3.15 » Reference'
  14919.  
  14920.  
  14921. Menu Choice: Credits, About Protected Mode
  14922.  
  14923.  
  14924.   About Protected Mode
  14925.  
  14926.     Fast Library For Clipper is compatible with all the popular linkers
  14927.  currently on the market. Blinker 1.x, Blinker 2.x, Blinker 3.0 (real,
  14928.  protected, and dual mode), CA-ExoSpace, RTLink x.x , and WarpLink x.x
  14929.  are supported.
  14930.  
  14931.     Depending on which linker you use, simply link in the appropriate
  14932.  library as specified below.
  14933.  
  14934.     To link with Blinker 3.0 (real, protected, and dual mode) you must
  14935.  specify the file apibli.lib in your script file or command line:
  14936.  
  14937.     BLINKER FI my_prog LIB Fast, apibli
  14938.  
  14939.        or
  14940.  
  14941.     BLINKER FI my_prog LIB Fast, apibli SEA blxclp52 BLI EXE EXT
  14942.  
  14943.  
  14944.     To link with Blinker 1.x, Blinker 2.x, RTLink x.x, or
  14945.  WarpLink x.x you must include the file apistd.lib in your script
  14946.  file or command line:
  14947.  
  14948.     BLINKER FI my_prog LIB Fast, apistd
  14949.  
  14950.        or
  14951.  
  14952.     RTLINK FI my_prog LIB Fast, apistd
  14953.  
  14954.        or
  14955.  
  14956.     WARPLINK FI my_prog LIB Fast, apistd
  14957.  
  14958.     To link with CA-ExoSpace you must use a command line (or an
  14959.  equivalent script file):
  14960.  
  14961.     EXOSPACE FI my_prog LIB Fast EXO PAC int10, Mouse
  14962.  
  14963.  
  14964.  
  14965.  
  14966.  
  14967.  
  14968.  
  14969.  
  14970.  
  14971.  
  14972.  
  14973.  
  14974.  
  14975.  
  14976.                                  - Page 250 -
  14977. Norton Guide: `FAST.lib 3.15 » Reference'
  14978.  
  14979.  
  14980. Menu Choice: Credits, New in this version
  14981.  
  14982.  
  14983.   New in this version
  14984.  
  14985.  
  14986.      From 3.00
  14987.  
  14988.         ■ Menuing system has been improved
  14989.  
  14990.         ■ VGA Graphic Mode Support rewritten, including the functions
  14991.           for pixels, lines, ellipses, circles, graphics, bars charts,
  14992.           pies charts, etc.
  14993.  
  14994.         ■ Multi-Linker Support (CA-ExoSpace; Blinker 1.x, 2.x, 3.0;
  14995.           RTLink x.x; and WarpLink x.x) has been added
  14996.  
  14997.         ■ C Optimizing Code Support has been added
  14998.  
  14999.         ■ Reboot() function has been changed to support both cold
  15000.           and warm-boot
  15001.  
  15002.         ■ CpuType() function has been rewritten
  15003.  
  15004.         ■ Italian Language Support bugs have been corrected
  15005.  
  15006.         ■ New function ChooseColor() has been added
  15007.  
  15008.         ■ Bug in function Like() has been corrected
  15009.  
  15010.         ■ Bug in function Serpent() has been corrected
  15011.  
  15012.         ■ Encrypt() and DeEncrypt() functions have been changed to
  15013.           allow multiple encryption with a password
  15014.  
  15015.         ■ New functions IsDPMI() and DPMIVersion() have been added
  15016.  
  15017.         ■ Corrected a bug in IsWin3()
  15018.  
  15019.         ■ New function WinVersion() has been added
  15020.  
  15021.         ■ New functions WinOpenClip(), WinCloseClip(), WinSetClip(),
  15022.           WinGetClip(), WinClipSize(), and WinDelClip() have been added
  15023.           for managing the Windows 3.x Clipboard from Clipper
  15024.  
  15025.         ■ New functions DrawBar() and BackGraph() have been added
  15026.           from the GraphBar ClipAPI
  15027.  
  15028.         ■ Fixed a bug in SetTime() function
  15029.  
  15030.         ■ New function IsPirate() has been added to protect Clipper
  15031.           programs from unauthorized use.  Programs can be executed only
  15032.           on a machine having a specific configuration
  15033.  
  15034.         ■ New function SetVerify() has been added
  15035.  
  15036.                                  - Page 251 -
  15037. Norton Guide: `FAST.lib 3.15 » Reference'
  15038.  
  15039.  
  15040.  
  15041.         ■ New function SetGray() has been added
  15042.  
  15043.         ■ MaxFiles() function name has been changed to FreeHandles()
  15044.  
  15045.         ■ New function GetEnviron() has been added
  15046.  
  15047.         ■ New function SToD() has been added
  15048.  
  15049.         ■ Function rSoftCur() has been changed to simulate a graphical
  15050.           mouse pointer in text mode; function rColors() is no longer
  15051.           necessary
  15052.  
  15053.         ■ More speed to ChooseColor()
  15054.  
  15055.         ■ New parameter in BoxQuery() and BoxWarning()
  15056.  
  15057.  
  15058.      From 3.11
  15059.  
  15060.         ■ Fixed a bug in CD Audio Support running in protected mode
  15061.  
  15062.         ■ Some internal functions has been rewriten to run faster
  15063.  
  15064.  
  15065.      From 3.12
  15066.  
  15067.         ■ Fixed a bug in RestArray() with multidimensional arrays
  15068.  
  15069.         ■ Text Editor addapted to MaxRow() & MaxCol() values
  15070.  
  15071.         ■ Fixed a bug in IsPrint() when it runs in protected mode
  15072.  
  15073.         ■ A new 3D graph gallery
  15074.           You can show 3D bar graphs, 3D top/down pyramidal bar graphs,
  15075.           3D cylindric bar graphs, 3D line graphs, 3D tart graphs,
  15076.           3D ellipse graphs...
  15077.  
  15078.         ■ New function Int2Roman() to convert integers to Roman notation
  15079.  
  15080.         ■ Fixed a bug in MSCDEXVer()
  15081.  
  15082.         ■ Fixed a bug in DiskSerNum() when it runs in protected mode
  15083.  
  15084.         ■ New functions ASCIIToEBCDIC() and EBCDICToASCII()
  15085.  
  15086.         ■ Fixed a bug in FSearch() function.
  15087.  
  15088.         ■ Fixed a little bug in the upper limit of GraphBar() functions
  15089.           when the array contains decimal values
  15090.  
  15091.         ■ New functions Caos()
  15092.  
  15093.         ■ New parameter cColor to Puzzle() function
  15094.  
  15095.  
  15096.                                  - Page 252 -
  15097. Norton Guide: `FAST.lib 3.15 » Reference'
  15098.  
  15099.  
  15100.         ■ Fixed a bug in the CD AUDIO initiation code
  15101.  
  15102.         ■ Fixed a bug in dToDMY() function
  15103.  
  15104.         ■ New function dToMDY()
  15105.  
  15106.         ■ Calendar() function addapted to Sunday, Monday, ... when the
  15107.           language selected is English
  15108.  
  15109.         ■ New functions BigLetter() & BigString()
  15110.  
  15111.         ■ New functions SmallLetter() & SmallString()
  15112.  
  15113.         ■ Function FastMemo() changed
  15114.  
  15115.         ■ New function SetHardCopy()
  15116.  
  15117.         ■ NewMenu() function has a new parameter to allow to create menus
  15118.           with shadow
  15119.  
  15120.         ■ New function InspectDBF()
  15121.  
  15122.         ■ New function InspectSETS()
  15123.  
  15124.         ■ New function InspectOBJ()
  15125.  
  15126.         ■ Fixed a bug in Like() function running in protected mode
  15127.  
  15128.  
  15129.  
  15130.  
  15131.  
  15132.  
  15133.  
  15134.  
  15135.  
  15136.  
  15137.  
  15138.  
  15139.  
  15140.  
  15141.  
  15142.  
  15143.  
  15144.  
  15145.  
  15146.  
  15147.  
  15148.  
  15149.  
  15150.  
  15151.  
  15152.  
  15153.  
  15154.  
  15155.                                  - Page 253 -
  15156. Norton Guide: `FAST.lib 3.15 » Reference'
  15157.  
  15158.  
  15159. Menu Choice: Credits, FAST.* Distributors
  15160.  
  15161.  
  15162.  
  15163.  
  15164.      FAST.* DISTRIBUTORS
  15165.  
  15166.  
  15167.      ■ Exclusive distributor North, South & Central America ■
  15168.  
  15169.      ZAC Catalog - Clipper only tools
  15170.      106 Access Road
  15171.      Norwood, MA 02062
  15172.      USA
  15173.      Phone 1-800-254-7737
  15174.      FAX   1-617-551-0857
  15175.  
  15176.  
  15177.      ■ Finland ■
  15178.  
  15179.      ATK-Antti Oy
  15180.      Lars J W Holm
  15181.      Pohjoistullikatu 12
  15182.      23500 Nystad
  15183.      FINLAND
  15184.      Phone +358 22 8415066
  15185.      FAX   +358 22 8415067
  15186.      BBS   +358 22 8418882
  15187.  
  15188.  
  15189.      ■ Nederland ■
  15190.  
  15191.      Micro Consult Nederland
  15192.      Miguel Oliveira
  15193.      Rhijngeesterstraalweg 78
  15194.      2343 BX Oegstgeest
  15195.      NEDERLAND
  15196.      Phone +31 71 170401
  15197.      FAX   +31 71 156154
  15198.      BBS   +31 71 157618
  15199.  
  15200.  
  15201.      ■ Spain ■
  15202.  
  15203.      Manu Roibal Prieto
  15204.      Sagastagoitia 13 2º B izda
  15205.      Barakaldo 48903 Bizkaia
  15206.      SPAIN
  15207.      Phone +34 4 4992660
  15208.      FAX   +34 4 4605666
  15209.      BBS   +34 4 4605666
  15210.  
  15211.  
  15212.  
  15213.  
  15214.                                  - Page 254 -
  15215. Norton Guide: `FAST.lib 3.15 » Reference'
  15216.  
  15217.  
  15218.  
  15219.                                 I N D E X
  15220.                                 ---------
  15221.  
  15222.  
  15223.  
  15224. FAST.lib 1
  15225.     Data Types  ...................................................    2
  15226.     Dbf/Memo  .....................................................   50
  15227.     Disk and File  ................................................   52
  15228.     Games  ........................................................   71
  15229.     Graphics  .....................................................   77
  15230.     Keyboard  .....................................................  115
  15231.     LAN and Multitaskers  .........................................  123
  15232.     MetaFunctions  ................................................  133
  15233.  
  15234.  
  15235. FAST.lib 2
  15236.     Menus  ........................................................  150
  15237.     Mouse  ........................................................  157
  15238.     Printer  ......................................................  166
  15239.     OOPS  .........................................................  172
  15240.     Screen  .......................................................  176
  15241.     Serial Comunications  .........................................  193
  15242.     CD-Audio SB DAC Speaker  ......................................  204
  15243.     System  .......................................................  218
  15244.  
  15245.  
  15246. Credits
  15247.     Copyright  ....................................................  245
  15248.     Thanks!  ......................................................  246
  15249.     Technical Notes  ..............................................  248
  15250.     About Language Support  .......................................  249
  15251.     About Protected Mode  .........................................  250
  15252.     New in this version  ..........................................  251
  15253.     FAST.* Distributors  ..........................................  254
  15254.  
  15255.  
  15256.  
  15257.  
  15258.  
  15259.  
  15260.  
  15261.  
  15262.  
  15263.  
  15264.  
  15265.  
  15266.  
  15267.  
  15268.  
  15269.  
  15270.  
  15271.  
  15272.  
  15273.                                  - Page 255 -
  15274.