2012-10-17 15:39 UTC+0200 Viktor Szakats (harbour syenar.net)

* contrib/hbct/doc/en/*.txt
  * contrib/hbnf/doc/en/*.txt
    * cleanups and fixes
This commit is contained in:
Viktor Szakats
2012-10-17 13:42:24 +00:00
parent 955f5d676c
commit a34d287202
88 changed files with 500 additions and 541 deletions

View File

@@ -16,6 +16,11 @@
The license applies to all entries newer than 2009-04-28.
*/
2012-10-17 15:39 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbct/doc/en/*.txt
* contrib/hbnf/doc/en/*.txt
* cleanups and fixes
2012-10-17 14:41 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbnf/caplock.c
* contrib/hbnf/kspeed.c

View File

@@ -26,7 +26,7 @@
* ? charslist( "Hello World !" ) // --> " !HWdelor"
* $TESTS$
* charslist( "Hello World !" ) == " !HWdelor"
* charslist( "Hello World !" ) == charsort (charlist ("Hello World !"))
* charslist( "Hello World !" ) == charsort( charlist( "Hello World !" ) )
* charslist( NIL ) == ""
* $STATUS$
* Ready

View File

@@ -28,14 +28,14 @@
* <cString2> has been processed, the function restarts with the first
* character of <cString2>.
* $EXAMPLES$
* ? charadd( "012345678", chr( 1 ) ) // --> "123456789"
* ? charadd( "123456789", chr( 255 ) ) // --> "012345678"
* ? charadd( "0000", chr( 0 ) + chr( 1 ) + chr( 2 ) + chr( 3 ) ) // --> "0123"
* ? charadd( "012345678", Chr( 1 ) ) // --> "123456789"
* ? charadd( "123456789", Chr( 255 ) ) // --> "012345678"
* ? charadd( "0000", Chr( 0 ) + Chr( 1 ) + Chr( 2 ) + Chr( 3 ) ) // --> "0123"
* $TESTS$
* charadd( "012345678", chr( 1 ) ) == "123456789"
* charadd( "012345678", chr( 1 ) + chr( 2 ) ) == "133557799"
* charadd( "123456789", chr( 255 ) ) == "012345678"
* charadd( "123456789", chr( 255 ) + chr( 254 ) ) == "002244668"
* charadd( "012345678", Chr( 1 ) ) == "123456789"
* charadd( "012345678", Chr( 1 ) + Chr( 2 ) ) == "133557799"
* charadd( "123456789", Chr( 255 ) ) == "012345678"
* charadd( "123456789", Chr( 255 ) + Chr( 254 ) ) == "002244668"
* $STATUS$
* Ready
* $COMPLIANCE$
@@ -80,11 +80,11 @@
* character of <cString2>.
* $EXAMPLES$
* // clear the LSB
* ? charand( "012345678", chr( 254 ) ) // --> "002244668"
* ? charand( "012345678", chr( 254 ) + chr( 252 ) ) // --> "002044648"
* ? charand( "012345678", Chr( 254 ) ) // --> "002244668"
* ? charand( "012345678", Chr( 254 ) + Chr( 252 ) ) // --> "002044648"
* $TESTS$
* charand( "012345678", chr( 254 ) ) == "002244668"
* charand( "012345678", chr( 254 ) + chr( 252 ) ) == "002044648"
* charand( "012345678", Chr( 254 ) ) == "002244668"
* charand( "012345678", Chr( 254 ) + Chr( 252 ) ) == "002044648"
* $STATUS$
* Ready
* $COMPLIANCE$
@@ -125,10 +125,10 @@
* stored in <cString>, too. By setting the CSETREF()-switch to .T.,
* the return value can be omitted.
* $EXAMPLES$
* ? charnot( chr( 85 ) + chr( 128 ) + chr( 170 ) + chr( 1 ) ) // --> chr( 170 ) + chr( 127 ) + chr( 85 ) + chr( 254 )
* ? charnot( Chr( 85 ) + Chr( 128 ) + Chr( 170 ) + Chr( 1 ) ) // --> Chr( 170 ) + Chr( 127 ) + Chr( 85 ) + Chr( 254 )
* ? charnot( charnot( "This is a test!" ) ) --> "This is a test!"
* $TESTS$
* charnot( chr( 85 ) + chr( 128 ) + chr( 170 ) + chr( 1 ) ) == chr( 170 ) + chr( 127 ) + chr( 85 ) + chr( 254 )
* charnot( Chr( 85 ) + Chr( 128 ) + Chr( 170 ) + Chr( 1 ) ) == Chr( 170 ) + Chr( 127 ) + Chr( 85 ) + Chr( 254 )
* charnot( charnot( "This is a test!" ) ) == "This is a test!"
* $STATUS$
* Ready
@@ -174,11 +174,11 @@
* character of <cString2>.
* $EXAMPLES$
* // set the LSB
* ? charor( "012345678", chr( 1 ) ) // --> "113355779"
* ? charor( "012345678", chr( 1 ) + chr( 3 ) ) // --> "133357779"
* ? charor( "012345678", Chr( 1 ) ) // --> "113355779"
* ? charor( "012345678", Chr( 1 ) + Chr( 3 ) ) // --> "133357779"
* $TESTS$
* charor( "012345678", chr( 1 ) ) == "113355779"
* charor( "012345678", chr( 1 ) + chr( 3 ) ) == "133357779"
* charor( "012345678", Chr( 1 ) ) == "113355779"
* charor( "012345678", Chr( 1 ) + Chr( 3 ) ) == "133357779"
* $STATUS$
* Ready
* $COMPLIANCE$

View File

@@ -32,7 +32,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is ct.prg, library is libct.
* Library is libct.
* $SEEALSO$
*
* $END$
@@ -68,7 +68,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is ct.prg, library is libct.
* Library is libct.
* $SEEALSO$
*
* $END$

View File

@@ -28,7 +28,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is datetime.prg, library is libct.
* Library is libct.
* $SEEALSO$
* EOM(),BOQ(),EOQ(),BOY(),EOY()
* $END$
@@ -60,7 +60,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is datetime.prg, library is libct.
* Library is libct.
* $SEEALSO$
* BOM(),BOQ(),EOQ(),BOY(),EOY()
* $END$
@@ -92,7 +92,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is datetime.prg, library is libct.
* Library is libct.
* $SEEALSO$
* BOM(),EOM(),EOQ(),BOY(),EOY()
* $END$
@@ -124,7 +124,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is datetime.prg, library is libct.
* Library is libct.
* $SEEALSO$
* BOM(),EOM(),BOQ(),BOY(),EOY()
* $END$
@@ -156,7 +156,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is datetime.prg, library is libct.
* Library is libct.
* $SEEALSO$
* BOM(),EOM(),BOQ(),EOQ(),EOY()
* $END$
@@ -188,7 +188,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is datetime.prg, library is libct.
* Library is libct.
* $SEEALSO$
* BOM(),EOM(),BOQ(),EOQ(),BOY()
* $END$

View File

@@ -28,7 +28,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is dattime2.prg, library is libct.
* Library is libct.
* $SEEALSO$
* NTOCDOW()
* $END$
@@ -60,7 +60,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is dattime2.prg, library is libct.
* Library is libct.
* $SEEALSO$
* NTOCMONTH()
* $END$
@@ -94,7 +94,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is dattime2.prg, library is libct.
* Library is libct.
* $SEEALSO$
* MDY()
* $END$
@@ -128,7 +128,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is dattime2.prg, library is libct.
* Library is libct.
* $SEEALSO$
* DMY()
* $END$
@@ -160,7 +160,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is dattime2.prg, library is libct.
* Library is libct.
* $SEEALSO$
*
* $END$
@@ -194,7 +194,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is dattime2.prg, library is libct.
* Library is libct.
* $SEEALSO$
*
* $END$
@@ -226,7 +226,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is dattime2.prg, library is libct.
* Library is libct.
* $SEEALSO$
*
* $END$
@@ -260,7 +260,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is dattime2.prg, library is libct.
* Library is libct.
* $SEEALSO$
* DAYSINMONTH()
* $END$
@@ -292,7 +292,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is dattime2.prg, library is libct.
* Library is libct.
* $SEEALSO$
* DAYSTOMONTH()
* $END$
@@ -326,7 +326,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is dattime2.prg, library is libct.
* Library is libct.
* $SEEALSO$
*
* $END$
@@ -361,7 +361,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is dattime2.prg, library is libct.
* Library is libct.
* $SEEALSO$
* EOM()
* $END$
@@ -393,7 +393,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is dattime2.prg, library is libct.
* Library is libct.
* $SEEALSO$
* CTODOW()
* $END$
@@ -425,7 +425,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is dattime2.prg, library is libct.
* Library is libct.
* $SEEALSO$
* CTOMONTH()
* $END$
@@ -467,7 +467,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is dattime2.prg, library is libct.
* Library is libct.
* $SEEALSO$
*
* $END$

View File

@@ -48,7 +48,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is dattime3.c, library is libct.
* Library is libct.
* $SEEALSO$
*
* $END$
@@ -110,7 +110,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is dattime3.c, library is libct.
* Library is libct.
* $SEEALSO$
* SETTIME()
* $END$
@@ -162,7 +162,7 @@
* $PLATFORMS$
* Windows, Linux
* $FILES$
* Source is dattime3.c, library is libct.
* Library is libct.
* $SEEALSO$
* SETDATE(),TIMEVALID()
* $END$
@@ -213,7 +213,7 @@
* $PLATFORMS$
* Windows, Linux
* $FILES$
* Source is dattime3.c, library is libct.
* Library is libct.
* $SEEALSO$
* SETTIME()
* $END$

View File

@@ -28,7 +28,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is numconv.prg, library is libct.
* Library is libct.
* $SEEALSO$
* CTON()
* $END$
@@ -60,7 +60,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is numconv.prg, library is libct.
* Library is libct.
* $SEEALSO$
* NTOC()
* $END$
@@ -92,7 +92,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is numconv.prg, library is libct.
* Library is libct.
* $SEEALSO$
* CTOBIT()
* $END$
@@ -124,7 +124,7 @@
* $PLATFORMS$
* All
* $FILES$
* Source is numconv.prg, library is libct.
* Library is libct.
* $SEEALSO$
* BITTOC()
* $END$

View File

@@ -19,8 +19,8 @@
* TODO: add documentation
* $EXAMPLES$
* ? rangerem( "0", "9", "year2002.dbf" ) // "year.dbf", remove all digits
* ? rangerem( "9", "0", "year2002.dbf" ) // "22", testing removal from "9" to chr(255)
* // and from chr(0) to "0"
* ? rangerem( "9", "0", "year2002.dbf" ) // "22", testing removal from "9" to Chr(255)
* // and from Chr(0) to "0"
* ? rangerem( "0", "9", "yearcurr.dbf" ) // "yearcurr.dbf", test leaving string untouched
* $TESTS$
* rangerem( "0", "9", "year2002.dbf" ) == "year.dbf"
@@ -57,8 +57,8 @@
* TODO: add documentation
* $EXAMPLES$
* ? rangerepl( "0", "9", "year2002.dbf", "?" ) // "year????.dbf", replace all digits
* ? rangerepl( "9", "0", "year2002.dbf", "?" ) // "????2??2????", testing replacement from "9" to chr(255)
* // and from chr(0) to "0"
* ? rangerepl( "9", "0", "year2002.dbf", "?" ) // "????2??2????", testing replacement from "9" to Chr(255)
* // and from Chr(0) to "0"
* ? rangerepl( "0", "9", "yearcurr.dbf", "?" ) // "yearcurr.dbf", test leaving string untouched
* $TESTS$
* rangerepl( "0", "9", "year2002.dbf", "?" ) == "year????.dbf"

View File

@@ -21,10 +21,10 @@
* default is the string returned by
* hb_eol()
* <cTabChar|nTabChar> character indicating a tab stop,
* default is chr(9)
* default is Chr(9)
* <lIgnore141> .T., if the soft-CR used by MEMOEDIT()
* should be ignored as a newline indicator,
* default is .F. (functions uses chr(141))
* default is .F. (functions uses Chr(141))
* $RETURNS$
*
* $DESCRIPTION$
@@ -32,13 +32,13 @@
* $EXAMPLES$
*
* $TESTS$
* tabexpand("-"+chr(9)+"!") == "- !"
* tabexpand("----"+chr(9) +"!") == "---- !"
* tabexpand("-"+chr(9)+"!",, "+") == "-+++++++!"
* tabexpand("-"+chr(9)+ "!", 4) == "- !"
* tabexpand("----"+chr(9)+ "!", 8) == "---- !"
* tabexpand("----"+chr(9)+ "!", 8, "+") == "----++++!"
* tabexpand("-"+chr(9)+"!"+hb_eol()+"----"+chr(9)+ "!",, "+") == "-+++++++!"+hb_eol()+"----++++!"
* tabexpand("-"+Chr(9)+"!") == "- !"
* tabexpand("----"+Chr(9) +"!") == "---- !"
* tabexpand("-"+Chr(9)+"!",, "+") == "-+++++++!"
* tabexpand("-"+Chr(9)+ "!", 4) == "- !"
* tabexpand("----"+Chr(9)+ "!", 8) == "---- !"
* tabexpand("----"+Chr(9)+ "!", 8, "+") == "----++++!"
* tabexpand("-"+Chr(9)+"!"+hb_eol()+"----"+Chr(9)+ "!",, "+") == "-+++++++!"+hb_eol()+"----++++!"
* $STATUS$
* Started
* $COMPLIANCE$
@@ -73,10 +73,10 @@
* default is the string returned by
* hb_eol()
* <cTabChar|nTabChar> character indicating a tab stop,
* default is chr(9)
* default is Chr(9)
* <lIgnore141> .T., if the soft-CR used by MEMOEDIT()
* should be ignored as a newline indicator,
* default is .F. (functions uses chr(141))
* default is .F. (functions uses Chr(141))
* $RETURNS$
*
* $DESCRIPTION$

View File

@@ -16,8 +16,8 @@
* <[@]cString> is the processed string
* <cTokenizer> is a list of characters separating the tokens
* in <cString>
* Default: chr(0)+chr(9)+chr(10)+chr(13)+chr(26)+
* chr(32)+chr(32)+chr(138)+chr(141)+
* Default: Chr(0)+Chr(9)+Chr(10)+Chr(13)+Chr(26)+
* Chr(32)+Chr(32)+Chr(138)+Chr(141)+
* ",.;:!\?/\\<>()#&%+-*"
* <nSkipWidth> specifies the maximum number of successive
* tokenizing characters that are combined as

View File

@@ -32,19 +32,19 @@
* It returns a new array including all the elements of aList1
* plus the unique elements of aList2.
* $EXAMPLES$
* aList1 := {"apple", "orange", "pear"}
* aList2 := {"apple ", "banana", "PEAR"}
* aList1 := { "apple", "orange", "pear" }
* aList2 := { "apple ", "banana", "PEAR" }
*
* FT_AADDITION( aList1, aList2 )
* // ignores spaces, sensitive to case
* // returns {"apple","orange","pear","banana","PEAR"}
* // returns { "apple", "orange", "pear", "banana", "PEAR" }
*
* FT_AADDITION( aList1, aList2, , .F. )
* // ignores spaces, not sensitive to case
* // returns {"apple","orange","pear","banana"}
* // returns { "apple", "orange", "pear", "banana" }
*
* FT_AADDITION( aList1, aList2, .F., .F. )
* // sensitive to spaces, not sensitive to case
* // returns {"apple","orange","pear","apple ","banana"}
* // returns { "apple", "orange", "pear", "apple ", "banana" }
* $END$
*/

View File

@@ -27,12 +27,12 @@
*
* This routine requires FT_ASUM().
* $EXAMPLES$
* FT_AAVG(aSubTotals) // Get Average of Entire Array
* FT_AAVG( aSubTotals ) // Get Average of Entire Array
*
* FT_AAVG(aSubTotals, 5) // Get Average of 5th Element On
* FT_AAVG( aSubTotals, 5 ) // Get Average of 5th Element On
*
* FT_AAVG(aSubTotals, , 10) // Get Average of 1st 10 Elements
* FT_AAVG( aSubTotals, , 10 ) // Get Average of 1st 10 Elements
*
* FT_AAVG(aSubTotals, 5, 10) // Get Average of Elements 5-10
* FT_AAVG( aSubTotals, 5, 10 ) // Get Average of Elements 5-10
* $END$
*/

View File

@@ -20,9 +20,9 @@
* $RETURNS$
* A three element array containing the following data:
*
* aDateInfo[1] - The year and month as a character string "YYYYMM"
* aDateInfo[2] - The beginning date of the accounting month
* aDateInfo[3] - The ending date of the accounting month
* aDateInfo[ 1 ] - The year and month as a character string "YYYYMM"
* aDateInfo[ 2 ] - The beginning date of the accounting month
* aDateInfo[ 3 ] - The ending date of the accounting month
* $DESCRIPTION$
* FT_ACCTMONTH() creates an array containing data about the
* accounting month containing the given date.
@@ -41,16 +41,16 @@
* weeks.
* $EXAMPLES$
* // get info about accounting month containing 9/15/90
* aDateInfo := FT_ACCTMONTH( SToD("19900915") )
* ? aDateInfo[1] // 199009 (9th month)
* ? aDateInfo[2] // 09/02/90 beginning of month 9
* ? aDateInfo[3] // 09/29/90 end of month 9
* aDateInfo := FT_ACCTMONTH( SToD( "19900915" ) )
* ? aDateInfo[ 1 ] // 199009 (9th month)
* ? aDateInfo[ 2 ] // 09/02/90 beginning of month 9
* ? aDateInfo[ 3 ] // 09/29/90 end of month 9
*
* // get info about accounting month 5 in year containing 9/15/90
* aDateInfo := FT_ACCTMONTH( SToD("19900915"), 5 )
* ? aDateInfo[1] // 199005
* ? aDateInfo[2] // 04/29/89 beginning of month 5
* ? aDateInfo[3] // 06/02/90 end of month 5
* aDateInfo := FT_ACCTMONTH( SToD( "19900915" ), 5 )
* ? aDateInfo[ 1 ] // 199005
* ? aDateInfo[ 2 ] // 04/29/89 beginning of month 5
* ? aDateInfo[ 3 ] // 06/02/90 end of month 5
* $SEEALSO$
* FT_DATECNFG() FT_ACCTWEEK() FT_ACCTQTR() FT_ACCTYEAR()
* $END$

View File

@@ -20,9 +20,9 @@
* $RETURNS$
* A three element array containing the following data:
*
* aDateInfo[1] - The year and qtr. as a character string "YYYYQQ"
* aDateInfo[2] - The beginning date of the accounting quarter
* aDateInfo[3] - The ending date of the accounting quarter
* aDateInfo[ 1 ] - The year and qtr. as a character string "YYYYQQ"
* aDateInfo[ 2 ] - The beginning date of the accounting quarter
* aDateInfo[ 3 ] - The ending date of the accounting quarter
* $DESCRIPTION$
* FT_ACCTQTR() creates an array containing data about the
* accounting quarter containing the given date.

View File

@@ -20,9 +20,9 @@
* $RETURNS$
* A three element array containing the following data:
*
* aDateInfo[1] - The year and week as a character string "YYYYWW"
* aDateInfo[2] - The beginning date of the accounting week
* aDateInfo[3] - The ending date of the accounting week
* aDateInfo[ 1 ] - The year and week as a character string "YYYYWW"
* aDateInfo[ 2 ] - The beginning date of the accounting week
* aDateInfo[ 3 ] - The ending date of the accounting week
* $DESCRIPTION$
* FT_ACCTWEEK() returns an array containing data about the
* accounting week containing the given date.

View File

@@ -17,9 +17,9 @@
* $RETURNS$
* A three element array containing the following data:
*
* aDateInfo[1] - The year as a character string "YYYY"
* aDateInfo[2] - The beginning date of the accounting year
* aDateInfo[3] - The ending date of the accounting year
* aDateInfo[ 1 ] - The year as a character string "YYYY"
* aDateInfo[ 2 ] - The beginning date of the accounting year
* aDateInfo[ 3 ] - The ending date of the accounting year
* $DESCRIPTION$
* FT_ACCTYEAR() creates an array containing data about the
* accounting year containing the given date.

View File

@@ -15,7 +15,7 @@
* None
* $RETURNS$
* Integer representing type of video adapter
*
*
* 0 - monochrome
* 1 - CGA
* 2 - EGA
@@ -23,23 +23,23 @@
* $DESCRIPTION$
* This function is valuable if you use a graphics library and need to
* know what type of graphics adapter is installed.
*
*
* The source code is written to adhere to Turbo Assembler's IDEAL mode.
* To use another assembler, you will need to rearrange the PROC and
* SEGMENT directives, and also the ENDP and ENDS directives (a very
* minor task).
* $EXAMPLES$
* iVideo := FT_ADAPTER()
*
*
* DO CASE
* CASE iVideo == 0
* QOUT( "You have a monochrome adapter." )
* CASE iVideo == 1
* QOUT( "You have a CGA adapter." )
* CASE iVideo == 2
* QOUT( "You have an EGA adapter." )
* CASE iVideo == 3
* QOUT( "You have a VGA adapter." )
* CASE iVideo == 0
* QOut( "You have a monochrome adapter." )
* CASE iVideo == 1
* QOut( "You have a CGA adapter." )
* CASE iVideo == 2
* QOut( "You have an EGA adapter." )
* CASE iVideo == 3
* QOut( "You have a VGA adapter." )
* ENDCASE
* $SEEALSO$
* FT_SETMODE()

View File

@@ -24,12 +24,12 @@
* $DESCRIPTION$
* This function is used to sort an array in descending order, i.e., Z-A
* $EXAMPLES$
* FT_ADESSORT(aNames) // Sort the Entire Array
* FT_ADESSORT( aNames ) // Sort the Entire Array
*
* FT_ADESSORT(aNames, 5) // Sort from the 5th Element On
* FT_ADESSORT( aNames, 5 ) // Sort from the 5th Element On
*
* FT_ADESSORT(aNames, , 10) // Sort the 1st 10 Elements
* FT_ADESSORT( aNames, , 10 ) // Sort the 1st 10 Elements
*
* FT_ADESSORT(aNames, 5, 10) // Sort Elements 5-10
* FT_ADESSORT( aNames, 5, 10 ) // Sort Elements 5-10
* $END$
*/

View File

@@ -30,18 +30,18 @@
* This function will measure each element of an array
* dimension and return the longest element.
* $EXAMPLES$
* FT_AEMAXLEN(aArray) // Measure the 1st dimension of an Array
* FT_AEMAXLEN( aArray ) // Measure the 1st dimension of an Array
*
* FT_AEMAXLEN(aArray,2) // Measure the 2nd dimension of an Array
* FT_AEMAXLEN( aArray, 2 ) // Measure the 2nd dimension of an Array
*
* FT_AEMAXLEN(aArray,2,,9) // Measure Elements 1-9 of the
* 2nd dimension or subarray
* FT_AEMAXLEN( aArray, 2, , 9 ) // Measure Elements 1-9 of the
* 2nd dimension or subarray
*
* FT_AEMAXLEN(aArray,3,5,9) // Measure Elements 5-9 of the
* 3rd dimension or subarray
* FT_AEMAXLEN( aArray, 3, 5, 9 ) // Measure Elements 5-9 of the
* 3rd dimension or subarray
*
* FT_AEMAXLEN(aArray,3,5) // Measure Elements 5 to last in the
* 3rd dimension or subarray
* FT_AEMAXLEN( aArray, 3, 5 ) // Measure Elements 5 to last in the
* 3rd dimension or subarray
* $SEEALSO$
* FT_AEMINLEN()
* $END$

View File

@@ -30,15 +30,15 @@
* This function will measure each element of an array
* dimension and return the shortest element.
* $EXAMPLES$
* FT_AEMINLEN(aArray) // Measure the 1st dimension of an Array
* FT_AEMINLEN( aArray ) // Measure the 1st dimension of an Array
*
* FT_AEMINLEN(aArray,2) // Measure the 2nd dimension of an Array
* FT_AEMINLEN( aArray, 2 ) // Measure the 2nd dimension of an Array
*
* FT_AEMINLEN(aArray,2,,9) // Measure Elements 1-9 of 2nd dimension
* FT_AEMINLEN( aArray, 2, , 9 ) // Measure Elements 1-9 of 2nd dimension
*
* FT_AEMINLEN(aArray,3,5,9) // Measure Elements 5-9 of 3rd dimension
* FT_AEMINLEN( aArray, 3, 5, 9 ) // Measure Elements 5-9 of 3rd dimension
*
* FT_AEMINLEN(aArray,3,5) // Measure Elements 5 to end of 3rd dimension
* FT_AEMINLEN( aArray, 3, 5 ) // Measure Elements 5 to end of 3rd dimension
* $SEEALSO$
* FT_AEMAXLEN()
* $END$

View File

@@ -20,9 +20,9 @@
* Alt key is pressed, such as during a MemoEdit().
* $EXAMPLES$
* IF FT_ALT()
* @24, 0 say "Alt"
* @ 24, 0 SAY "Alt"
* ELSE
* @24, 0 say " "
* @ 24, 0 SAY " "
* ENDIF
* $SEEALSO$
* FT_CAPLOCK() FT_CTRL() FT_NUMLOCK() FT_PRTSCR() FT_SHIFT()

View File

@@ -30,7 +30,7 @@
* be meaningful (i.e., converting from a code block returns an EMPTY()
* value of the desired type).
* $EXAMPLES$
* nNumericValue := FT_XTOY(cInputValue, "N")
* IF (FT_XTOY(nInputValue, "L"))
* nNumericValue := FT_XTOY( cInputValue, "N" )
* IF FT_XTOY( nInputValue, "L" )
* $END$
*/

View File

@@ -25,12 +25,12 @@
* This function is to sum the elements of a numeric array or to sum the
* lengths of a character array.
* $EXAMPLES$
* FT_ASUM(aSubTotals) // Sum the Entire Array
* FT_ASUM( aSubTotals ) // Sum the Entire Array
*
* FT_ASUM(aSubTotals, 5) // Sum from the 5th Element On
* FT_ASUM( aSubTotals, 5 ) // Sum from the 5th Element On
*
* FT_ASUM(aSubTotals, , 10) // Sum the 1st 10 Elements
* FT_ASUM( aSubTotals, , 10 ) // Sum the 1st 10 Elements
*
* FT_ASUM(aSubTotals, 5, 10) // Sum Elements 5-10
* FT_ASUM( aSubTotals, 5, 10 ) // Sum Elements 5-10
* $END$
*/

View File

@@ -12,7 +12,7 @@
* $SYNTAX$
* FT_BITCLR( <cByte>, <nBitPos> ) -> cByte
* $ARGUMENTS$
* <cByte> is a character from CHR(0) to CHR(255).
* <cByte> is a character from Chr(0) to Chr(255).
*
* <nBitPos> is a number from 0 to 7 conforming to standard
* right-to-left bit numbering convention and representing the
@@ -29,19 +29,16 @@
* are possible with Clipper code. For greater speed, write .c or
* .asm versions and use the Clipper Extend system.
* $EXAMPLES$
* This code would clear bit 4 in a byte represented by CHR(115):
* This code would clear bit 4 in a byte represented by Chr( 115 ):
*
* cNewByte := FT_BITCLR( CHR(115), 4 )
* ? ASC( cNewbyte ) // result: 99
* ? cNewByte // result: 'c'
* cNewByte := FT_BITCLR( Chr( 115 ), 4 )
* ? Asc( cNewbyte ) // result: 99
* ? cNewByte // result: "c"
*
* This code would clear bit 5 in the byte represented by letter 'A':
* This code would clear bit 5 in the byte represented by letter "A":
*
* FT_BITCLR( 'A', 5 ) // result: 'A', since
* FT_BITCLR( "A", 5 ) // result: "A", since
* // bit 5 already clear
*
* For a demonstration of Clipper bit manipulations, compile and
* link the program bittest.prg in the Nanforum Toolkit source code.
* $SEEALSO$
* FT_BITSET() FT_ISBIT()
* $END$

View File

@@ -12,7 +12,7 @@
* $SYNTAX$
* FT_BITSET( <cByte>, <nBitPos> ) -> cByte
* $ARGUMENTS$
* <cByte> is a character from CHR(0) to CHR(255).
* <cByte> is a character from Chr(0) to Chr(255).
*
* <nBitPos> is a number from 0 to 7 conforming to standard right-to-left
* bit numbering convention and representing the position of the bit
@@ -29,20 +29,17 @@
* are possible with Clipper code. For greater speed, write .c or
* .asm versions and use the Clipper Extend system.
* $EXAMPLES$
* This code would set bit 4 in a byte represented by CHR(107):
* This code would set bit 4 in a byte represented by Chr( 107 ):
*
* cNewbyte := FT_BITSET( CHR(107), 4 )
* ? ASC( cNewbyte ) // result: 123
* ? cNewbyte // result: '{'
* cNewbyte := FT_BITSET( Chr( 107 ), 4 )
* ? Asc( cNewbyte ) // result: 123
* ? cNewbyte // result: "{"
*
*
* This code would set bit 5 in the byte represented by the letter 'A'.
* This code would set bit 5 in the byte represented by the letter "A".
*
* ? FT_BITSET( 'A', 5 ) // result: 'a'
* ? FT_BITSET( "A", 5 ) // result: "a"
* // bit 5 set
*
* For a demonstration of Clipper bit manipulations, compile and
* link the program bittest.prg in the Nanforum Toolkit source code.
* $SEEALSO$
* FT_BITCLR() FT_ISBIT()
* $END$

View File

@@ -25,7 +25,7 @@
* $EXAMPLES$
* FT_BLINK( "WAIT", 5, 10 ) // Blinks "WAIT" in current colors @ 5,10
*
* @5,10 SAY "WAIT - Printing Report"
* @ 5,10 SAY "WAIT - Printing Report"
* FT_BLINK( "..." ) // Blink "..." after wait message...
* $END$
*/

View File

@@ -28,17 +28,14 @@
* .asm versions and use the Clipper Extend system.
* $EXAMPLES$
* These three code lines perform a bitwise AND on bytes with values of
* CHR(20) and CHR(36), and deliver the result as a string in binary (bit)
* Chr(20) and Chr(36), and deliver the result as a string in binary (bit)
* format.
*
* ? FT_BYT2BIT(CHR(20)) // byte1: '0001 0100'
* ? FT_BYT2BIT(CHR(36)) // byte2: '0010 0100'
* ? FT_BYT2BIT( Chr( 20 ) ) // byte1: '0001 0100'
* ? FT_BYT2BIT( Chr( 36 ) ) // byte2: '0010 0100'
*
* ? FT_BYT2BIT(FT_BYTEAND(CHR(20), CHR(36)))
* ? FT_BYT2BIT( FT_BYTEAND( Chr( 20 ), Chr( 36 ) ) )
* // result: '0000 0100'
*
* For a demonstration of Clipper bit manipulations, compile and
* link the program bittest.prg in the Nanforum Toolkit source code.
* $SEEALSO$
* FT_BYT2HEX()
* $END$

View File

@@ -25,17 +25,14 @@
* .asm versions and use the Clipper Extend system.
* $EXAMPLES$
* These three code lines perform a bitwise AND on bytes with values of
* CHR(20) and CHR(36), and deliver the result as a string in hexadecimal
* Chr(20) and Chr(36), and deliver the result as a string in hexadecimal
* format, using 'h' to signify hexadecimal.
*
* ? FT_BYT2HEX(CHR(20)) // byte1: '14h'
* ? FT_BYT2HEX(CHR(36)) // byte2: '24h'
* ? FT_BYT2HEX( Chr( 20 ) ) // byte1: '14h'
* ? FT_BYT2HEX( Chr( 36 ) ) // byte2: '24h'
*
* ? FT_BYT2HEX(FT_BYTEAND(CHR(20), CHR(36)))
* ? FT_BYT2HEX( FT_BYTEAND( Chr( 20 ), Chr( 36 ) ) )
* // result: '04h'
*
* For a demonstration of Clipper bit manipulations, compile and
* link the program bittest.prg in the Nanforum Toolkit source code.
* $SEEALSO$
* FT_BYT2BIT()
* $END$

View File

@@ -12,11 +12,11 @@
* $SYNTAX$
* FT_BYTEAND( <cByte1>, <cByte2> ) -> cByte
* $ARGUMENTS$
* <cByte1> and <cByte2> are characters from CHR(0) TO CHR(255).
* May be passed in CHR() form, as character literals, or as expressions
* evaluating to CHR() values.
* <cByte1> and <cByte2> are characters from Chr(0) TO Chr(255).
* May be passed in Chr() form, as character literals, or as expressions
* evaluating to Chr() values.
* $RETURNS$
* Returns resulting byte, in CHR() form. If parameters are faulty,
* Returns resulting byte, in Chr() form. If parameters are faulty,
* returns NIL.
* $DESCRIPTION$
* Can be used for any bit-wise masking operation. In effect, this is a
@@ -27,15 +27,12 @@
* .asm versions and use the Clipper Extend system.
* $EXAMPLES$
* This code would mask out the high nibble (four most significant bits)
* of the byte represented by chr(123) and leave the low nibble bits as in
* of the byte represented by Chr(123) and leave the low nibble bits as in
* the parameter byte.
*
* cNewbyte := FT_BYTEAND( CHR(123), CHR(15) )
* ? asc(cNewByte) // result: 11
* ? cNewByte // result: non-printable character
*
* For a demonstration of Clipper bit manipulations, compile and
* link the program bittest.prg in the Nanforum Toolkit source code.
* cNewbyte := FT_BYTEAND( Chr( 123 ), Chr( 15 ) )
* ? Asc( cNewByte ) // result: 11
* ? cNewByte // result: non-printable character
* $SEEALSO$
* FT_BYTEOR() FT_BYTEXOR() FT_BYTENOT() FT_BYTENEG()
* $END$

View File

@@ -12,11 +12,11 @@
* $SYNTAX$
* FT_BYTENEG( <cByte> ) -> cNewByte
* $ARGUMENTS$
* <cByte> is a character from CHR(0) to CHR(255).
* May be passed in CHR() form, as character literal, or
* as expression evaluating to CHR() value.
* <cByte> is a character from Chr(0) to Chr(255).
* May be passed in Chr() form, as character literal, or
* as expression evaluating to Chr() value.
* $RETURNS$
* Returns resulting byte, in CHR() form. If parameters are faulty,
* Returns resulting byte, in Chr() form. If parameters are faulty,
* returns NIL.
* $DESCRIPTION$
* Can be used for bit-wise byte manipulation. In effect, this is a
@@ -27,13 +27,10 @@
* are possible with Clipper code. For greater speed, write .c or
* .asm versions and use the Clipper Extend system.
* $EXAMPLES$
* This code performs a bit-wise NEG on byte represented by CHR(32):
* This code performs a bit-wise NEG on byte represented by Chr( 32 ):
*
* cNewByte := FT_BYTENOT(CHR(32))
* ? asc(cNewByte) // result: 224
*
* For a demonstration of Clipper bit manipulations, compile and
* link the program bittest.prg in the Nanforum Toolkit source code.
* cNewByte := FT_BYTENOT( Chr( 32 ) )
* ? Asc( cNewByte ) // result: 224
* $SEEALSO$
* FT_BYTEOR() FT_BYTEXOR() FT_BYTENOT() FT_BYTEAND()
* $END$

View File

@@ -12,11 +12,11 @@
* $SYNTAX$
* FT_BYTENOT( <cByte> ) -> cNewByte
* $ARGUMENTS$
* <cByte> is a character from CHR(0) to CHR(255).
* May be passed in CHR() form, as character literal, or
* as expression evaluating to CHR() value.
* <cByte> is a character from Chr(0) to Chr(255).
* May be passed in Chr() form, as character literal, or
* as expression evaluating to Chr() value.
* $RETURNS$
* Returns resulting byte, in CHR() form. If parameters are faulty,
* Returns resulting byte, in Chr() form. If parameters are faulty,
* returns NIL.
* $DESCRIPTION$
* Can be used for bitwise byte manipulation. In effect, this is a
@@ -27,13 +27,10 @@
* are possible with Clipper code. For greater speed, write .c or
* .asm versions and use the Clipper Extend system.
* $EXAMPLES$
* This code performs a bitwise NOT on byte represented by CHR(32):
* This code performs a bitwise NOT on byte represented by Chr( 32 ):
*
* cNewByte := FT_BYTENOT( CHR(32) )
* ? ASC( cNewByte ) // result: 223
*
* For a demonstration of Clipper bit manipulations, compile and
* link the program bittest.prg in the Nanforum Toolkit source code.
* cNewByte := FT_BYTENOT( Chr( 32 ) )
* ? Asc( cNewByte ) // result: 223
* $SEEALSO$
* FT_BYTEOR() FT_BYTEXOR() FT_BYTENEG() FT_BYTEAND()
* $END$

View File

@@ -12,11 +12,11 @@
* $SYNTAX$
* FT_BYTEOR( <cByte1>, <cByte2> ) -> cNewByte
* $ARGUMENTS$
* <cByte1> and <cByte2> are characters from CHR(0) TO CHR(255).
* May be passed in CHR() form, as character literals, or as
* expressions evaluating to CHR() values.
* <cByte1> and <cByte2> are characters from Chr(0) TO Chr(255).
* May be passed in Chr() form, as character literals, or as
* expressions evaluating to Chr() values.
* $RETURNS$
* Returns resulting byte, in CHR() form. If parameters are faulty,
* Returns resulting byte, in Chr() form. If parameters are faulty,
* returns NIL.
* $DESCRIPTION$
* Can be used for bit-wise byte manipulation. In effect, this is a
@@ -27,14 +27,11 @@
* .asm versions and use the Clipper Extend system.
* $EXAMPLES$
* This code performs a bit-wise OR on two bytes represented
* by CHR(20) and CHR(10):
* by Chr( 20 ) and Chr( 10 ):
*
* cNewByte := FT_BYTEOR( CHR(20), CHR(10) )
* ? ASC( cNewByte ) // result: 30
* cNewByte := FT_BYTEOR( Chr( 20 ), Chr( 10 ) )
* ? Asc( cNewByte ) // result: 30
* ? cNewByte // result: non-printable character
*
* For a demonstration of Clipper bit manipulations, compile and
* link the program bittest.prg in the Nanforum Toolkit source code.
* $SEEALSO$
* FT_BYTEXOR() FT_BYTENOT() FT_BYTENEG() FT_BYTEAND()
* $END$

View File

@@ -12,11 +12,11 @@
* $SYNTAX$
* FT_BYTEXOR( <cByte1>, <cByte2> ) -> cNewByte
* $ARGUMENTS$
* <cByte1> and <cByte2> are characters from CHR(0) to CHR(255).
* May be passed in CHR() form, as character literals, or
* as expressions evaluating to CHR() values.
* <cByte1> and <cByte2> are characters from Chr(0) to Chr(255).
* May be passed in Chr() form, as character literals, or
* as expressions evaluating to Chr() values.
* $RETURNS$
* Returns resulting byte, in CHR() form. If parameters are faulty,
* Returns resulting byte, in Chr() form. If parameters are faulty,
* returns NIL.
* $DESCRIPTION$
* Can be used for bit-wise byte manipulation. In effect, this is a
@@ -27,14 +27,11 @@
* .asm versions and use the Clipper Extend system.
* $EXAMPLES$
* This code performs a bit-wise XOR on two bytes represented
* by CHR(32) and CHR(55):
* by Chr( 32 ) and Chr( 55 ):
*
* cNewByte := FT_BYTEXOR( CHR(32), CHR(55) )
* ? ASC( cNewByte ) // result: 23
* cNewByte := FT_BYTEXOR( Chr( 32 ), Chr( 55 ) )
* ? Asc( cNewByte ) // result: 23
* ? cNewByte // result: non-printable character
*
* For a demonstration of Clipper bit manipulations, compile and
* link the program bittest.prg in the Nanforum Toolkit source code.
* $SEEALSO$
* FT_BYTEOR() FT_BYTENOT() FT_BYTENEG() FT_BYTEAND()
* $END$

View File

@@ -55,17 +55,17 @@
* from the Nanforum Toolkit!
*
* $EXAMPLES$
* LOCAL aRetVal[8]
* CLS
* aRetVal := FT_CALENDAR (10,40,'W+/RB',.T.,.T.)
* ?aRetVal[1] // Result: 04/20/91
* ?aRetVal[2] // Result: 4
* ?aRetVal[3] // Result: 20
* ?aRetVal[4] // Result: 1991
* ?aRetVal[5] // Result: April
* ?aRetVal[6] // Result: Saturday
* ?aRetVal[7] // Result: 110
* ?aRetVal[8] // Result: 12:45:20
* LOCAL aRetVal[ 8 ]
* CLS
* aRetVal := FT_CALENDAR( 10, 40, "W+/RB", .T., .T. )
* ? aRetVal[ 1 ] // Result: 04/20/91
* ? aRetVal[ 2 ] // Result: 4
* ? aRetVal[ 3 ] // Result: 20
* ? aRetVal[ 4 ] // Result: 1991
* ? aRetVal[ 5 ] // Result: April
* ? aRetVal[ 6 ] // Result: Saturday
* ? aRetVal[ 7 ] // Result: 110
* ? aRetVal[ 8 ] // Result: 12:45:20
*
* $SEEALSO$
* FT_DAYOFYR()

View File

@@ -53,7 +53,7 @@
* a more appropriate test display.
*
* [4] cFillChar is the character (for desktop background only)
* Default is CHR(177) "▒▒▒▒▒▒▒▒▒▒▒▒▒▒"
* Default is Chr(177) "▒▒▒▒▒▒▒▒▒▒▒▒▒▒"
*
*
* <lClrMode> .T. use colour palette
@@ -63,7 +63,7 @@
*
* <cTestChr> 2 Byte character string for colour test display
*
* Default is the CHR(254)+CHR(254) ""
* Default is the Chr(254)+Chr(254) ""
*
* $RETURNS$
* An array identical to the one passed, with new selected colours
@@ -76,8 +76,8 @@
* a normal colour string returned.
* $EXAMPLES$
* LOCAL aClrs := {}
* LOCAL lColour := ISCOLOR()
* LOCAL cChr := CHR(254) + CHR(254)
* LOCAL lColour := IsColor()
* LOCAL cChr := Chr( 254 ) + Chr( 254 )
*
* SET SCOREBOARD Off
* SETBLINK( .F. ) // Allow bright backgrounds

View File

@@ -22,12 +22,12 @@
* This function returns the state (ON/OFF, TRUE/FALSE) of the CENTURY
* and optionally sets it ON or OFF.
* $EXAMPLES$
* lOldState := FT_SETCENTURY() // Get current CENTURY Setting
* lOldState := FT_SETCENTURY() // Get current CENTURY Setting
*
* lOldState := FT_SETCENTURY(.T.) // Get the current CENTURY Setting
* // and turn it on (set it to TRUE)
* lOldState := FT_SETCENTURY( .T. ) // Get the current CENTURY Setting
* // and turn it on (set it to TRUE)
*
* lOldState := FT_SETCENTURY(.F.) // Get the current CENTURY Setting
* // and turn it off (set it to FALSE)
* lOldState := FT_SETCENTURY( .F. ) // Get the current CENTURY Setting
* // and turn it off (set it to FALSE)
* $END$
*/

View File

@@ -20,9 +20,9 @@
* the Ctrl key is pressed, such as during a MemoEdit().
* $EXAMPLES$
* IF FT_CTRL()
* @24, 0 say "Ctrl"
* @ 24, 0 say "Ctrl"
* ELSE
* @24, 0 say " "
* @ 24, 0 say " "
* ENDIF
* $SEEALSO$
* FT_CAPLOCK() FT_NUMLOCK() FT_PRTSCR() FT_SHIFT() FT_ALT()

View File

@@ -4,34 +4,31 @@
/* $DOC$
* $FUNCNAME$
* FT_D2E()
* FT_D2E()
* $CATEGORY$
* Conversion
* Conversion
* $ONELINER$
* Convert decimal to scientific notation
* Convert decimal to scientific notation
* $SYNTAX$
* FT_D2E( <nDec>, <nPrecision> ) -> <cNumE>
* FT_D2E( <nDec>, <nPrecision> ) -> <cNumE>
* $ARGUMENTS$
* <nDec> Decimal number to convert
* <nDec> Decimal number to convert
*
* <nPrecision> Number of decimal places in result.
* Defaults to 6 decimal places.
* <nPrecision> Number of decimal places in result.
* Defaults to 6 decimal places.
* $RETURNS$
* <cNumE> A string representing a number in
* scientific notation
* <cNumE> A string representing a number in
* scientific notation
* $DESCRIPTION$
* Given a decimal number and the desired precision,
* a string representing the equivalent in scientific
* notation is returned.
* Given a decimal number and the desired precision,
* a string representing the equivalent in scientific
* notation is returned.
* $EXAMPLES$
* ? FT_D2E( 12.345, 2 )
* -> 1.23E1
* ? FT_D2E( 12.345, 2 ) -> 1.23E1
*
* ? FT_D2E( -12.345, 3 )
* -> -1.235E1
* ? FT_D2E( -12.345, 3 ) -> -1.235E1
*
* ? FT_D2E( 0.00000543, 2 )
* -> 5.43E-6
* ? FT_D2E( 0.00000543, 2 ) -> 5.43E-6
* $SEEALSO$
* FT_E2D()
* $END$

View File

@@ -58,20 +58,20 @@
* // Configure library date functions to begin year on
* // July 1st.
*
* FT_DATECNFG("07/01/80") // year is insignificant
* FT_DATECNFG( "07/01/80" ) // year is insignificant
*
* // Examples of return values:
*
* // System date format: American aArray[1] aArray[2]
* // System date format: American aArray[1] aArray[2]
*
* aArray := FT_DATECNFG() // '1980.01.01' 1 (Sun.)
* aArray := FT_DATECNFG('07/01/80') // '1980.07.01' 1 (Sun.)
* aArray := FT_DATECNFG('07/01/80', 2) // '1980.07.01' 2 (Mon.)
* aArray := FT_DATECNFG( , 2 ) // '1980.01.01' 2 (Mon.)
* aArray := FT_DATECNFG() // "1980.01.01" 1 (Sun.)
* aArray := FT_DATECNFG( "07/01/80" ) // "1980.07.01" 1 (Sun.)
* aArray := FT_DATECNFG( "07/01/80", 2 ) // "1980.07.01" 2 (Mon.)
* aArray := FT_DATECNFG( , 2 ) // "1980.01.01" 2 (Mon.)
*
* // System date format: British
*
* aArray := FT_DATECNFG('01/07/80', 2) // '1980.07.01' 2 (Mon.)
* aArray := FT_DATECNFG( "01/07/80", 2 ) // "1980.07.01" 2 (Mon.)
* $SEEALSO$
* FT_ACCTADJ()
* $END$

View File

@@ -27,15 +27,15 @@
*
* If <nDayNum> is specified:
*
* aDateInfo[1] - The date of the specified day number
* aDateInfo[2] - The beginning date of the year
* aDateInfo[3] - The ending date of the year
* aDateInfo[ 1 ] - The date of the specified day number
* aDateInfo[ 2 ] - The beginning date of the year
* aDateInfo[ 3 ] - The ending date of the year
*
* If <nDayNum> is not specified:
*
* aDateInfo[1] - The year and day as a character string "YYYYDDD"
* aDateInfo[2] - The beginning date of the year
* aDateInfo[3] - The ending date of the year
* aDateInfo[ 1 ] - The year and day as a character string "YYYYDDD"
* aDateInfo[ 2 ] - The beginning date of the year
* aDateInfo[ 3 ] - The ending date of the year
* $DESCRIPTION$
* FT_DAYOFYR() returns an array containing data about a day in the
* calendar or fiscal year containing the given date.

View File

@@ -40,16 +40,16 @@
* This is the smallest you should make the buffer. For normal use,
* 4096 bytes is recommended
* $EXAMPLES$
* @ 4,9 TO 11,71
* @ 4, 9 TO 11, 71
*
* FT_DFSETUP("test.txt", 5, 10, 10, 70, 1, 7, 15,;
* "AaBb" + Chr(143), .T., 5, 132, 4096)
* FT_DFSETUP( "test.txt", 5, 10, 10, 70, 1, 7, 15,;
* "AaBb" + Chr( 143 ), .T., 5, 132, 4096 )
*
* cKey = FT_DISPFILE()
* cKey := FT_DISPFILE()
*
* FT_DFCLOSE()
*
* @ 20,0 SAY "Key that terminated FT_DISPFILE() was: " + '[' + cKey + ']'
* @ 20, 0 SAY "Key that terminated FT_DISPFILE() was: " + "[" + cKey + "]"
* $SEEALSO$
* FT_DISPFILE() FT_DFCLOSE()
* $END$
@@ -71,16 +71,16 @@
* $DESCRIPTION$
* Closes the file opened by FT_DFSETUP()
* $EXAMPLES$
* @ 4,9 TO 11,71
* @ 4, 9 TO 11, 71
*
* FT_DFSETUP("test.txt", 5, 10, 10, 70, 1, 7, 15,;
* "AaBb" + Chr(143), .T., 5, 132, 4096)
* FT_DFSETUP( "test.txt", 5, 10, 10, 70, 1, 7, 15,;
* "AaBb" + Chr( 143 ), .T., 5, 132, 4096 )
*
* cKey = FT_DISPFILE()
* cKey := FT_DISPFILE()
*
* FT_DFCLOSE()
*
* @ 20,0 SAY "Key that terminated FT_DISPFILE() was: " + '[' + cKey + ']'
* @ 20, 0 SAY "Key that terminated FT_DISPFILE() was: " + "[" + cKey + "]"
* $SEEALSO$
* FT_DFSETUP() FT_DISPFILE()
* $END$

View File

@@ -48,16 +48,16 @@
* keys must be passed by a unique value and that value
* can be found by looking in the keys.h file.
* $EXAMPLES$
* @ 4,9 TO 11,71
* @ 4, 9 TO 11, 71
*
* FT_DFSETUP("test.txt", 5, 10, 10, 70, 1, 7, 15,;
* "AaBb" + Chr(143), .T., 5, 132, 4096)
* FT_DFSETUP( "test.txt", 5, 10, 10, 70, 1, 7, 15,;
* "AaBb" + Chr( 143 ), .T., 5, 132, 4096 )
*
* cKey = FT_DISPFILE()
* cKey := FT_DISPFILE()
*
* FT_DFCLOSE()
*
* @ 20,0 SAY "Key that terminated FT_DISPFILE() was: " + '[' + cKey + ']'
* @ 20, 0 SAY "Key that terminated FT_DISPFILE() was: " + "[" + cKey + "]"
* $SEEALSO$
* FT_DFSETUP() FT_DFCLOSE()
* $END$

View File

@@ -89,7 +89,7 @@
* and returns to the calling procedure.
*
* FT_DISPMSG( { { "Please Do Not Interrupt" } , ;
* { "W+/B", "GR+/B" } } , ;
* { "W+/B", "GR+/B" } } , ;
* , 5, )
* $END$
*/

View File

@@ -28,9 +28,8 @@
*
*
* $EXAMPLES$
* PROCEDURE Main()
* ? "Dos version: " + FT_DOSVER()
* RETURN
*
* PROCEDURE Main()
* ? "Dos version: " + FT_DOSVER()
* RETURN
* $END$
*/

View File

@@ -8,26 +8,23 @@
* $CATEGORY$
* Conversion
* $ONELINER$
* Convert scientific notation string to a decimal
* Convert scientific notation string to a decimal
* $SYNTAX$
* FT_E2D( <cNumE> ) -> <nDec>
* FT_E2D( <cNumE> ) -> <nDec>
* $ARGUMENTS$
* <cNumE> Scientific notation string to convert
* <cNumE> Scientific notation string to convert
* $RETURNS$
* <nDec> Decimal number
* <nDec> Decimal number
* $DESCRIPTION$
* Given a string in the format x.yEz, the decimal
* equivalent is returned.
* Given a string in the format x.yEz, the decimal
* equivalent is returned.
* $EXAMPLES$
* ? FT_E2D( "1.23E1" )
* -> 12.3
* ? FT_E2D( "1.23E1" ) -> 12.3
*
* ? FT_E2D( "-1.235E1" )
* -> -12.35
* ? FT_E2D( "-1.235E1" ) -> -12.35
*
* ? ft_d2e( "5.43E-6" )
* -> 0.0000543
* ? ft_d2e( "5.43E-6" ) -> 0.0000543
* $SEEALSO$
* FT_D2E()
* FT_D2E()
* $END$
*/

View File

@@ -21,8 +21,8 @@
* Return the absolute difference between two times in hh:mm:ss format
* in character hours, minutes and seconds (hh:mm:ss).
* $EXAMPLES$
* FT_ELTIME( "22:40:12", "23:55:17" ) -> 01:15:05
* FT_ELTIME( "23:55:17", "22:40:12" ) -> 01:15:05
* FT_ELTIME( "22:40:12", "23:55:17" ) // 01:15:05
* FT_ELTIME( "23:55:17", "22:40:12" ) // 01:15:05
* $SEEALSO$
* FT_ELAPMIN() FT_MIL2MIN() FT_MIN2MIL()
* $END$

View File

@@ -31,7 +31,7 @@
* // the 10th Occurrence of "the", case
* // insensitive
*
* nNextPosition := FT_FINDITH("the", cMemoString, 10)
* nNextPosition := FT_FINDITH( "the", cMemoString, 10 )
* $SEEALSO$
* FT_AT2()
* $END$

View File

@@ -35,7 +35,7 @@
* should be no problems.
*
* This function does not currently check subst'd drives. So if you
* have SUBST E: A:\ then FT_FLOPTST( ASC("E")-ASC("A") ) == 4
* have SUBST E: A:\ then FT_FLOPTST( Asc("E")-Asc("A") ) == 4
* Any suggestions to fix this limitation are appreciated.
*
* $EXAMPLES$

View File

@@ -97,13 +97,13 @@
* database workareas.
*
* $EXAMPLES$
* FT_FSELECT(1)
* FT_FSELECT( 1 )
*
* nFile1 := FT_FUSE( "temp.c" )
*
* ? FT_FLASTRE() // no. of lines in temp.c
*
* FT_FSELECT(2)
* FT_FSELECT( 2 )
*
* nFile2 := FT_FUSE( "temp.h" )
*
@@ -183,7 +183,7 @@
* $EXAMPLES$
* IF ft_fUse( "text.c" ) < 0 // open text file
* err := ft_fError()
* ? 'Error opening file "Text.c", error code (' + ;
* ? 'Error opening file "rext.c", error code (' + ;
* LTrim( Str( err ) ) + ')'
* ENDIF
*
@@ -378,7 +378,7 @@
* $ONELINER$
* Deletes a line from the currently selected text file
* $SYNTAX$
* FT_FDELETE( [ < nLines > ] ) -> lSuccess
* FT_FDELETE( [ <nLines> ] ) -> lSuccess
*
* $ARGUMENTS$
* ^b<nLines>^n is the number of lines to be eliminated, beginning with
@@ -416,7 +416,7 @@
* $ONELINER$
* Inserts a line in the currently selected text file
* $SYNTAX$
* FT_FINSERT( [ < nLines > ] ) -> lSuccess
* FT_FINSERT( [ <nLines> ] ) -> lSuccess
*
* $ARGUMENTS$
* ^b<nLines>^n is the number of lines that should be inserted at the
@@ -440,7 +440,7 @@
*
* $EXAMPLES$
* // add a couple of blank lines of text to a file
* ft fUse( "test.txt" )
* ft_fUse( "test.txt" )
*
* ft_fGoTo( 10 )
*
@@ -493,11 +493,11 @@
* // add a blank line of text to a file
* FT_FUSE( "test.txt" )
*
* ?FT_FRECNO() // displays 5
* ? FT_FRECNO() // displays 5
*
* FT_FAPPEND()
*
* ?FT_FRECNO() // displays 6
* ? FT_FRECNO() // displays 6
*
* $SEEALSO$
* FT_FRECNO() FT_FDELETE() FT_FINSERT() FT_FLASTRE()
@@ -659,7 +659,7 @@
*
* ? FT_FBOF() // .F.
*
* FT_FSKIP(-1)
* FT_FSKIP( -1 )
*
* ? FT_FBOF() // .T.
*

View File

@@ -18,13 +18,13 @@
* $RETURNS$
* The greatest common divisor of the 2 numbers, or 0 if either is 0.
* $DESCRIPTION$
* This function calculates the greatest common divisor between 2 numbers,
* i.e., the largest number that will divide into both numbers evenly. It
* will return zero (0) if either number is zero.
* This function calculates the greatest common divisor between 2 numbers,
* i.e., the largest number that will divide into both numbers evenly. It
* will return zero (0) if either number is zero.
* $EXAMPLES$
* ? FT_GCD(10,15) // Result: 5
* ? FT_GCD(108,54) // Result: 54
* ? FT_GCD(102,54) // Result: 6
* ? FT_GCD(111,17) // Result: 1
* ? FT_GCD( 10, 15 ) // Result: 5
* ? FT_GCD( 108, 54 ) // Result: 54
* ? FT_GCD( 102, 54 ) // Result: 6
* ? FT_GCD( 111, 17 ) // Result: 1
* $END$
*/

View File

@@ -16,7 +16,7 @@
*
* <xReceiveVar> can be a character type variable, in which case
* the function will place all environment strings in the variable
* separated by carriage return/line feeds (chr 13 + chr(10)).
* separated by carriage return/line feeds (chr 13 + Chr(10)).
*
* <xReceiveVar> can be an array type, in which case the function
* will place each string in an array element. The array MUST be
@@ -44,23 +44,23 @@
* Get the environment in text form and browse it:
*
* cEnvBlock := ""
* nNumStrings := FT_GETE(@cEnvBlock)
* @ 0, 0 to MAXROW() - 1, MAXCOL()
* @ MAXROW(), 0 say 'Browse strings, press ESC to exit...'
* MEMOWRIT(cEnvBlock, 1, 1, MAXROW() - 2,MAXCOL() - 1, .F.)
* nNumStrings := FT_GETE( @cEnvBlock )
* @ 0, 0 TO MaxRow() - 1, MaxCol()
* @ MaxRow(), 0 SAY 'Browse strings, press ESC to exit...'
* MemoWrit( cEnvBlock, 1, 1, MaxRow() - 2, MaxCol() - 1, .F. )
*
* Get the environment in text form and write it to a file:
*
* cEnvBlock := ""
* FT_GETE(@cEnvBlock)
* MEMOWRIT("environ.txt", cEnvBlock)
* FT_GETE( @cEnvBlock )
* MEMOWRIT( "environ.txt", cEnvBlock )
*
* Get the environment in Array form:
*
* aEnvArray := ARRAY(FT_GETE())
* FT_GETE(aEnvArray)
* ? aEnvArray[1] // "COMSPEC=C:\command.com"
* ? aEnvArray[2] // "PATH=C:\;C:\util;C:\harbour"
* aEnvArray := Array( FT_GETE() )
* FT_GETE( aEnvArray )
* ? aEnvArray[ 1 ] // "COMSPEC=C:\command.com"
* ? aEnvArray[ 2 ] // "PATH=C:\;C:\util;C:\harbour"
* ... etc ...
* $END$
*/

View File

@@ -12,7 +12,7 @@
* $SYNTAX$
* FT_ISBIT( <cByte>, <nBitPos> ) -> lResult
* $ARGUMENTS$
* <cByte> is a character from CHR(0) to CHR(255)
* <cByte> is a character from Chr(0) to Chr(255)
*
* <nBitPos> is a number from 0 to 7 conforming to standard right-to-left
* bit-numbering convention and representing the position of the
@@ -22,7 +22,7 @@
* invalid parameters.
* $DESCRIPTION$
* Tests for status of any selected bit in the byte passed as a parameter.
* Byte must be presented in CHR() form, as a literal constant, or as the
* Byte must be presented in Chr() form, as a literal constant, or as the
* one-byte character result of an expression.
*
* This function is presented to illustrate that bit-wise operations
@@ -30,18 +30,15 @@
* .asm versions and use the Clipper Extend system.
* $EXAMPLES$
* This code tests whether bit 3 is set in the byte represented by
* CHR(107):
* Chr( 107 ):
*
* lBitflag := FT_ISBIT(CHR(107), 3)
* lBitflag := FT_ISBIT( Chr( 107 ), 3 )
* ? lBitflag // result: .T.
*
* This code tests whether bit 5 is set in the byte represented by ASCII
* 65 (letter 'A')
* 65 (letter "A")
*
* ? FT_ISBIT('A', 5) // result: .F.
*
* For a demonstration of Clipper bit manipulations, compile and
* link the program bittest.prg in the Nanforum Toolkit source code.
* ? FT_ISBIT( "A", 5 ) // result: .F.
* $SEEALSO$
* FT_BITSET() FT_BITCLR()
* $END$

View File

@@ -61,8 +61,8 @@
*
* This source code is written for Microsoft Assembler v5.1.
* $EXAMPLES$
* FT_SETRATE(0,0) // Set keyboard to fastest possible settings
* FT_SETRATE() // Set keyboard to AT defaults (10.9cps,500ms delay)
* FT_SETRATE(11,1) // Set keyboard to PS/2 defaults (10cps,500ms delay)
* FT_SETRATE( 0, 0 ) // Set keyboard to fastest possible settings
* FT_SETRATE() // Set keyboard to AT defaults (10.9cps,500ms delay)
* FT_SETRATE( 11, 1 ) // Set keyboard to PS/2 defaults (10cps,500ms delay)
* $END$
*/

View File

@@ -35,13 +35,11 @@
*
*
* $EXAMPLES$
* cString := "FT_GoodFunc(BadFunc(3,2))"
* IF FT_LINKED(cString)
* EVAL( &("{||"+cString+"}") )
* cString := "FT_GoodFunc( BadFunc( 3, 2 ) )"
* IF FT_LINKED( cString )
* Eval( &( "{||" + cString + "}" ) )
* ELSE
* ALERT("Error: "+cString+" was not linked in. Called by FT_LINKED()")
* Alert( "Error: " + cString + " was not linked in. Called by FT_LINKED()" )
* ENDIF
*
*
* $END$
*/

View File

@@ -43,7 +43,6 @@
* ? FT_MADD( dDate, 2, .T. ) // 06/30/91 <- June only has 30 days
* ? FT_MADD( dDate, 3 ) // 07/30/91
* ? FT_MADD( dDate, 3, .T. ) // 07/31/91 <- forced EOM
*
* $SEEALSO$
* FT_DAYOFYR() FT_DAYTOBOW()
* $END$

View File

@@ -62,7 +62,7 @@
* // The first creates aOptions with the same length as aBar. The
* // second assigns a three-element array to each element of aOptions.
* LOCAL aOptions[ Len( aBar ) ]
* AEVAL( aBar, {| x, i | aOptions[ i ] := { {}, {}, {} } } )
* AEval( aBar, {| x, i | aOptions[ i ] := { {}, {}, {} } } )
*
* // fill color array
* // Box Border, Menu Options, Menu Bar, Current Selection, Unselected
@@ -146,29 +146,29 @@
* FT_FILL() is a function used to set up the menu options prior
* to calling FT_MENU1().
* $EXAMPLES$
* FT_FILL( aOptions[ 1 ], "A. Execute A Dummy Procedure" , {|| fubar() }, .T. )
* FT_FILL( aOptions[ 1 ], "A. Execute A Dummy Procedure" , {|| fubar() }, .T. )
*
* The above would be added to the sub-menu associated with the first menu
* bar item, would execute the function FUBAR() when that option was
* selected, and would be selectable.
* The above would be added to the sub-menu associated with the first menu
* bar item, would execute the function FUBAR() when that option was
* selected, and would be selectable.
*
*
* FT_FILL( aOptions[ 3 ], "B. Enter Daily Charges" , {|| .T. }, .F. )
* FT_FILL( aOptions[ 3 ], "B. Enter Daily Charges" , {|| .T. }, .F. )
*
* The above would be added to the sub-menu associated with the third menu
* bar item, and would be unselectable.
* The above would be added to the sub-menu associated with the third menu
* bar item, and would be unselectable.
*
*
* FT_FILL( aOptions[ 2 ], "C. Enter Payments On Accounts", {|| .T. }, .T. )
* FT_FILL( aOptions[ 2 ], "C. Enter Payments On Accounts", {|| .T. }, .T. )
*
* The above would be added to the sub-menu associated with the second menu
* bar item, and would be selectable, but would do nothing when selected.
* The above would be added to the sub-menu associated with the second menu
* bar item, and would be selectable, but would do nothing when selected.
*
*
* FT_FILL( aOptions[ 4 ], "C. Exit" , {|| .F. }, .T. )
* FT_FILL( aOptions[ 4 ], "C. Exit" , {|| .F. }, .T. )
*
* The above would be added to the sub-menu associated with the fourth menu
* bar item, and would be selectable, and would exit FT_MENU1() when chosen.
* The above would be added to the sub-menu associated with the fourth menu
* bar item, and would be selectable, and would exit FT_MENU1() when chosen.
* $SEEALSO$
* FT_MENU1()
* $END$

View File

@@ -120,29 +120,29 @@
* deal then use the standard Clipper commands.
*
* $EXAMPLES$
* #include "ftmenuto.ch"
* #include "ftmenuto.ch"
*
* // Simple prompt
* @ 1, 1 PROMPT "Menu choice #1"
* // Simple prompt
* @ 1, 1 PROMPT "Menu choice #1"
*
* // Prompt with color
* @ 3, 1 PROMPT "Menu choice #2" COLOR "W+/R,W+/B"
* // Prompt with color
* @ 3, 1 PROMPT "Menu choice #2" COLOR "W+/R,W+/B"
*
* // Prompt with a message
* @ 5, 1 PROMPT "Menu choice #3" MESSAGE "Go to lunch"
* // Prompt with a message
* @ 5, 1 PROMPT "Menu choice #3" MESSAGE "Go to lunch"
*
* // Prompt with pinpoint message control
* @ 7, 1 PROMPT "Menu choice #4" MESSAGE "Drop Dead" ;
* MSGROW 22 MSGCOL 4 MSGCOLOR "GR+/N"
* // Prompt with pinpoint message control
* @ 7, 1 PROMPT "Menu choice #4" MESSAGE "Drop Dead" ;
* MSGROW 22 MSGCOL 4 MSGCOLOR "GR+/N"
*
* // Prompt with a trigger character ("#" character)
* @11, 1 PROMPT "Menu choice #6" TRIGGER 13
* // Prompt with a trigger character ("#" character)
* @ 11, 1 PROMPT "Menu choice #6" TRIGGER 13
*
* // Prompt with trigger character color control
* @13, 1 PROMPT "Menu Choice #7" TRIGGER 13 TRIGGERCOLOR "R+/BG,G+/N"
* // Prompt with trigger character color control
* @ 13, 1 PROMPT "Menu Choice #7" TRIGGER 13 TRIGGERCOLOR "R+/BG,G+/N"
*
* // Prompt with right and left arrow keys disabled
* @15, 1 PROMPT "Menu Choice #8" RIGHT 8 LEFT 8
* // Prompt with right and left arrow keys disabled
* @ 15, 1 PROMPT "Menu Choice #8" RIGHT 8 LEFT 8
* $INCLUDE$
* ftmenuto.ch
* $SEEALSO$
@@ -182,11 +182,11 @@
* Note that this command can also be called using function-style
* syntax. See the entry for FT_MENUTO() for further details.
* $EXAMPLES$
* #include "ftmenuto.ch"
* #include "ftmenuto.ch"
*
* // Simple command
* // Simple command
*
* MENU TO memvar
* MENU TO memvar
*
* $INCLUDE$
* ftmenuto.ch

View File

@@ -26,11 +26,11 @@
* the string are pronounced. FT_METAPH() will group sound-alikes
* together, and forgive shortcomings in spelling ability.
* $EXAMPLES$
* USE Persons
* INDEX ON FT_METAPH( LastName ) TO LastName
* USE persons
* INDEX ON FT_METAPH( LastName ) TO lastname
* SEEK FT_METAPH( "Philmore" )
* ? FOUND(), LastName // Result: .T. Philmore
* ? Found(), LastName // Result: .T. Philmore
* SEEK FT_METAPH( "Fillmore" )
* ? FOUND(), LastName // Result: .T. Philmore
* ? Found(), LastName // Result: .T. Philmore
* $END$
*/

View File

@@ -18,7 +18,7 @@
* $DESCRIPTION$
* Converts time in military format to number of minute of the day.
* $EXAMPLES$
* FT_MIL2MIN( "1729" ) -> 1049
* FT_MIL2MIN( "1729" ) // 1049
* $SEEALSO$
* FT_MIN2MIL() FT_CIV2MIL() FT_MIL2CIV() FT_SYS2MIL()
* $END$
@@ -40,7 +40,7 @@
* $DESCRIPTION$
* Converts minute of the day to military format time.
* $EXAMPLES$
* FT_MIN2MIL( 279 ) -> 0439
* FT_MIN2MIL( 279 ) // 0439
* $SEEALSO$
* FT_MIL2MIN() FT_MIL2CIV() FT_CIV2MIL() FT_SYS2MIL()
* $END$
@@ -63,13 +63,15 @@
* $DESCRIPTION$
* Converts time from military to civilian format
* $EXAMPLES$
* FT_MIL2CIV( "1640" ) -> 4:40 pm
* FT_MIL2CIV( "1640" ) // 4:40 pm
*
* FT_MIL2CIV( "0440" ) -> 4:40 am
* FT_MIL2CIV( "0440" ) // 4:40 am
*
* FT_MIL2CIV( "1200" ) -> 12:00 n
* FT_MIL2CIV( "1200" ) // 12:00 n
*
* FT_MIL2CIV( "0000" ) and FT_MIL2CIV( "2400" ) -> 12:00 m
* FT_MIL2CIV( "0000" ) // 12:00 m
*
* FT_MIL2CIV( "2400" ) // 12:00 m
*
* Caution: leading blanks are irrelevant.
* $SEEALSO$
@@ -94,13 +96,13 @@
* $DESCRIPTION$
* Converts time from 12-hour civilian format to military.
* $EXAMPLES$
* FT_CIV2MIL( " 5:40 pm" ) -> 1740
* FT_CIV2MIL( " 5:40 pm" ) // 1740
*
* FT_CIV2MIL( " 5:40 am" ) -> 0540
* FT_CIV2MIL( " 5:40 am" ) // 0540
*
* FT_CIV2MIL( "12:00 n" ) -> 1200
* FT_CIV2MIL( "12:00 n" ) // 1200
*
* FT_CIV2MIL( "12:00 m" ) -> 0000
* FT_CIV2MIL( "12:00 m" ) // 0000
*
* Caution: leading blanks are irrelevant; p,a,n,m must be preceded by
* one and only one space.
@@ -125,7 +127,7 @@
* $DESCRIPTION$
* Return current system time as character string in military format.
* $EXAMPLES$
* FT_SYS2MIL() -> 1623
* FT_SYS2MIL() // 1623
* $SEEALSO$
* FT_MIL2CIV() FT_CIV2MIL()
* $END$

View File

@@ -16,11 +16,11 @@
* $RETURNS$
* <aDHM_>
* where:
* aDHM_[1] = cDAYS, aDHM_[2] = cHours, aDHM_[3] = cMinutes
* aDHM_[ 1 ] = cDAYS, aDHM_[ 2 ] = cHours, aDHM_[ 3 ] = cMinutes
* $DESCRIPTION$
* Converts numeric minutes into a character array containing
* days, hours & minutes.
* $EXAMPLES$
* aDHM_ = MIN2DHM(16789) -> aDHM_[1] = 11, aDHM_[2] = 15, aDHM_[3] = 49
* aDHM_ := MIN2DHM( 16789 ) // aDHM_[ 1 ] = 11, aDHM_[ 2 ] = 15, aDHM_[ 3 ] = 49
* $END$
*/

View File

@@ -20,9 +20,9 @@
* $RETURNS$
* A three element array containing the following data:
*
* aDateInfo[1] - The year and month as a character string "YYYYMM"
* aDateInfo[2] - The beginning date of the month
* aDateInfo[3] - The ending date of the month
* aDateInfo[ 1 ] - The year and month as a character string "YYYYMM"
* aDateInfo[ 2 ] - The beginning date of the month
* aDateInfo[ 3 ] - The ending date of the month
* $DESCRIPTION$
* FT_MONTH() returns an array containing data about the month
* containing the given date.

View File

@@ -102,15 +102,15 @@
* This is a mouse meta function that checks for the presence
* of a double click.
* $EXAMPLES$
* IF FT_MISREGION( 10, 10, 11, 20 ) .AND.;
* FT_MDBLCLK(0,1,,FT_MGETX(),FT_MGETY()) // double click, right button
* // at current location with
* // default interval
* IF FT_MISREGION( 10, 10, 11, 20 ) .AND.;
* FT_MDBLCLK( 0, 1,, FT_MGETX(), FT_MGETY() ) // double click, right button
* // at current location with
* // default interval
*
* MnuItem1()
* ENDIF
* MnuItem1()
* ENDIF
* $SEEALSO$
* FT_MBUTPRS() FT_MBUTREL()
* FT_MBUTPRS() FT_MBUTREL()
* $END$
*/
@@ -138,7 +138,7 @@
* $EXAMPLES$
* FT_MCONOFF( 10, 10, 11, 20 )
* $SEEALSO$
* FT_MSHOWCRS() FT_MHIDECRS() FT_MXLIMIT() FT_MYLIMIT() FT_MINREGION()
* FT_MSHOWCRS() FT_MHIDECRS() FT_MXLIMIT() FT_MYLIMIT() FT_MINREGION()
* $END$
*/
@@ -160,10 +160,10 @@
* within the confines of the specified region.
* $EXAMPLES$
* IF FT_MINREGION( 10, 10, 11, 20 )
* nChoice := 1
* nChoice := 1
* ENDIF
* $SEEALSO$
* FT_MXLIMIT() FT_MYLIMIT() FT_MINREGION()
* FT_MXLIMIT() FT_MYLIMIT() FT_MINREGION()
* $END$
*/
@@ -223,7 +223,7 @@
*
*
* $EXAMPLES$
* FT_MSETSENS( 75,75,50 ) // a little less mouse movement necessary.
* FT_MSETSENS( 75, 75, 50 ) // a little less mouse movement necessary.
* $SEEALSO$
* FT_MGETSENS()
* $END$
@@ -293,10 +293,10 @@
* my screen showed 6.24 but this routine returned 30 for the minor version
* number!
* $EXAMPLES$
* nMajor:=FT_MVERSION( @nMinor )
* IF (nMajor+nMinor/100)<7.2
* ? "Sorry mouse driver version too old"
* RETURN
* nMajor := FT_MVERSION( @nMinor )
* IF ( nMajor + nMinor / 100 ) < 7.2
* ? "Sorry mouse driver version too old"
* RETURN
* ENDIF
* $SEEALSO$
* FT_MSETSENS()
@@ -313,7 +313,7 @@
* $SYNTAX$
* FT_MSETPAGE( <@nPage> ) -> NIL
* $ARGUMENTS$
* <nPage> is the desired display page.
* <nPage> is the desired display page.
* $RETURNS$
* NIL
* $DESCRIPTION$
@@ -346,7 +346,7 @@
* values of nPage is dependent upon the display mode. See FT_SETVPG()
* for changing the current video page
* $EXAMPLES$
* nPage = FT_MGETPAGE( ) // Gets the mouse cursor display page
* nPage := FT_MGETPAGE( ) // Gets the mouse cursor display page
* $SEEALSO$
* FT_MSETPAGE()
* $END$
@@ -404,7 +404,7 @@
* This function works like most Clipper state functions. If no value
* is sent to FT_MCURSOR() it will return the state of the mouse cursor.
* $EXAMPLES$
* IF !( FT_MCURSOR() )
* IF ! FT_MCURSOR()
* FT_MCURSOR( .T. )
* ENDIF
* $END$
@@ -471,7 +471,7 @@
* does not increment the varaible above 0.
* $EXAMPLES$
* FT_MHIDECRS()
* @ 10, 10 to 20, 20
* @ 10, 10 TO 20, 20
* FT_MSHOWCRS()
* $SEEALSO$
* FT_MSHOWCRS() FT_MCONOFF()
@@ -543,7 +543,7 @@
* $EXAMPLES$
* ? FT_MGETX()
* $SEEALSO$
* FT_MGETCOORD() FT_MDEFCRS() FT_MGETPOS() FT_MGETY()
* FT_MGETCOORD() FT_MDEFCRS() FT_MGETPOS() FT_MGETY()
* $END$
*/
@@ -618,7 +618,7 @@
* coordinates.
* $EXAMPLES$
* FT_MSETCOORD( 10, 20 ) // position mouse cursor at row 10, col 20
* // in text screen coordinates
* // in text screen coordinates
* $SEEALSO$
* FT_MGETPOS() FT_MGETCOORD() FT_MSETPOS() FT_MDEFCRS() FT_MGETX() FT_MGETY()
* $END$
@@ -644,7 +644,7 @@
* $EXAMPLES$
* FT_MXLIMIT( 10, 20 )
* $SEEALSO$
* FT_MYLIMIT() FT_MINREGION()
* FT_MYLIMIT() FT_MINREGION()
* $END$
*/
@@ -668,7 +668,7 @@
* $EXAMPLES$
* FT_MYLIMIT( 10, 20 )
* $SEEALSO$
* FT_MXLIMIT() FT_MINREGION()
* FT_MXLIMIT() FT_MINREGION()
* $END$
*/
@@ -710,11 +710,11 @@
* Retrieves the mouse button status and the position of the cursor when
* a button was last pressed.
* $EXAMPLES$
* IF Empty( FT_MBUTPRS(1) )
* IF Empty( FT_MBUTPRS( 1 ) )
* ? "No Item selected"
* ENDIF
* $SEEALSO$
* FT_MBUTREL() FT_MDBLCLK()
* FT_MBUTREL() FT_MDBLCLK()
* $END$
*/

View File

@@ -38,9 +38,9 @@
* also the FutureValue and PresentValue for further explanations.
* The formula to calculate the net present value is:
*
* NetPresentValue = SUM(CashFlow[i] / ((1 + InterestRate) ** i))
* FOR i = 1 TO NoOfCashFlows
* NetPresentValue := SUM( CashFlow[ i ] / ( ( 1 + InterestRate ) ** i ) )
* FOR i := 1 TO NoOfCashFlows
* $EXAMPLES$
* nNetPresentValue := FT_NETPV(10000, 10, { 10000,15000,16000,17000 } )
* nNetPresentValue := FT_NETPV( 10000, 10, { 10000, 15000, 16000, 17000 } )
* $END$
*/

View File

@@ -40,10 +40,10 @@
* -> Twenty Three Dollars and 99/100
*
* x := -23.99
* cents := Str( ( x - int( x ) ) * 100, 2, 0 ) + "/100"
* x := int( x )
* cents := Str( ( x - Int( x ) ) * 100, 2, 0 ) + "/100"
* x := Int( x )
* string := iif( x < 0, "Credit of ", "Debit of " )
* ? string + FT_NTOW( abs( x ) ) + " Dollars and " + "99/100"
* ? string + FT_NTOW( Abs( x ) ) + " Dollars and " + "99/100"
* -> Credit of Twenty Three Dollars and 99/100
* $END$
*/

View File

@@ -86,8 +86,8 @@
* @nHandle, @nOpenCnt )
*
* IF nRc != 0
* ? "Error: " + Str( nRc ) )
* QUIT
* ? "Error: " + Str( nRc )
* QUIT
* ENDIF
* $SEEALSO$
* FT_NWSEMEX() FT_NWSEMWAIT() FT_NWSEMSIG() FT_NWSEMCLOSE() FT_NWSEMLOCK()

View File

@@ -32,16 +32,16 @@
*
* FT_OnTick( "CLOCK", 9 )
*
* procedure Clock
* PROCEDURE Clock()
*
* local nRow := Row()
* local nCol := Col()
* LOCAL nRow := Row()
* LOCAL nCol := Col()
*
* @ 0, 0 say Time()
* @ 0, 0 SAY Time()
*
* SetPos( nRow, nCol )
* SetPos( nRow, nCol )
*
* return
* RETURN
*
* $SEEALSO$
*

View File

@@ -29,8 +29,8 @@
* $EXAMPLES$
* cMyFile := FT_ORIGIN()
*
* IF cMyFile != "C:\appdir\myfile.exe"
* ?"Incorrect startup file. Please remove/rename and start again"
* IF !( cMyFile == "C:\appdir\myfile.exe" )
* ? "Incorrect startup file. Please remove/rename and start again"
* QUIT
* ENDIF
* $SEEALSO$

View File

@@ -4,13 +4,13 @@
/* $DOC$
* $FUNCNAME$
* FT_PCHR()
* FT_PChr()
* $CATEGORY$
* String
* $ONELINER$
* Convert printer control codes
* $SYNTAX$
* FT_PCHR( <cString> ) -> <cPrinterFormat>
* FT_PChr( <cString> ) -> <cPrinterFormat>
* $ARGUMENTS$
* <cString> is the representation of the printer control codes in
* text, numeric, hexadecimal, Epson command format, or any combination
@@ -74,17 +74,17 @@
* /USA Select USA international char set
*
* $EXAMPLES$
* cSetUp := '27,116,1'
* Set Print ON
* ? FT_PCHR( cSetUp ) -> (CHR(27)+CHR(116)+CHR(1))
* cSetUp := "27,116,1"
* SET PRINT ON
* ? FT_PChr( cSetUp ) -> (Chr(27)+Chr(116)+Chr(1))
* <select Epson char. graphics>
*
* ? FT_PCHR( '27,"x",0' ) -> (CHR(27)+CHR(120)+CHR(0))
* ? FT_PChr( '27,"x",0' ) -> (Chr(27)+Chr(120)+Chr(0))
* <Epson draft mode>
*
* ? FT_PCHR( '&1B,"E"' ) -> (CHR(27)+CHR(69)) <HP reset>
* ? FT_PChr( '&1B,"E"' ) -> (Chr(27)+Chr(69)) <HP reset>
*
* ? FT_PCHR( '/ELITE,/NLQ' ) ->(CHR(27)+CHR(77)+CHR(27)+CHR(120)+CHR(1))
* ? FT_PChr( "/ELITE,/NLQ" ) ->(Chr(27)+Chr(77)+Chr(27)+Chr(120)+Chr(1))
* <Epson elite & near letter quality>
* $SEEALSO$
*

View File

@@ -28,6 +28,6 @@
* This function was written for version 5.1 of MicroSoft C. You may
* have to modify the source code to use another compiler.
* $EXAMPLES$
* local nVMode := FT_PEEK( 0, 1097 ) // Get the current video mode
* LOCAL nVMode := FT_PEEK( 0, 1097 ) // Get the current video mode
* $END$
*/

View File

@@ -37,12 +37,12 @@
* pending message is issued much too soon after the current one.
*
* $EXAMPLES$
* FT_PENDING("Message one",20,0,3,"W+/G") // Displays "Message one."
* // sets row to 20, col to 0.
* // wait to 3 and color to
* // bright white over green.
* FT_PENDING("Message two") // Displays "Message two", after 5 sec.
* FT_PENDING("Message three") // Displays "Message three", after 5 sec.
* FT_PENDING( "Message one",20,0,3,"W+/G" ) // Displays "Message one."
* // sets row to 20, col to 0.
* // wait to 3 and color to
* // bright white over green.
* FT_PENDING( "Message two" ) // Displays "Message two", after 5 sec.
* FT_PENDING( "Message three" ) // Displays "Message three", after 5 sec.
*
*
* Note that default row, col, wait time and color need to be set only

View File

@@ -31,6 +31,6 @@
* This function was written for version 5.1 of MicroSoft C. You may
* have to modify the source code to use another compiler.
* $EXAMPLES$
* FT_POKE( 0, 1047, 64) // Turn CapsLock on
* FT_POKE( 0, 1047, 64 ) // Turn CapsLock on
* $END$
*/

View File

@@ -41,8 +41,8 @@
* To use another assembler, rearrange the SEGMENT and PROC directives
* and make any other necessary changes to the source code.
* $EXAMPLES$
* FT_PUTKEY( -9 ) // Stuff the F10 key
* FT_PUTKEY( 276 ) // Stuff the Alt T key
* KEYSTROKE 28 // Stuff the F1 key using a User-Defined Command
* FT_PUTKEY( -9 ) // Stuff the F10 key
* FT_PUTKEY( 276 ) // Stuff the Alt T key
* KEYSTROKE 28 // Stuff the F1 key using a User-Defined Command
* $END$
*/

View File

@@ -20,9 +20,9 @@
* $RETURNS$
* A three element array containing the following data:
*
* aDateInfo[1] - The year and quarter as a character string "YYYYQQ"
* aDateInfo[2] - The beginning date of the quarter
* aDateInfo[3] - The ending date of the quarter
* aDateInfo[ 1 ] - The year and quarter as a character string "YYYYQQ"
* aDateInfo[ 2 ] - The beginning date of the quarter
* aDateInfo[ 3 ] - The ending date of the quarter
* $DESCRIPTION$
* FT_QTR() returns an array containing data about the quarter
* containing the given date.

View File

@@ -25,8 +25,8 @@
* If you need a random number between 0 and <nMax> inclusive,
* then you should ROUND() the result.
* $EXAMPLES$
* nResult := INT( FT_RAND1(100) ) + 1 // 1 <= nResult <= 100
* nResult := ROUND( FT_RAND1(100), 0 ) // 0 <= nResult <= 100
* nResult := FT_RAND1( 1 ) // 0 <= nResult < 1
* nResult := Int( FT_RAND1( 100 ) ) + 1 // 1 <= nResult <= 100
* nResult := Round( FT_RAND1( 100 ), 0 ) // 0 <= nResult <= 100
* nResult := FT_RAND1( 1 ) // 0 <= nResult < 1
* $END$
*/

View File

@@ -85,19 +85,19 @@
* please do and send it to Glenn Scott 71620,1521.]
*
* $EXAMPLES$
* aArray := { { "Invoice 1", SToD( "19910415" ), 1234.32, .T. },;
* { "Invoice 2", Date(), 234.98, .F. },;
* { "Invoice 3", Date() + 1, 0, .T. } }
* nErrorCode := 0
* FT_SAVEARR( aArray, "invoice.dat", @nErrorCode )
* IF nErrorCode == 0
* aSave := FT_RESTARR( "invoice.dat", @nErrorCode )
* IF nErrorCode != 0
* ? "Error restoring array"
* ENDIF
* ELSE
* ? "Error writing array"
* ENDIF
* aArray := { { "Invoice 1", SToD( "19910415" ), 1234.32, .T. },;
* { "Invoice 2", Date(), 234.98, .F. },;
* { "Invoice 3", Date() + 1, 0, .T. } }
* nErrorCode := 0
* FT_SAVEARR( aArray, "invoice.dat", @nErrorCode )
* IF nErrorCode == 0
* aSave := FT_RESTARR( "invoice.dat", @nErrorCode )
* IF nErrorCode != 0
* ? "Error restoring array"
* ENDIF
* ELSE
* ? "Error writing array"
* ENDIF
*
* $SEEALSO$
* FT_SAVEARR()

View File

@@ -138,20 +138,20 @@
* The following example uses FT_RGNSTACK() to save and restore various
* sections of the screen.
*
* @ 00, 00, 24, 79 BOX "111111111" // fill the screen with 1's
* FT_RGNSTACK("push", 10, 05, 15, 15) // push a region
* @ 00, 00, 24, 79 BOX "222222222" // fill the screen with 2's
* FT_RGNSTACK("push", 10, 20, 15, 30) // push a region
* @ 00, 00, 24, 79 BOX "333333333" // fill the screen with 3's
* FT_RGNSTACK("push", 10, 35, 15, 45) // push a region
* @ 00, 00, 24, 79 BOX "444444444" // fill the screen with 4's
* FT_RGNSTACK("push", 10, 50, 15, 60) // push a region
* @ 00, 00, 24, 79 BOX "555555555" // fill the screen with 5's
* FT_RGNSTACK("push", 10, 65, 15, 75) // push a region
* @ 00, 00, 24, 79 BOX "111111111" // fill the screen with 1's
* FT_RGNSTACK( "push", 10, 05, 15, 15 ) // push a region
* @ 00, 00, 24, 79 BOX "222222222" // fill the screen with 2's
* FT_RGNSTACK( "push", 10, 20, 15, 30 ) // push a region
* @ 00, 00, 24, 79 BOX "333333333" // fill the screen with 3's
* FT_RGNSTACK( "push", 10, 35, 15, 45 ) // push a region
* @ 00, 00, 24, 79 BOX "444444444" // fill the screen with 4's
* FT_RGNSTACK( "push", 10, 50, 15, 60 ) // push a region
* @ 00, 00, 24, 79 BOX "555555555" // fill the screen with 5's
* FT_RGNSTACK( "push", 10, 65, 15, 75 ) // push a region
* CLEAR
* FT_RGNSTACK("pop") // restore the 5's region
* FT_RGNSTACK("pop") // restore the 4's region
* FT_RGNSTACK("pop all") // restore the 3's, 2's and 1's regions
* FT_RGNSTACK( "pop" ) // restore the 5's region
* FT_RGNSTACK( "pop" ) // restore the 4's region
* FT_RGNSTACK( "pop all" ) // restore the 3's, 2's and 1's regions
* $SEEALSO$
* FT_SAVRGN() FT_RSTRGN()
* $END$

View File

@@ -28,17 +28,17 @@
* the DOS Set Date service (Interrupt 33, service 43).
*
* $EXAMPLES$
* The following program takes a date from the command line and sets
* the DOS system date:
* The following program takes a date from the command line and sets
* the DOS system date:
*
* PROCEDURE Main( cDate )
* PROCEDURE Main( cDate )
*
* cDate := iif( cDate == NIL, DToS( Date() ), cDate )
* ? "Setting date to: " + cDate + "... "
* FT_SETDATE( SToD( cDate ) )
* ? "Today is now: " + DToC( Date() )
* cDate := iif( cDate == NIL, DToS( Date() ), cDate )
* ? "Setting date to: " + cDate + "... "
* FT_SETDATE( SToD( cDate ) )
* ? "Today is now: " + DToC( Date() )
*
* RETURN
* RETURN
*
* $END$
*/

View File

@@ -20,9 +20,9 @@
* shift key is pressed, such as during a MemoEdit().
* $EXAMPLES$
* IF FT_SHIFT()
* @24, 0 say "Shift"
* @ 24, 0 say "Shift"
* ELSE
* @24, 0 say " "
* @ 24, 0 say " "
* ENDIF
* $SEEALSO$
* FT_CAPLOCK() FT_CTRL() FT_NUMLOCK() FT_PRTSCR() FT_ALT()

View File

@@ -37,15 +37,15 @@
* work for more than 24 hours.
* $EXAMPLES$
* Example 1:
* FT_SLEEP(10.0) // Sleep for 10.0 seconds
* FT_SLEEP( 10.0 ) // Sleep for 10.0 seconds
* Example 2:
* nTime := SECONDS() // usually after some interupt from mouse or
* // keyboard
*
* ... intervening code ...
*
* FT_SLEEP(0.5, nTime) // Sleep until the sytem clock is
* // nTime+0.5 seconds.
* FT_SLEEP( 0.5, nTime ) // Sleep until the sytem clock is
* // nTime+0.5 seconds.
*
* $END$
*/

View File

@@ -24,8 +24,8 @@
* the original number from the compressed string.
*
* $EXAMPLES$
* replace TRANS->cust_id with FT_SQZN(mcust_id,8),;
* TRANS->amount with FT_SQZN(mamount,12,2)
* REPLACE TRANS->cust_id WITH FT_SQZN( mcust_id, 8 ),;
* TRANS->amount WITH FT_SQZN( mamount, 12, 2 )
*
* $SEEALSO$
* FT_UNSQZN()
@@ -61,8 +61,8 @@
* requirements for numeric fields in a database file.
*
* $EXAMPLES$
* mcust_id := FT_UNSQZN(TRANS->cust_id,8),;
* mamount := FT_UNSQZN(TRANS->amount,12,2)
* mcust_id := FT_UNSQZN( TRANS->cust_id, 8 ),;
* mamount := FT_UNSQZN( TRANS->amount, 12, 2 )
*
* $SEEALSO$
* FT_SQZN()

View File

@@ -31,7 +31,7 @@
* $EXAMPLES$
* // Set the position to row 5, column 10 on video page 1:
*
* FT_SETVCUR( 1, 5, 10 )
* FT_SETVCUR( 1, 5, 10 )
* $END$
*/

View File

@@ -41,13 +41,13 @@
/* $DOC$
* $FUNCNAME$
* FT_WRTCHR()
* FT_WRTChr()
* $CATEGORY$
* Video
* $ONELINER$
* Display character on screen
* $SYNTAX$
* FT_WRTCHR( <nRow>, <nCol>, <cChar>, <nColor> ) -> NIL
* FT_WRTChr( <nRow>, <nCol>, <cChar>, <nColor> ) -> NIL
* $ARGUMENTS$
* <nRow> and <nCol> are the screen coordinates.
*
@@ -64,11 +64,11 @@
* on screen in a specified color attribute. This function is useful
* for constructing screens with a lot of text or repetitive screen prints
* where speed is important. It is faster and requires less memory than
* FT_VIDSTR(). A working example is contained in ClrTable.Prg.
* FT_VIDSTR(). A working example is contained in clrtable.prg.
* $EXAMPLES$
* FOR nX = 1 to MaxRow()
* FOR nY = 1 to MaxCol()
* FT_WRTCHR( nX, nY, "∙", ( nX - 1 ) + ( nY * 16 ) )
* FT_WRTChr( nX, nY, "∙", ( nX - 1 ) + ( nY * 16 ) )
* NEXT
* NEXT
*
@@ -173,13 +173,13 @@
/* $DOC$
* $FUNCNAME$
* FT_REVCHR()
* FT_REVChr()
* $CATEGORY$
* Video
* $ONELINER$
* Reverse the color of a single character on the screen
* $SYNTAX$
* FT_REVCHR( <nTRow>, <nLCol> ) -> NIL
* FT_REVChr( <nTRow>, <nLCol> ) -> NIL
* $ARGUMENTS$
* <nTRow>, <nLCol> are the screen coordinates of the character.
* $RETURNS$
@@ -190,7 +190,7 @@
* This function is the same as FT_REVATTR() except that it changes
* only one character on screen and hence is faster and uses less memory.
* $EXAMPLES$
* FT_REVCHR( 10, 20 )
* FT_REVChr( 10, 20 )
*
* This example will change the text and background at 10, 20 to it's
* reverse color attributes without changing or overwriting the

View File

@@ -23,7 +23,7 @@
* (Microsoft Press)
* $EXAMPLES$
* PROCEDURE Main( cMode )
* FT_SETMODE( VAL( cMode ) )
* FT_SETMODE( Val( cMode ) )
* ? "Video mode is: " + Str( FT_GETMODE() )
* RETURN
* $SEEALSO$

View File

@@ -20,9 +20,9 @@
* $RETURNS$
* A three element array containing the following data:
*
* aDateInfo[1] - The year and week as a character string "YYYYWW"
* aDateInfo[2] - The beginning date of the week
* aDateInfo[3] - The ending date of the week
* aDateInfo[ 1 ] - The year and week as a character string "YYYYWW"
* aDateInfo[ 2 ] - The beginning date of the week
* aDateInfo[ 3 ] - The ending date of the week
* $DESCRIPTION$
* FT_WEEK() returns an array containing data about the week
* containing the given date.

View File

@@ -41,9 +41,6 @@
*
* // last day of year
* nWkNum := FT_WOY( SToD( "19911231" ) ) // result: 53
*
* For a demonstration of this function, compile and link the
* program woy.prg in the Nanforum Toolkit source code.
* $END$
*/

View File

@@ -62,23 +62,18 @@
* The border is black on white.
* The text is white on black.
* The box is centered both vertically and horizontally.
*
* WARNING: Shadowing is achieved by a call to FT_SHADOW(), an assembly
* routine not found in this .prg. In order to use XBOX,
* shadow.prg must also be present somewhere (if you are using
* NANFOR.LIB, then it is).
* $EXAMPLES$
* The following displays a two-line box with default settings:
*
* FT_XBOX(,,,,,,,'This is a test','of the XBOX() function')
* FT_XBOX( ,,,,,,, "This is a test", "of the XBOX() function" )
*
* The following uses all optional parameters and displays a three-line
* box. The box is left-justified with a double border. It has a yellow
* on red border and white on blue text. The function will wait for a
* keypress before returning control to the calling routine.
*
* FT_XBOX('L','W','D','GR+/R','W/B',5,10,'It is so nice',;
* 'to not have to do the messy chore',;
* 'of calculating the box size!')
* FT_XBOX( "L", "W", "D", "GR+/R", "W/B", 5, 10, "It is so nice",;
* "to not have to do the messy chore",;
* "of calculating the box size!" )
* $END$
*/

View File

@@ -17,9 +17,9 @@
* $RETURNS$
* A three element array containing the following data:
*
* aDateInfo[1] - The year as a character string "YYYY"
* aDateInfo[2] - The beginning date of the year
* aDateInfo[3] - The ending date of the year
* aDateInfo[ 1 ] - The year as a character string "YYYY"
* aDateInfo[ 2 ] - The beginning date of the year
* aDateInfo[ 3 ] - The ending date of the year
* $DESCRIPTION$
* FT_YEAR() returns an array containing data about the year
* containing the given date.