/* $DOC$ $AUTHOR$ Copyright 2000 Luiz Rafael Culik $TEMPLATE$ Function $NAME$ IsAlpha() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Checks if leftmost character in a string is an alphabetic character $SYNTAX$ IsAlpha( ) --> lAlpha $ARGUMENTS$ Any character string $RETURNS$ Logical true (.T.) or false (.F.). $DESCRIPTION$ This function return a logical true (.T.) if the first character in is an alphabetic character. If not, the function will return a logical false (.F.). $EXAMPLES$ ? IsAlpha( "hello" ) ? IsAlpha( "12345" ) $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ Library is core $SEEALSO$ IsDigit(), IsLower(), IsUpper(), Lower(), Upper() $END$ */ /* $DOC$ $AUTHOR$ Copyright 2000 Luiz Rafael Culik $TEMPLATE$ Function $NAME$ IsDigit() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Checks if leftmost character is a digit character $SYNTAX$ IsDigit( ) --> lDigit $ARGUMENTS$ Any character string $RETURNS$ Logical true (.T.) or false (.F.). $DESCRIPTION$ This function takes the character string and checks to see if the leftmost character is a digit, from 1 to 9. If so, the function will return a logical true (.T.); otherwise, it will return a logical false (.F.). $EXAMPLES$ ? IsDigit( "12345" ) // --> .T. ? IsDigit( "abcde" ) // --> .F. $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ Library is core $SEEALSO$ IsAlpha(), IsLower(), IsUpper(), Lower(), Upper() $END$ */ /* $DOC$ $AUTHOR$ Copyright 2000 Luiz Rafael Culik $TEMPLATE$ Function $NAME$ IsUpper() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Checks if leftmost character is an uppercased letter. $SYNTAX$ IsUpper( ) --> lUpper $ARGUMENTS$ Any character string $RETURNS$ Logical true (.T.) or false (.F.). $DESCRIPTION$ This function checks to see if the leftmost character if is a uppercased letter. If so, the function will return a logical true (.T.); otherwise, it will return a logical false (.F.). $EXAMPLES$ ? IsUpper( "Abcde" ) // --> .T. ? IsUpper( "abcde" ) // --> .F. $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ Library is core $SEEALSO$ IsAlpha(), IsLower(), IsDigit(), Lower(), Upper() $END$ */ /* $DOC$ $AUTHOR$ Copyright 2000 Luiz Rafael Culik $TEMPLATE$ Function $NAME$ IsLower() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Checks if leftmost character is an lowercased letter. $SYNTAX$ IsLower( ) --> lLower $ARGUMENTS$ Any character string $RETURNS$ Logical true (.T.) or false (.F.). $DESCRIPTION$ This function takes the character string and checks to see if the leftmost character is a lowercased letter. If so, the function will return a logical true (.T.); otherwise, it will return a logical false (.F.). $EXAMPLES$ ? IsLower( "ABCde" ) // --> .F. ? IsLower( "aBCde" ) // --> .T. $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ Library is core $SEEALSO$ IsAlpha(), IsDigit(), IsUpper(), Lower(), Upper() $END$ */ /* $DOC$ $AUTHOR$ Copyright 2000 Luiz Rafael Culik $TEMPLATE$ Function $NAME$ LTrim() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Removes leading spaces from a string $SYNTAX$ LTrim( ) --> cReturn $ARGUMENTS$ Character expression with leading spaces $RETURNS$ LTrim() returns a copy of the original string with leading spaces removed. $DESCRIPTION$ This function trims the leading space blank $EXAMPLES$ ? "|" + LTrim( "Hello " ) + "|" $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ Library is core $SEEALSO$ Trim(), RTrim(), AllTrim() $END$ */ /* $DOC$ $AUTHOR$ Copyright 2000 Luiz Rafael Culik $TEMPLATE$ Function $NAME$ At() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Locates the position of a substring in a main string. $SYNTAX$ At( , ) --> nPos $ARGUMENTS$ Substring to search for Main string $RETURNS$ At() return the starting position of the first occurrence of the substring in the main string $DESCRIPTION$ This function searches the string for the characters in the first string . If the substring is not contained within the second expression, the function will return 0. $EXAMPLES$ ? At( "cde", "abcdefgfedcba" ) // --> 3 $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ Library is core $SEEALSO$ RAt() $END$ */ /* $DOC$ $AUTHOR$ Copyright 2000 Luiz Rafael Culik $TEMPLATE$ Function $NAME$ hb_At() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Locates the position of a substring in a main string. $SYNTAX$ hb_At( , , [], [] ) --> nPos $ARGUMENTS$ Substring to search for Main string First position to search in , by default 1 End position to search, by default length $RETURNS$ hb_At() return the starting position of the first occurrence of the substring in the main string $DESCRIPTION$ This function searches the string for the characters in the first string . If the substring is not contained within the second expression, the function will return 0. The third and fourth parameters lets you indicate a starting and end offset to search in. $EXAMPLES$ ? hb_At( "cde", "abcdefgfedcba" ) // --> 3 ? hb_At( "cde", "abcdefgfedcba", 4 ) // --> 0 $STATUS$ R $COMPLIANCE$ This function is sensitive to HB_CLP_STRICT settings during build. and are Harbour extensions and do not exist if HB_CLP_STRICT is defined. In that case, the whole string is searched. $PLATFORMS$ All $FILES$ Library is core $SEEALSO$ hb_RAt() $END$ */ /* $DOC$ $AUTHOR$ Copyright 2000 Luiz Rafael Culik $TEMPLATE$ Function $NAME$ RAt() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Searches for last occurrence a substring of a string. $SYNTAX$ RAt( , ) --> nPos $ARGUMENTS$ Substring to search for Main string $RETURNS$ RAt() return the location of beginning position of last occurrence a substring of a string. $DESCRIPTION$ This function searches for last occurrence a in . If the function is unable to find any occurrence of in , the return value is 0. $EXAMPLES$ ? RAt( "cde", "abcdefgfcdeedcba" ) // --> 9 ? RAt( "cdr", "abcdefgfedcba" ) // --> 0 $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ Library is core $SEEALSO$ At(), SubStr(), Right(), hb_RAt() $END$ */ /* $DOC$ $AUTHOR$ Copyright 2000 Luiz Rafael Culik $TEMPLATE$ Function $NAME$ hb_RAt() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Searches for last occurrence a substring of a string. $SYNTAX$ hb_RAt( , , [], [] ) --> nPos $ARGUMENTS$ Substring to search for Main string First position to search in , by default 1. End position to search, by default length $RETURNS$ hb_RAt() return the location of beginning position of last occurrence a substring of a string. $DESCRIPTION$ This function searches for last occurrence a in . If the function is unable to find any occurrence of in , the return value is 0. 3rd and 4th parameters define inclusive range for 2nd parameter on which operation is performed. If 3rd and 4th parameters is not specified, then hb_RAt() is equal to RAt(). $EXAMPLES$ LOCAL cString := "acdefcdeedcb" LOCAL cSearch := "cde" LOCAL i, y, r LOCAL nLen := Len( cString ) FOR y := 1 TO nLen FOR i := 1 TO nLen IF ( r := hb_RAt( cSearch, cString, y, i ) ) > 0 ? 'hb_RAt( "' + cSearch + '", "' + cString + '",', hb_ntos( y ) + ",", hb_ntos( i ), ") =", ; hb_ntos( r ) ENDIF NEXT NEXT ? hb_RAt( cSearch, "abcdefgfedcba" ) // --> 3 $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ Library is core $SEEALSO$ hb_At(), SubStr(), Right(), RAt() $END$ */ /* $DOC$ $AUTHOR$ Copyright 2000 Luiz Rafael Culik $TEMPLATE$ Function $NAME$ Left() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Extract the leftmost substring of a character expression $SYNTAX$ Left( , ) --> cReturn $ARGUMENTS$ Main character to be parsed Number of bytes to return beginning at the leftmost position $RETURNS$ Substring of evaluation $DESCRIPTION$ This functions returns the leftmost characters of . It is equivalent to the following expression: ``` SubStr( , 1, ) ``` $EXAMPLES$ ? Left( "Hello Harbour", 5 ) // --> "Hello" $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ Library is core $SEEALSO$ SubStr(), Right(), At(), RAt() $END$ */ /* $DOC$ $AUTHOR$ Copyright 2000 Luiz Rafael Culik $TEMPLATE$ Function $NAME$ Right() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Extract the rightmost substring of a character expression $SYNTAX$ Right( , ) --> cReturn $ARGUMENTS$ Character expression to be parsed Number of bytes to return beginning at the rightmost position $RETURNS$ Substring of evaluation $DESCRIPTION$ This functions returns the rightmost characters of . It is equivalent to the following expressions: ``` SubStr( , - ) ``` ``` SubStr( , Len( ) - + 1, ) ``` $EXAMPLES$ ? Right( "Hello Harbour", 5 ) // --> "rbour" $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ Library is core $SEEALSO$ SubStr(), Left(), At(), RAt() $END$ */ /* $DOC$ $AUTHOR$ Copyright 2000 Luiz Rafael Culik $TEMPLATE$ Function $NAME$ SubStr() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Returns a substring from a main string $SYNTAX$ SubStr( , , [] ) --> cReturn $ARGUMENTS$ Character expression to be parsed Start position Number of characters to return $RETURNS$ Substring of evaluation $DESCRIPTION$ This functions returns a character string formed from , starting at the position of and continuing on for a length of characters. If is not specified, the value will be all remaining characters from the position of . The value of may be negative. If it is, the direction of operation is reversed from a default of left-to-right to right-to-left for the number of characters specified in . If the number of characters from to the end of the string is less than the rest are ignored. $EXAMPLES$ ? SubStr( "Hello Harbour", 7, 4 ) // --> "Harb" ? SubStr( "Hello Harbour", -3, 3 ) // --> "our" ? SubStr( "Hello Harbour", 7 ) // --> "Harbour" $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ Library is core $SEEALSO$ Left(), At(), Right() $END$ */ /* $DOC$ $TEMPLATE$ Function $NAME$ Str() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Convert a numeric expression to a character string. $SYNTAX$ Str( , [], [] ) --> cNumber $ARGUMENTS$ is the numeric expression to be converted to a character string. is the length of the character string to return, including decimal digits, decimal point, and sign. is the number of decimal places to return. $RETURNS$ Str() returns formatted as a character string. If the optional length and decimal arguments are not specified, Str() returns the character string according to the following rules: Results of Str() with No Optional Arguments Expression Return Value Length Field Variable Field length plus decimals Expressions/constants Minimum of 10 digits plus decimals Val() Minimum of 3 digits Month()/Day() 3 digits Year() 5 digits RecNo() 7 digits
$DESCRIPTION$ Str() is a numeric conversion function that converts numeric values to character strings. It is commonly used to concatenate numeric values to character strings. Str() has applications displaying numbers, creating codes such as part numbers from numeric values, and creating index keys that combine numeric and character data. Str() is like Transform(), which formats numeric values as character strings using a mask instead of length and decimal specifications. The inverse of Str() is Val(), which converts character numbers to numerics. * If is less than the number of whole number digits in , Str() returns asterisks instead of the number. * If is less than the number of decimal digits required for the decimal portion of the returned string, Harbour rounds the number to the available number of decimal places. * If is specified but is omitted (no decimal places), the return value is rounded to an integer. $EXAMPLES$ ? Str( 10, 6, 2 ) // --> " 10.00" ? Str( -10, 8, 2 ) // --> " -10.00" $STATUS$ R $COMPLIANCE$ C $FILES$ Library is core $SEEALSO$ StrZero(), Transform(), Val() $END$ */ /* $DOC$ $TEMPLATE$ Function $NAME$ StrZero() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Convert a numeric expression to a character string, zero padded. $SYNTAX$ StrZero( , [], [] ) --> cNumber $ARGUMENTS$ is the numeric expression to be converted to a character string. is the length of the character string to return, including decimal digits, decimal point, and sign. is the number of decimal places to return. $RETURNS$ StrZero() returns formatted as a character string. If the optional length and decimal arguments are not specified, StrZero() returns the character string according to the following rules: Results of StrZero() with No Optional Arguments Expression Return Value Length Field Variable Field length plus decimals Expressions/constants Minimum of 10 digits plus decimals Val() Minimum of 3 digits Month()/Day() 3 digits Year() 5 digits RecNo() 7 digits
$DESCRIPTION$ StrZero() is a numeric conversion function that converts numeric values to character strings. It is commonly used to concatenate numeric values to character strings. StrZero() has applications displaying numbers, creating codes such as part numbers from numeric values, and creating index keys that combine numeric and character data. StrZero() is like Transform(), which formats numeric values as character strings using a mask instead of length and decimal specifications. The inverse of StrZero() is Val(), which converts character numbers to numerics. * If is less than the number of whole number digits in , Str() returns asterisks instead of the number. * If is less than the number of decimal digits required for the decimal portion of the returned string, Harbour rounds the number to the available number of decimal places. * If is specified but is omitted (no decimal places), the return value is rounded to an integer. The StrZero() function was part of the CA-Cl*pper samples. $EXAMPLES$ ? StrZero( 10, 6, 2 ) // --> "010.00" ? StrZero( -10, 8, 2 ) // --> "-0010.00" $STATUS$ R $COMPLIANCE$ C $FILES$ Library is core $SEEALSO$ Str() $END$ */ /* $DOC$ $TEMPLATE$ Function $NAME$ hb_ValToStr() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Converts any scalar type to a string. $SYNTAX$ hb_ValToStr( ) --> cString $ARGUMENTS$ is any scalar argument. $RETURNS$ A string representation of using default conversions. $DESCRIPTION$ hb_ValToStr() can be used to convert any scalar value to a string. $EXAMPLES$ Set( _SET_DATEFORMAT, "yyyy-mm-dd" ) ? hb_ValToStr( 4 ) == " 4" ? hb_ValToStr( 4.0 / 2 ) == " 2.00" ? hb_ValToStr( "String" ) == "String" ? hb_ValToStr( 0d20010101 ) == "2001-01-01" ? hb_ValToStr( NIL ) == "NIL" ? hb_ValToStr( .F. ) == ".F." ? hb_ValToStr( .T. ) == ".T." $STATUS$ R $COMPLIANCE$ H $FILES$ Library is core $SEEALSO$ Str() $END$ */ /* $DOC$ $TEMPLATE$ Function $NAME$ Len() $CATEGORY$ API $SUBCATEGORY$ Variable management $ONELINER$ Returns size of a string or size of an array. $SYNTAX$ Len( | ) --> nLength $ARGUMENTS$ is a character string or the array to check. $RETURNS$ The length of the string or the number of elements that contains an array. $DESCRIPTION$ This function returns the string length or the size of an array or the size of a hash table. If it is used with a multidimensional array it returns the size of the first dimension. $EXAMPLES$ LOCAL cName ? Len( "Harbour" ) // --> 7 ? Len( { "One", "Two" } ) // --> 2 cName := "" ACCEPT "Enter your name: " TO cName ? Len( cName ) $STATUS$ R $COMPLIANCE$ C $FILES$ Library is core $SEEALSO$ Empty(), RTrim(), LTrim(), AAdd(), ASize() $END$ */ /* $DOC$ $TEMPLATE$ Function $NAME$ Empty() $CATEGORY$ API $SUBCATEGORY$ Variable management $ONELINER$ Checks if the passed argument is empty. $SYNTAX$ Empty( ) --> lIsEmpty $ARGUMENTS$ is any valid expression. $RETURNS$ A logical value. It is true (.T.) if the passed argument is empty otherwise it is false (.F.). $DESCRIPTION$ This function checks if an expression has empty value and returns a logical indicating whether it the expression is empty or not. $EXAMPLES$ ? Empty( "I'm not empty" ) // --> .F. ? Empty( NIL ) // --> .T. ? Empty( 0 ) // --> .T. ? Empty( .F. ) // --> .T. ? Empty( "" ) // --> .T. ? Empty( " " ) // --> .T. ? Empty( 1 ) // --> .F. ? Empty( .T. ) // --> .F. ? Empty( "smile" ) // --> .F. ? Empty( Date() ) // --> .F. $STATUS$ R $COMPLIANCE$ C $FILES$ Library is core $SEEALSO$ Len() $END$ */ /* $DOC$ $AUTHOR$ Copyright 1999 Jose Lalin $TEMPLATE$ Function $NAME$ Descend() $CATEGORY$ API $SUBCATEGORY$ Conversion $ONELINER$ Inverts an expression of string, logical, date or numeric type. $SYNTAX$ Descend( ) --> xExpInverted $ARGUMENTS$ is any valid expression. $RETURNS$ Inverted value of the same type as passed. $DESCRIPTION$ This function converts an expression in his inverted form. It is useful to build descending indexes. $EXAMPLES$ // FIXME // Seek for Smith in a descending index dbSeek( Descend( "SMITH" ) ) $STATUS$ R $COMPLIANCE$ C $FILES$ Library is core $SEEALSO$ INDEX, SEEK $END$ */ /* $DOC$ $TEMPLATE$ Function $NAME$ Lower() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Universally lowercases a character string expression. $SYNTAX$ Lower( ) --> cLowerString $ARGUMENTS$ Any character expression. $RETURNS$ Lowercased value of $DESCRIPTION$ This function converts any character expression passes as to its lowercased representation. Any non alphabetic character withing will remain unchanged. $EXAMPLES$ ? Lower( "HARBOUR" ) // --> "harbour" ? Lower( "Hello All" ) // --> "hello all" $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ Library is core $SEEALSO$ Upper(), IsLower(), IsUpper() $END$ */ /* $DOC$ $AUTHOR$ Copyright 2000 Luiz Rafael Culik $TEMPLATE$ Function $NAME$ Upper() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Converts a character expression to uppercase format $SYNTAX$ Upper( ) --> cUpperString $ARGUMENTS$ Any character expression. $RETURNS$ Uppercased value of $DESCRIPTION$ This function converts all alpha characters in to upper case values and returns that formatted character expression. $EXAMPLES$ ? Upper( "harbour" ) // --> "HARBOUR" ? Upper( "Harbour" ) // --> "HARBOUR" $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ Library is core $SEEALSO$ Lower(), IsUpper(), IsLower() $END$ */ /* $DOC$ $AUTHOR$ Copyright 2000 Luiz Rafael Culik $TEMPLATE$ Function $NAME$ Chr() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Converts an ASCII value to it character value $SYNTAX$ Chr( ) --> cReturn $ARGUMENTS$ Any ASCII character code. $RETURNS$ Character expression of that ASCII value $DESCRIPTION$ This function returns the ASCII character code for . The number expressed must be an integer value within the range of 0 to 255 inclusive. The Chr() function will send the character returned to whatever device is presently set. The Chr() function may be used for printing special codes as well as normal and graphics character codes. $EXAMPLES$ ? Chr( 32 ) ? Chr( 65 ) $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ Library is core $SEEALSO$ Asc(), Inkey() $END$ */ /* $DOC$ $AUTHOR$ Copyright 2000 Luiz Rafael Culik $TEMPLATE$ Function $NAME$ Asc() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Returns the ASCII value of a character $SYNTAX$ Asc( ) --> nAscNumber $ARGUMENTS$ Any character expression $RETURNS$ ASCII value $DESCRIPTION$ This function return the ASCII value of the leftmost character of any character expression passed as . $EXAMPLES$ ? Asc( "A" ) ? Asc( "ą" ) $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ Library is core $SEEALSO$ Chr() $END$ */ /* $DOC$ $AUTHOR$ Copyright 2000 Luiz Rafael Culik $TEMPLATE$ Function $NAME$ PadC() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Centers an expression for a given width $SYNTAX$ PadC( , , ) --> cString $ARGUMENTS$ A Number, Character or Date value to pad Width of output string Character to fill in the string $RETURNS$ The Center string of $DESCRIPTION$ This function takes an date, number or character expression and attempt to center the expression within a string of a given width expressed as . The default character used to pad either side of will be a blank space. This character may be explicitly specified the value of . If the length of is longer then , this function will truncate the string from the leftmost side to the length of . $EXAMPLES$ ? PadC( "Harbour", 20 ) ? PadC( 34.5142, 20 ) ? PadC( Date(), 35 ) $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ Library is core $SEEALSO$ AllTrim(), PadL(), PadR() $END$ */ /* $DOC$ $AUTHOR$ Copyright 2000 Luiz Rafael Culik $TEMPLATE$ Function $NAME$ PadL() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Left-justifies an expression for a given width $SYNTAX$ PadL( , , ) --> cString $ARGUMENTS$ An number, Character or date to pad Width of output string Character to fill in the string $RETURNS$ The left-justifies string of $DESCRIPTION$ This function takes an date, number, or character expression and attempt to left-justify it within a string of a given width expressed as . The default character used to pad left side of will be an blank space; however, this character may be explicitly specified the value of . If the length of is longer then , this function will truncate the string from the leftmost side to the length of . $EXAMPLES$ ? PadL( "Harbour", 20 ) ? PadL( 34.5142, 20 ) ? PadL( Date(), 35 ) $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ Library is core $SEEALSO$ AllTrim(), PadC(), PadR() $END$ */ /* $DOC$ $AUTHOR$ Copyright 2000 Luiz Rafael Culik $TEMPLATE$ Function $NAME$ PadR() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Right-justifies an expression for a given width $SYNTAX$ PadR( , , ) --> cString $ARGUMENTS$ A Number, Character or Date value to pad Width of output string Character to fill in the string $RETURNS$ The right-justifies string of $DESCRIPTION$ This function takes an date, number, or character expression and attempt to right-justify it within a string of a given width expressed as . The default character used to pad right side of will be an blank space; however, this character may be explicitly specified the value of . If the length of is longer then , this function will truncate the string from the leftmost side to the length of . $EXAMPLES$ ? PadR( "Harbour", 20 ) ? PadR( 34.5142, 20 ) ? PadR( Date(), 35 ) $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ Library is core $SEEALSO$ AllTrim(), PadC(), PadL() $END$ */ /* $DOC$ $AUTHOR$ Copyright 2000 Luiz Rafael Culik $TEMPLATE$ Function $NAME$ AllTrim() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Removes leading and trailing blank spaces from a string $SYNTAX$ AllTrim( ) --> cExpression $ARGUMENTS$ Any character string $RETURNS$ An string will all blank spaces removed from $DESCRIPTION$ This function returns the string will all leading and trailing blank spaces removed. $EXAMPLES$ ? AllTrim( "Hello Harbour" ) ? AllTrim( " Hello Harbour" ) ? AllTrim( "Hello Harbour " ) ? AllTrim( " hello Harbour " ) $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ Library is core $SEEALSO$ LTrim(), RTrim(), Trim() $END$ */ /* $DOC$ $AUTHOR$ Copyright 2000 Luiz Rafael Culik $TEMPLATE$ Function $NAME$ RTrim() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Remove trailing spaces from a string. $SYNTAX$ RTrim( ) --> cString $ARGUMENTS$ Any character expression $RETURNS$ A formatted string with out any blank spaced. $DESCRIPTION$ This function returns the value of with any trailing blank removed. This function is identical to RTrim() and the opposite of LTrim(). Together with LTrim(), this function equated to the AllTrim() function. $EXAMPLES$ ? RTrim( "Hello" ) // --> "Hello" ? RTrim( "" ) // --> "" ? RTrim( "UA " ) // --> "UA" ? RTrim( " UA" ) // --> " UA" $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ Library is core $SEEALSO$ AllTrim(), LTrim(), Trim() $END$ */ /* $DOC$ $AUTHOR$ Copyright 2000 Luiz Rafael Culik $TEMPLATE$ Function $NAME$ Trim() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Remove trailing spaces from a string. $SYNTAX$ Trim( ) --> cString $ARGUMENTS$ Any character expression $RETURNS$ A formatted string with out any blank spaced. $DESCRIPTION$ This function returns the value of with any trailing blank removed. This function is identical to RTrim() and the opposite of LTrim(). Together with LTrim(), this function equated to the AllTrim() function. $EXAMPLES$ ? Trim( "Hello" ) // --> "Hello" ? Trim( "" ) // --> "" ? Trim( "UA " ) // --> "UA" ? Trim( " UA" ) // --> " UA" $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ Library is core $SEEALSO$ RTrim(), LTrim(), AllTrim() $END$ */ /* $DOC$ $AUTHOR$ Copyright 2000 Luiz Rafael Culik $TEMPLATE$ Function $NAME$ Replicate() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Repeats a single character expression $SYNTAX$ Replicate( , ) --> cReplicateString $ARGUMENTS$ Character string to be replicated Number of times to replicate $RETURNS$ A character expression contain the fill character. $DESCRIPTION$ This function returns a string composed of repetitions of . The length of the character string returned by this function is limited to the memory available. A value of 0 for will return a null string. $EXAMPLES$ ? Replicate( "a", 10 ) // --> "aaaaaaaaaa" ? Replicate( "b", 100000 ) $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ Library is core $SEEALSO$ Space(), PadC(), PadL(), PadR() $END$ */ /* $DOC$ $AUTHOR$ Copyright 2000 Luiz Rafael Culik $TEMPLATE$ Function $NAME$ Space() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Returns a string of blank spaces $SYNTAX$ Space( ) --> cString $ARGUMENTS$ The length of the string $RETURNS$ A string containing blank spaces $DESCRIPTION$ This function returns a string consisting of blank spaces. If the value of is 0, a null string ("") will be returned. This function is useful to declare the length of a character memory variable. $EXAMPLES$ #include "dbstruct.ch" PROCEDURE Main() LOCAL cBigString LOCAL cFirst LOCAL cString := Space( 20 ) // Create an character memory variable // with length 20 ? Len( cString ) // --> 20 cBigString := Space( 100000 ) // Create a memory variable with 100000 // blank spaces ? Len( cBigString ) USE test NEW cFirst := MakeEmpty( 1 ) ? Len( cFirst ) RETURN STATIC FUNCTION MakeEmpty( xField ) LOCAL nRecord LOCAL xRetValue IF ! Alias() == "" nRecord := RecNo() dbGoto( 0 ) IF HB_ISSTRING( xField ) xField := AScan( dbStruct(), {| aFields | aFields[ DBS_NAME ] == Upper( xField ) } ) ELSE hb_default( @xField, 0 ) IF xField < 1 .OR. xField > FCount() xField := 0 ENDIF ENDIF IF xField != 0 xRetValue := FieldGet( xField ) ENDIF dbGoto( nRecord ) ENDIF RETURN xRetValue $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ Library is core $SEEALSO$ PadC(), PadL(), PadR(), Replicate() $END$ */ /* $DOC$ $AUTHOR$ Copyright 2000 Luiz Rafael Culik $TEMPLATE$ Function $NAME$ Val() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Convert a number from a character type to numeric $SYNTAX$ Val( ) --> nNumber $ARGUMENTS$ Any valid character string of numbers. $RETURNS$ The numeric value of $DESCRIPTION$ This function converts any number previously defined as an character expression into a numeric expression. This functions is the oppose of the Str() function. $EXAMPLES$ ? Val( "31421" ) // --> 31421 $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ Library is core $SEEALSO$ Str(), Transform() $END$ */ /* $DOC$ $AUTHOR$ 2017 Pete D. $TEMPLATE$ Function $NAME$ hb_ntoc() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Converts a numeric value to string $SYNTAX$ hb_ntoc( , [] ) --> cValue $ARGUMENTS$ is the numeric value to convert. decimal digits to retain (if any). $RETURNS$ A string representation of $DESCRIPTION$ This function converts the given numeric value to a string value, while (trying to) keep all or at least `nDecs` significant digits in double numbers, unless `` is lesser than actual decimal digits of , in which case the result will be rounded. SET DECIMAL setting has no effect on the returned value (ignored), which means that, unlike f.e. Str(), all non-significant digits (e.g.: trailing decimal zeros) will be removed. Likewise, all leading empty spaces will be trimmed. Returns stringified value of ``, preserving all (or at least ``) significant digits, if any. Interestingly, if `` is NIL or not numeric, this function will return a null string and, unlike Str(), will NOT cause an RTE. NOTE: new function, available after 2016-06-20 21:59 UTC+0200 commit, (it is not available in earlier versions). $EXAMPLES$ LOCAL n := ( 5 / 2 ) + 0.009 ? hb_ntoc( n ) // --> 2.509 ? Str( n ) // --> 2.51 ? hb_ntoc( n, 2 ) // --> 2.51 ? Str( n, 5, 2 ) // --> 2.51 ? hb_ntos( n ) // --> 2.51 ? "--- decimals set to 7 ----" SET DECIMALS TO 7 ? Str( n ) // --> 2.51 ? hb_ntoc( n ) // --> 2.509 ? Str( n, 10, 7 ) // --> 2.5090000 ? hb_ntoc( n, 7 ) // --> 2.509 ? "--- pass non numeric / NIL value ----" ? Str( "42" ) // --> RTE $STATUS$ R $COMPLIANCE$ H $FILES$ Library is core $SEEALSO$ Str(), hb_ntos() $END$ */ /* $DOC$ $AUTHOR$ 2017 Pete D. $TEMPLATE$ Function $NAME$ hb_ntos() $CATEGORY$ API $SUBCATEGORY$ Strings $ONELINER$ Converts a numeric value to string. $SYNTAX$ hb_ntos( ) --> cValue $ARGUMENTS$ is the numeric value to convert. $RETURNS$ A string representation of $DESCRIPTION$ This function converts any numeric value to a string, trimming all the leading empty spaces. If `` is NIL or not numeric, this function will return a null string. Essentially, `hb_ntos()` function is equivalent to `LTrim( Str( ) )` but quite simpler and faster. $EXAMPLES$ LOCAL n := ( 5 / 2 ) + 0.009 ? Str( n ) // --> 2.51 ? hb_ntos( n ) // --> 2.51 $STATUS$ R $COMPLIANCE$ H $FILES$ Library is core $SEEALSO$ Str(), hb_ntoc(), LTrim() $END$ */