diff --git "a/knowledge.json" "b/knowledge.json" new file mode 100644--- /dev/null +++ "b/knowledge.json" @@ -0,0 +1 @@ +[{"src":"harbour/core · doc/en/string.txt","url":"https://github.com/harbour/core/blob/master/doc/en/string.txt","title":"IsAlpha()()","text":"IsAlpha() - Checks if leftmost character in a string is an alphabetic character\nSintaxis: IsAlpha( ) --> lAlpha\nThis 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.).\nEjemplo: ? IsAlpha( \"hello\" ) ? IsAlpha( \"12345\" )"},{"src":"harbour/core · doc/en/string.txt","url":"https://github.com/harbour/core/blob/master/doc/en/string.txt","title":"IsDigit()()","text":"IsDigit() - Checks if leftmost character is a digit character\nSintaxis: IsDigit( ) --> lDigit\nThis 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.).\nEjemplo: ? IsDigit( \"12345\" ) // --> .T. ? IsDigit( \"abcde\" ) // --> .F."},{"src":"harbour/core · doc/en/string.txt","url":"https://github.com/harbour/core/blob/master/doc/en/string.txt","title":"IsUpper()()","text":"IsUpper() - Checks if leftmost character is an uppercased letter.\nSintaxis: IsUpper( ) --> lUpper\nThis 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.).\nEjemplo: ? IsUpper( \"Abcde\" ) // --> .T. ? IsUpper( \"abcde\" ) // --> .F."},{"src":"harbour/core · doc/en/string.txt","url":"https://github.com/harbour/core/blob/master/doc/en/string.txt","title":"IsLower()()","text":"IsLower() - Checks if leftmost character is an lowercased letter.\nSintaxis: IsLower( ) --> lLower\nThis 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.).\nEjemplo: ? IsLower( \"ABCde\" ) // --> .F. ? IsLower( \"aBCde\" ) // --> .T."},{"src":"harbour/core · doc/en/string.txt","url":"https://github.com/harbour/core/blob/master/doc/en/string.txt","title":"LTrim()()","text":"LTrim() - Removes leading spaces from a string\nSintaxis: LTrim( ) --> cReturn\nThis function trims the leading space blank\nEjemplo: ? \"|\" + LTrim( \"Hello \" ) + \"|\""},{"src":"harbour/core · doc/en/string.txt","url":"https://github.com/harbour/core/blob/master/doc/en/string.txt","title":"At()()","text":"At() - Locates the position of a substring in a main string.\nSintaxis: At( , ) --> nPos\nThis 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.\nEjemplo: ? At( \"cde\", \"abcdefgfedcba\" ) // --> 3"},{"src":"harbour/core · doc/en/string.txt","url":"https://github.com/harbour/core/blob/master/doc/en/string.txt","title":"hb_At()()","text":"hb_At() - Locates the position of a substring in a main string.\nSintaxis: hb_At( , , [], [] ) --> nPos\nThis 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.\nEjemplo: ? hb_At( \"cde\", \"abcdefgfedcba\" ) // --> 3 ? hb_At( \"cde\", \"abcdefgfedcba\", 4 ) // --> 0"},{"src":"harbour/core · doc/en/string.txt","url":"https://github.com/harbour/core/blob/master/doc/en/string.txt","title":"RAt()()","text":"RAt() - Searches for last occurrence a substring of a string.\nSintaxis: RAt( , ) --> nPos\nThis function searches for last occurrence a in . If the function is unable to find any occurrence of in , the return value is 0.\nEjemplo: ? RAt( \"cde\", \"abcdefgfcdeedcba\" ) // --> 9 ? RAt( \"cdr\", \"abcdefgfedcba\" ) // --> 0"},{"src":"harbour/core · doc/en/string.txt","url":"https://github.com/harbour/core/blob/master/doc/en/string.txt","title":"hb_RAt()()","text":"hb_RAt() - Searches for last occurrence a substring of a string.\nSintaxis: hb_RAt( , , [], [] ) --> nPos\nThis 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().\nEjemplo: 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 ) )"},{"src":"harbour/core · doc/en/string.txt","url":"https://github.com/harbour/core/blob/master/doc/en/string.txt","title":"Left()()","text":"Left() - Extract the leftmost substring of a character expression\nSintaxis: Left( , ) --> cReturn\nThis functions returns the leftmost characters of . It is equivalent to the following expression: ``` SubStr( , 1, ) ```\nEjemplo: ? Left( \"Hello Harbour\", 5 ) // --> \"Hello\""},{"src":"harbour/core · doc/en/arrayshb.txt","url":"https://github.com/harbour/core/blob/master/doc/en/arrayshb.txt","title":"Array()()","text":"Array() - Create an uninitialized array of specified length\nSintaxis: Array( [, ...] ) --> aArray\nThis function returns an uninitialized array with the length of . Nested arrays are uninitialized within the same array pointer reference if additional parameters are specified. Establishing a memory variable with the same name as the array may destroy the original array and release the entire contents of the array. This depends, of course, on the data storage type of either the array or the variable with \nEjemplo: LOCAL aArray := Array( 10 ), tmp FOR tmp := 1 TO Len( aArray ) aArray[ tmp ] := Array( tmp ) NEXT ? hb_ValToExp( aArray ) // --> { { NIL }, { NIL, NIL }, ... }"},{"src":"harbour/core · doc/en/arrayshb.txt","url":"https://github.com/harbour/core/blob/master/doc/en/arrayshb.txt","title":"AAdd()()","text":"AAdd() - Dynamically add an element to an array\nSintaxis: AAdd( , [] ) --> xValue\nThis function dynamically increases the length of the by adding one new element to the end of the array and optionally stores the value to that newly created element. may be of an data type, including an array reference pointer, which in turn may be stored to an array's subscript position.\nEjemplo: LOCAL aArray := {}, tmp AAdd( aArray, 10 ) FOR tmp := 1 TO 10 AAdd( aArray, tmp ) NEXT ? hb_ValToExp( aArray ) // --> { 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }"},{"src":"harbour/core · doc/en/arrayshb.txt","url":"https://github.com/harbour/core/blob/master/doc/en/arrayshb.txt","title":"ASize()()","text":"ASize() - Adjust the size of an array\nSintaxis: ASize( , ) --> aArray\nThis function will dynamically increase or decrease the size of by adjusting the length of the array to subscript positions. If the length of the array is shortened, the redundant elements are removed from the end of array. If the length of the array is lengthened the new elements are added to the end of array and they are assigned a NIL value.\nEjemplo: LOCAL aArray := { 1 } ? hb_ValToExp( aArray ) // --> { 1 } ASize( aArray, 3 ) ? hb_ValToExp( aArray ) // --> { 1, NIL, NIL } ASize( aArray, 1 ) ? hb_ValToExp( aArray ) // --> { 1 }"},{"src":"harbour/core · doc/en/arrayshb.txt","url":"https://github.com/harbour/core/blob/master/doc/en/arrayshb.txt","title":"ATail()()","text":"ATail() - Returns the last element of an array\nSintaxis: ATail( ) --> xValue\nThis function return the value of the last element in the array named . Same as `xValue := aArray[ Len( aArray ) ]`\nEjemplo: LOCAL aArray := { \"Harbour\", \"is\", \"Supreme\", \"Power\" } ? ATail( aArray ) // --> \"Power\""},{"src":"harbour/core · doc/en/arrayshb.txt","url":"https://github.com/harbour/core/blob/master/doc/en/arrayshb.txt","title":"AIns()()","text":"AIns() - Insert a NIL value at an array subscript position.\nSintaxis: AIns( , ) --> aArray\nThis function inserts a NIL value in the array named at the th position. All array elements starting with the th position will be shifted down one subscript position in the array list and the last item in the array will be removed completely. In other words, if an array element were to be inserted at the fifth subscript position, the element previously in the fifth position would now be located a\nEjemplo: LOCAL aArray := { \"Harbour\", \"is\", \"Power!\", \"!!!\" } AIns( aArray, 4 ) ? hb_ValToExp( aArray )"},{"src":"harbour/core · doc/en/arrayshb.txt","url":"https://github.com/harbour/core/blob/master/doc/en/arrayshb.txt","title":"hb_AIns()()","text":"hb_AIns() - Inserts a value at an array subscript position and optionally increases the length of array.\nSintaxis: hb_AIns( , [], [], [] ) --> aArray\nThis function inserts in the position of the array, moving all the items one position down in the array list. If is .T., a new element will be added at the end of array, making room for the previous last element, which means the length of array will be increased by 1. If is .F. (or is not passed) the function behaves like AIns(), that is, the size of won't change and t\nEjemplo: LOCAL aArray := { \"Harbour\", \"Power!\" } hb_AIns( aArray, 2, \"is\", .F. ) ? hb_ValToExp( aArray ) // --> { \"Harbour\", \"is\" } hb_AIns( aArray, 2, \"is\", .T. ) ? hb_ValToExp( aArray ) /"},{"src":"harbour/core · doc/en/arrayshb.txt","url":"https://github.com/harbour/core/blob/master/doc/en/arrayshb.txt","title":"ADel()()","text":"ADel() - Delete an element from an array.\nSintaxis: ADel( , ) --> aArray\nThis function deletes the element found at subscript position in the array . All elements in the array below the given subscript position will move up one position in the array. In other words, what was formerly the sixth subscript position will become the fifth subscript position. The length of the array will remain unchanged, as the last element in the array will become a NIL\nEjemplo: LOCAL aArray := { \"Harbour\", \"is\", \"Power\" } ADel( aArray, 2 ) ? hb_ValToExp( aArray ) // --> { \"Harbour\", \"Power\", NIL }"},{"src":"harbour/core · doc/en/arrayshb.txt","url":"https://github.com/harbour/core/blob/master/doc/en/arrayshb.txt","title":"hb_ADel()()","text":"hb_ADel() - Delete an element from an array.\nSintaxis: hb_ADel( , [], [] ) --> aArray\nThis function deletes the element value (not the element itself!) stored in position and shifts all the following values, one position up. If is .T., then the last element is removed and the size of the array is decreased by one, otherwise the length of the array remains unchanged and a NIL value will be stored in the last element, just like in ADel().\nEjemplo: LOCAL aArray := { \"Harbour\", \"is\", \"Power\" } hb_ADel( aArray, 2 ) ? hb_ValToExp( aArray ) // --> { \"Harbour\", \"Power\", NIL } - length unchanged hb_ADel( aArray, 2, .T. ) ? hb_ValTo"},{"src":"harbour/core · doc/en/datetime.txt","url":"https://github.com/harbour/core/blob/master/doc/en/datetime.txt","title":"CDoW()()","text":"CDoW() - Converts a date to the day of week\nSintaxis: CDoW( ) --> cDay\nThis function returns a character string of the day of the week, from a date expression passed to it. If a NULL date is passed to the function, the value of the function will be a NULL byte.\nEjemplo: ? CDoW( Date() ) IF CDoW( Date() + 10 ) == \"Sunday\" ? \"This is a sunny day.\" ENDIF"},{"src":"harbour/core · doc/en/datetime.txt","url":"https://github.com/harbour/core/blob/master/doc/en/datetime.txt","title":"CMonth()()","text":"CMonth() - Return the name of the month.\nSintaxis: CMonth( ) --> cMonth\nThis function returns the name of the month (January, February, etc.) from a date expression passed to it. If a NULL date is passed to the function, the value of the function will be a NULL byte.\nEjemplo: ? CMonth( Date() ) IF CMonth( Date() + 10 ) == \"March\" ? \"Have you done your system backup?\" ENDIF"},{"src":"harbour/core · doc/en/datetime.txt","url":"https://github.com/harbour/core/blob/master/doc/en/datetime.txt","title":"Date()()","text":"Date() - Return the Current OS Date\nSintaxis: Date() --> dCurDate\nThis function returns the current system date.\nEjemplo: ? Date() ? \"Today is\", hb_ntos( Day( Date() ) ), \"of\", CMonth( Date() ), \"of\", StrZero( Year( Date() ), 4 )"},{"src":"harbour/core · doc/en/datetime.txt","url":"https://github.com/harbour/core/blob/master/doc/en/datetime.txt","title":"CToD()()","text":"CToD() - Converts a character string to a date expression\nSintaxis: CToD( ) --> dDate\nThis function converts a date that has been entered as a character expression to a date expression. The character expression will be in the form `MM/DD/YY` (based on the default value in `SET DATE`) or in the appropriate format specified by the `SET DATE TO` command. If an improper character string is passed to the function, an empty date value will be returned.\nEjemplo: Set( _SET_DATEFORMAT, \"yyyy-mm-dd\" ) ? CToD( \"2000-12-21\" )"},{"src":"harbour/core · doc/en/datetime.txt","url":"https://github.com/harbour/core/blob/master/doc/en/datetime.txt","title":"Day()()","text":"Day() - Return the numeric day of the month.\nSintaxis: Day( ) --> nMonth\nThis function returns the numeric value of the day of month from a date.\nEjemplo: ? Day( Date() ) ? Day( Date() + 6325 )"},{"src":"harbour/core · doc/en/datetime.txt","url":"https://github.com/harbour/core/blob/master/doc/en/datetime.txt","title":"Days()()","text":"Days() - Convert elapsed seconds into days\nSintaxis: Days( ) --> nDay\nThis function converts seconds to the equivalent number of days; 86399 seconds represents one day, 0 seconds being midnight.\nEjemplo: ? Days( 2434234 ) ? Days( 63251 )"},{"src":"harbour/core · doc/en/math.txt","url":"https://github.com/harbour/core/blob/master/doc/en/math.txt","title":"Abs()()","text":"Abs() - Return the absolute value of a number.\nSintaxis: Abs( ) --> nAbsNumber\nThis function yields the absolute value of the numeric value or expression .\nEjemplo: LOCAL nNumber := 50 LOCAL nNumber1 := 27 ? nNumber - nNumber1 ? nNumber1 - nNumber ? Abs( nNumber - nNumber1 ) ? Abs( nNumber1 - nNumber ) ? Abs( -1 * 345 )"},{"src":"harbour/core · doc/en/math.txt","url":"https://github.com/harbour/core/blob/master/doc/en/math.txt","title":"Exp()()","text":"Exp() - Calculates the value of e raised to the passed power.\nSintaxis: Exp( ) --> nValue\nThis function returns the value of e raised to the power of . It is the inverse of Log().\nEjemplo: ? Exp( 45 )"},{"src":"harbour/core · doc/en/math.txt","url":"https://github.com/harbour/core/blob/master/doc/en/math.txt","title":"Int()()","text":"Int() - Return the integer port of a numeric value.\nSintaxis: Int( ) --> nIntNumber\nThis function converts a numeric expression to an integer. All decimal digits are truncated. This function does not round a value upward or downward; it merely truncates a number at the decimal point.\nEjemplo: Set( _SET_DECIMALS, 5 ) ? Int( 632512.62541 ) ? Int( 845414111.91440 )"},{"src":"harbour/core · doc/en/math.txt","url":"https://github.com/harbour/core/blob/master/doc/en/math.txt","title":"Log()()","text":"Log() - Returns the natural logarithm of a number.\nSintaxis: Log( ) --> nLog\nThis function returns the natural logarithm of the number . If is 0 or less than 0, a numeric overflow occurs, which is depicted on the display device as a series of asterisks. This function is the inverse of Exp().\nEjemplo: ? Log( 632512 )"},{"src":"harbour/core · doc/en/math.txt","url":"https://github.com/harbour/core/blob/master/doc/en/math.txt","title":"Max()()","text":"Max() - Returns the maximum of two numbers or dates.\nSintaxis: Max( , ) --> xMax\nThis function returns the larger of the two passed expressions. If and are numeric data types, the value returned by this function will be a numeric data type as well and will be the larger of the two numbers passed to it. If and are date data types, the return value will be a date data type as well. It will be the later of the two dates passed to it.\nEjemplo: ? Max( 214514214, 6251242142 ) ? Max( 0d20001111, 0d20140621 )"},{"src":"harbour/core · doc/en/file.txt","url":"https://github.com/harbour/core/blob/master/doc/en/file.txt","title":"FOpen()()","text":"FOpen() - Open a file.\nSintaxis: FOpen( , [] ) --> nHandle\nThis function opens a file expressed as and returns a file handle to be used with other low-level file functions. The value of represents the status of the file to be opened; the default value is 0. The file open modes are as follows: nMode Meaning FO_READ Read only FO_WRITE Write only FO_READWRITE Read/write FO_EXCLUSIVE Exclusive read only FO_DENYWRITE Prevent others from writing FO_DENYREAD\nEjemplo: #include \"fileio.ch\" IF ( nH := FOpen( \"test.txt\", FO_READWRITE + FO_DENYNONE ) ) == F_ERROR ? \"File can't be opened\" ENDIF"},{"src":"harbour/core · doc/en/file.txt","url":"https://github.com/harbour/core/blob/master/doc/en/file.txt","title":"FCreate()()","text":"FCreate() - Creates a file.\nSintaxis: FCreate( , [] ) --> nHandle\nThis function creates a new file with a file name of . The default value of is 0 and is used to set the attribute byte for the file being created by this function. The return value will be a file handle that is associated with the new file. This number will be between zero to 65535, inclusive. If an error occurs, the return value of this function will be F_ERROR. If the file already exists\nEjemplo: #include \"fileio.ch\" IF ( nh := FCreate( \"test.txt\" ) ) == F_ERROR ? \"Cannot create file\" ENDIF"},{"src":"harbour/core · doc/en/file.txt","url":"https://github.com/harbour/core/blob/master/doc/en/file.txt","title":"FRead()()","text":"FRead() - Reads a specified number of bytes from a file.\nSintaxis: FRead( , @, ) --> nBytes\nThis function reads the characters from a file whose file handle is into a character memory variable expressed as . The function returns the number of bytes successfully read into . The value of is obtained from either a call to the FOpen() or the FCreate() function. The expression is passed by reference and must be defined before this function is called. It also must b\nEjemplo: #include \"fileio.ch\" cBuffer := Space( 500 ) IF ( nH := FOpen( \"test.txt\" ) ) == F_ERROR FRead( nH, @cBuffer, 500 ) ? cbuffer ENDIF FClose( nH )"},{"src":"harbour/core · doc/en/file.txt","url":"https://github.com/harbour/core/blob/master/doc/en/file.txt","title":"FWrite()()","text":"FWrite() - Writes characters to a file.\nSintaxis: FWrite( , , [] ) --> nBytesWritten\nThis function writes the contents of to the file designated by its file handle . If used, is the number of bytes in to write. The returned value is the number of bytes successfully written to the file. If the returned value is 0, an error has occurred (unless this is intended). A successful write occurs when the number returned by FWrite() is equal to either `Len( cBuffer )` or <\nEjemplo: nHandle := FCreate( \"test.txt\" ) FOR x := 1 TO 10 FWrite( nHandle, hb_ntos( x ) ) NEXT FClose( nHandle )"},{"src":"harbour/core · doc/en/file.txt","url":"https://github.com/harbour/core/blob/master/doc/en/file.txt","title":"FError()()","text":"FError() - Reports the error status of low-level file functions\nSintaxis: FError() --> nErrorCode\nAfter every low-level file function, this function will return a value that provides additional information on the status of the last low-level file function's performance. If the FError() function returns a 0, no error was detected. Below is a table of possibles values returned by the FError() function.\nEjemplo: IF ( nHandle := FCreate( \"test.txt\" ) ) == F_ERROR ? \"Cannot create file, OS error\", FError() ENDIF"},{"src":"harbour/core · doc/en/file.txt","url":"https://github.com/harbour/core/blob/master/doc/en/file.txt","title":"FClose()()","text":"FClose() - Closes an open file\nSintaxis: FClose( ) --> lSuccess\nThis function closes an open file with a file handle of and writes the associated buffers to the disk. The value is derived from the FCreate() or FOpen() function.\nEjemplo: #include \"fileio.ch\" nHandle := FOpen( \"test.txt\" ) ? FSeek( nHandle, 0, FS_END ) FClose( nHandle )"},{"src":"harbour/core · doc/en/hashfunc.txt","url":"https://github.com/harbour/core/blob/master/doc/en/hashfunc.txt","title":"hb_Hash()()","text":"hb_Hash() - Returns a hash table\nSintaxis: hb_Hash( [ , ], [ , ], ... ) -> hTable\n$EXAMPLES$\nEjemplo: $STATUS$ R"},{"src":"harbour/core · doc/en/hashfunc.txt","url":"https://github.com/harbour/core/blob/master/doc/en/hashfunc.txt","title":"hb_HHasKey()()","text":"hb_HHasKey() - Determines whether a hash table has an entry with a give key\nSintaxis: hb_HHasKey( , ) -> lExists\n$EXAMPLES$\nEjemplo: $STATUS$ R"},{"src":"harbour/core · doc/en/hashfunc.txt","url":"https://github.com/harbour/core/blob/master/doc/en/hashfunc.txt","title":"hb_HPos()()","text":"hb_HPos() - Locates the index of a key within a hash table\nSintaxis: hb_HPos( , ) -> nPosition\n$EXAMPLES$\nEjemplo: $STATUS$ R"},{"src":"harbour/core · doc/en/hashfunc.txt","url":"https://github.com/harbour/core/blob/master/doc/en/hashfunc.txt","title":"hb_HGet()()","text":"hb_HGet() - Returns a hash value\nSintaxis: hb_HGet( , ) -> \n$EXAMPLES$\nEjemplo: $STATUS$ R"},{"src":"harbour/core · doc/en/objfunc.txt","url":"https://github.com/harbour/core/blob/master/doc/en/objfunc.txt","title":"__objHasData()()","text":"__objHasData() - Determine whether a symbol exist in object as VAR\nSintaxis: __objHasData( , ) --> lExist\n__objHasData() is a low-level class support function that let you find out if a symbol is an instance variable in a given object.\nEjemplo: LOCAL oB := TBrowseNew( 0, 0, 24, 79 ) ? __objHasData( oB, \"nLeft\" ) // --> .T. ? __objHasData( oB, \"lBugFree\" ) // --> .F. ? __objHasData( oB, \"Left\" ) // --> .F. since this is a "},{"src":"harbour/core · doc/en/objfunc.txt","url":"https://github.com/harbour/core/blob/master/doc/en/objfunc.txt","title":"__objHasMethod()()","text":"__objHasMethod() - Determine whether a symbol exist in object as METHOD\nSintaxis: __objHasMethod( , ) --> lExist\n__objHasMethod() is a low-level class support function that let you find out if a symbol is a class function in a given object.\nEjemplo: LOCAL oB := TBrowseNew( 0, 0, 24, 79 ) ? __objHasMethod( oB, \"nLeft\" ) // --> .F. since this is a VAR ? __objHasMethod( oB, \"FixBugs\" ) // --> .F. ? __objHasMethod( oB, \"Left\" ) //"},{"src":"harbour/core · doc/en/objfunc.txt","url":"https://github.com/harbour/core/blob/master/doc/en/objfunc.txt","title":"__objGetMsgList()()","text":"__objGetMsgList() - Return names of all VAR or METHOD for a given object\nSintaxis: __objGetMsgList( , [], [nClassType] ) --> aNames\n__objGetMsgList() is a low-level class support function that let you find all instance variable or method names for a given object. If specified, the following table shows the values for that allow you to distinguish between VAR and CLASS VAR:
hboo.ch Meaning HB_MSGLISTALL All types HB_MSGLISTCLASS CLASS VAR only HB_MSGLISTPURE VAR only
VAR are instance variable usable within each object\nEjemplo: #include \"hboo.ch\" // show information about TBrowse class LOCAL oB := TBrowseNew( 0, 0, 24, 79 ), tmp FOR EACH tmp IN __objGetMsgList( oB, .T. ) ? \"VAR name:\", tmp NEXT FOR EACH t"},{"src":"harbour/core · doc/en/objfunc.txt","url":"https://github.com/harbour/core/blob/master/doc/en/objfunc.txt","title":"__objGetMethodList()()","text":"__objGetMethodList() - Return names of all METHOD for a given object\nSintaxis: __objGetMethodList( ) --> aMethodNames\n__objGetMethodList() is a low-level class support function that let you find all class functions names for a given object. It is equivalent to `__objGetMsgList( oObject, .F. )`.\nEjemplo: // show information about TBrowse class LOCAL oB := TBrowseNew( 0, 0, 24, 79 ), tmp FOR EACH tmp IN __objGetMethodList( oB ) ? \"METHOD name:\", tmp NEXT"},{"src":"harbour/core · doc/en/objfunc.txt","url":"https://github.com/harbour/core/blob/master/doc/en/objfunc.txt","title":"__objGetValueList()()","text":"__objGetValueList() - Return an array of VAR names and values for a given object\nSintaxis: __objGetValueList( , [] ) --> aData\n__objGetValueList() is a low-level class support function that return an array with VAR names and value, each array element is a pair of: `aData[ i ][ HB_OO_DATA_SYMBOL ]` contain the symbol name `aData[ i ][ HB_OO_DATA_VALUE ]` contain the value of VAR\nEjemplo: // FIXME // show information about TBrowse class #include \"hboo.ch\" LOCAL oB := TBrowseNew( 0, 0, 24, 79 ), tmp FOR EACH tmp IN __objGetValueList( oB ) ? ; \"VAR name:\", tmp[ HB_OO_"},{"src":"harbour/core · doc/en/macro.txt","url":"https://github.com/harbour/core/blob/master/doc/en/macro.txt","title":"hb_SetMacro()()","text":"hb_SetMacro() - Enable/disable the macro compiler runtime features.\nSintaxis: hb_SetMacro( , [] ) --> lOldSetting\nThis function enables or disables some features of the macro compiler. The Harbour is extending the macro features compared to an original set available in CA-Cl*pper. Enabling/disabling some of them allows to keep strict CA-Cl*pper compatibility. Available features are: `HB_SM_HARBOUR` - enables Harbour extensions: operators: `++`, `--`, `+=`, `-=`, `*=`, `/=`, `^=` objects: assignments to an instance variable `HB_S\nEjemplo: #include \"hbmacro.ch\" INIT PROCEDURE IWANTCLIPPER() ? hb_SetMacro( HB_SM_HARBOUR, .F. ) ? hb_SetMacro( HB_SM_XBASE, .F. ) RETURN"},{"src":"harbour/core · doc/en/errsys.txt","url":"https://github.com/harbour/core/blob/master/doc/en/errsys.txt","title":"ErrorSys()()","text":"ErrorSys() - Install default error handler\nSintaxis: ErrorSys() --> NIL\nErrorSys() is called upon startup by Harbour and installs the default error handler. Normally you should not call this function directly, instead use ErrorBlock() to install your own error handler."},{"src":"harbour/core · doc/en/evalhb.txt","url":"https://github.com/harbour/core/blob/master/doc/en/evalhb.txt","title":"Eval()()","text":"Eval() - Evaluate a code block\nSintaxis: Eval( [, [,...] ] ) --> xExpression\nThis function evaluates the code bloc expressed as and returns its evaluated value. If their are multiple expressions within the code block, the last expression will be value of this function. If the code block requires parameters to be passed to it, they are specified in the parameter list and following. Each parameter is separated by a comma within the expression list.\nEjemplo: LOCAL bBlock := {|| NIL } ? Eval( 1 ) ? Eval( @bBlock ) ? Eval( {| p1 | p1 }, \"A\", \"B\" ) ? Eval( {| p1, p2 | p1 + p2 }, \"A\", \"B\" ) ? Eval( {| p1, p2, p3 | p1 }, \"A\", \"B\" )"},{"src":"harbour/core · doc/en/command.txt","url":"https://github.com/harbour/core/blob/master/doc/en/command.txt","title":"CLASS()","text":"CLASS - Define a Class for Object Oriented Programming\nSintaxis: [CREATE] CLASS [ [, ] ] [STATIC]\nCLASS creates a class from which you can create objects. The CLASS command begins the class specification, in which the VAR elements (also known as instance variables) and METHODS of the class are named. The following scoping commands may also appear. They control the default scope of VAR and METHOD commands that follow them. EXPORTED: VISIBLE: HIDDEN: PROTECTED: The class specification ends with the\nEjemplo: #include \"hbclass.ch\" CREATE CLASS TBColumn VAR Block // Code block to retrieve data for the column VAR Cargo // User-definable variable VAR ColorBlock // Code block that determine"},{"src":"harbour/core · doc/en/command.txt","url":"https://github.com/harbour/core/blob/master/doc/en/command.txt","title":"VAR()","text":"VAR - Alternate syntax for VAR: instance variable for the objects.\nSintaxis: VAR [, ] [ AS ] [ INIT ] [[EXPORTED | VISIBLE] | [PROTECTED] | [HIDDEN]] [READONLY | RO]\nVAR elements can also be thought of as the \"properties\" of an object. They can be of any data type, including codeblock. Once an object has been created, the VAR elements are referenced with the colon `:` as in `MyObject:Heading := \"Last name\"`. Usually a class also defines methods to manipulate the VAR. You can use the `AS ` clause to enforce that the VAR is maintained as a certain type. Otherwise it will take\nEjemplo: #include \"hbclass.ch\" CREATE CLASS TBColumn VAR Block // Code block to retrieve data for the column VAR Cargo // User-definable variable VAR ColorBlock // Code block that determine"},{"src":"harbour/core · doc/en/command.txt","url":"https://github.com/harbour/core/blob/master/doc/en/command.txt","title":"CLASS VAR()","text":"CLASS VAR - Define a CLASS VAR variable for a class (NOT for an Object!)\nSintaxis: CLASS VAR [, ] [ AS ] [ INIT ]\n`CLASS VAR` variables can also be thought of as the \"properties\" of an entire class. Each `CLASS VAR` exists only once, no matter how many objects are created. A common usage is for a counter that is incremented whenever an object is created and decremented when one is destroyed, thus monitoring the number of objects in existence for this class. You can use the `AS ` clause to enforce that the `CLASS VAR` is ma\nEjemplo: #include \"hbclass.ch\" CREATE CLASS TWindow VAR hWnd, nOldProc CLASS VAR lRegistered AS LOGICAL ENDCLASS"},{"src":"harbour/core · doc/en/command.txt","url":"https://github.com/harbour/core/blob/master/doc/en/command.txt","title":"METHOD()","text":"METHOD - Declare a METHOD for a class in the class header\nSintaxis: METHOD ( [] ) [CONSTRUCTOR] METHOD ( [] ) INLINE METHOD ( [] ) BLOCK METHOD ( [] ) EXTERN ( [] ) METHOD ( [] ) SETGET METHOD ( [] ) VIRTUAL METHOD ( [] ) OPERATOR METHOD ( [] ) CLASS \nMethods are \"class functions\" which do the work of the class. All methods must be defined in the class header between the CLASS and ENDCLASS commands. If the body of a method is not fully defined here, the full body is written below the ENDCLASS command using this syntax: METHOD ( [] ) CLASS Methods can reference the current object with the keyword `Self:` or its shorthand version \nEjemplo: // FIXME #include \"hbclass.ch\" CREATE CLASS TWindow VAR hWnd, nOldProc METHOD New() CONSTRUCTOR METHOD Capture() INLINE SetCapture( ::hWnd ) METHOD End() BLOCK {| Self, lEnd | iif("},{"src":"harbour/core · doc/en/command.txt","url":"https://github.com/harbour/core/blob/master/doc/en/command.txt","title":"MESSAGE()","text":"MESSAGE - Route a method call to another Method\nSintaxis: MESSAGE METHOD ( [] ) MESSAGE () METHOD ( [] )\nThe MESSAGE command is a seldom-used feature that lets you re-route a call to a method with a different name. This can be necessary if a method name conflicts with a public function that needs to be called from within the class methods. For example, your app may have a public function called BeginPaint() that is used in painting windows. It would also be natural to have a Window class method called `:BeginPaint()` th\nEjemplo: // FIXME #include \"hbclass.ch\" CREATE CLASS TWindow VAR hWnd, nOldProc METHOD New() CONSTRUCTOR MESSAGE BeginPaint METHOD xBeginPaint() ENDCLASS"},{"src":"harbour/core · doc/en/command.txt","url":"https://github.com/harbour/core/blob/master/doc/en/command.txt","title":"ERROR HANDLER()","text":"ERROR HANDLER - Designate a method as an error handler for the class\nSintaxis: ERROR HANDLER ( [] )\n`ERROR HANDLER` names the method that should handle errors for the class being defined.\nEjemplo: #include \"hbclass.ch\" CREATE CLASS TWindow ERROR HANDLER MyErrHandler() ENDCLASS METHOD MyErrHandler() CLASS TWindow RETURN Self"},{"src":"harbour/core · doc/en/command.txt","url":"https://github.com/harbour/core/blob/master/doc/en/command.txt","title":"ON ERROR()","text":"ON ERROR - Designate a method as an error handler for the class\nSintaxis: ON ERROR ( [] )\n`ON ERROR` is a synonym for `ERROR HANDLER`. It names the method that should handle errors for the class being defined.\nEjemplo: #include \"hbclass.ch\" CREATE CLASS TWindow ON ERROR MyErrHandler() ENDCLASS METHOD MyErrHandler() CLASS TWindow RETURN Self"},{"src":"harbour/core · doc/en/command.txt","url":"https://github.com/harbour/core/blob/master/doc/en/command.txt","title":"ENDCLASS()","text":"ENDCLASS - End the declaration of a class.\nSintaxis: ENDCLASS\nENDCLASS marks the end of a class declaration. It is usually followed by the class methods that are not INLINE.\nEjemplo: #include \"hbclass.ch\" CREATE CLASS TWindow VAR hWnd, nOldProc ENDCLASS"},{"src":"harbour/core · doc/en/var.txt","url":"https://github.com/harbour/core/blob/master/doc/en/var.txt","title":"__mvPublic()()","text":"__mvPublic() - This function creates a PUBLIC variable\nSintaxis: __mvPublic( )\nThis function can be called either by the Harbour compiler or by user. The compiler always passes the item of HB_IT_SYMBOL type that stores the name of variable. If a variable with the same name exists already then the new variable is not created - the previous value remains unchanged. If it is first variable with this name then the variable is initialized with .T. value."},{"src":"harbour/core · doc/en/var.txt","url":"https://github.com/harbour/core/blob/master/doc/en/var.txt","title":"__mvPrivate()()","text":"__mvPrivate() - This function creates a PRIVATE variable\nSintaxis: __mvPrivate( )\nThis function can be called either by the Harbour compiler or by user. The compiler always passes the item of HB_IT_SYMBOL type that stores the name of variable. If a variable with the same name exists already then the value of old variable is hidden until the new variable is released. The new variable is always initialized to NIL value."},{"src":"harbour/core · doc/en/var.txt","url":"https://github.com/harbour/core/blob/master/doc/en/var.txt","title":"__mvXRelease()()","text":"__mvXRelease() - This function releases value stored in PRIVATE or PUBLIC variable\nSintaxis: __mvXRelease( )\nThis function releases values stored in memory variable. It shouldn't be called directly, rather it should be placed into RELEASE command. If the released variable is a PRIVATE variable then previously hidden variable with the same name becomes visible after exit from the procedure where released variable was created. If you access the released variable in the same function/procedure where it was created the the NIL \nEjemplo: MEMVAR mPrivate PROCEDURE Main() PRIVATE mPrivate := \"PRIVATE from Main()\" ? mPrivate // --> PRIVATE from Main() Test() ? mPrivate // --> PRIVATE from Main() RETURN STATIC PROCEDUR"},{"src":"harbour/core · doc/en/var.txt","url":"https://github.com/harbour/core/blob/master/doc/en/var.txt","title":"__mvRelease()()","text":"__mvRelease() - This function releases PRIVATE variables\nSintaxis: __mvRelease( , )\nThis function releases values stored in memory variables. It shouldn't be called directly, it should be placed into `RELEASE ALL` command. If the released variable is a PRIVATE variable then previously hidden variable with the same name becomes visible after exit from the procedure where released variable was created. If you access the released variable in the same function/procedure where it was created the the NIL "},{"src":"harbour/core · doc/en/set.txt","url":"https://github.com/harbour/core/blob/master/doc/en/set.txt","title":"__SetCentury()()","text":"__SetCentury() - Set the Current Century\nSintaxis: __SetCentury([ | ] ) --> lPreviousValue\n"},{"src":"harbour/core · doc/en/set.txt","url":"https://github.com/harbour/core/blob/master/doc/en/set.txt","title":"Set()()","text":"Set() - Changes or evaluated environmental settings\nSintaxis: Set( [, [, ] ] ) --> xPreviousSetting\n"},{"src":"harbour/core · doc/en/set.txt","url":"https://github.com/harbour/core/blob/master/doc/en/set.txt","title":"__SetFunction()()","text":"__SetFunction() - Assign a character string to a function key\nSintaxis: __SetFunction( , [] ) --> NIL\n__SetFunction() assign a character string with a function key, when this function key is pressed, the keyboard is stuffed with this character string. __SetFunction() has the effect of clearing any SetKey() previously set to the same function number and vice versa. nFunctionKey Key to be set 1 .. 12 .. 13 .. 20 .. 21 .. 30 .. 31 .. 40 .. \nEjemplo: #include \"inkey.ch\" LOCAL cTest, GetList := {} // Associate with a string __SetFunction( 1, \"I Am Lazy\" + Chr( K_ENTER ) ) CLS cTest := Space( 20 ) @ 10, 0 SAY \"type something"},{"src":"harbour/core · doc/en/set.txt","url":"https://github.com/harbour/core/blob/master/doc/en/set.txt","title":"SET FUNCTION()","text":"SET FUNCTION - Assign a character string to a function key\nSintaxis: SET FUNCTION TO []\nSet Function assign a character string with a function key, when this function key is pressed, the keyboard is stuffed with this character string. Set Function has the effect of clearing any SetKey() previously set to the same function number and vice versa.
nFunctionKey Key to be set 1 .. 12 .. 13 .. 20 .. 21 .. 30 .. 31 .. 40 .. with a string SET FUNCTION 1 TO \"I Am Lazy\" + Chr( K_ENTER ) CLS cTest := Space( 20 ) @ 10, 0 SAY \"type something o"},{"src":"harbour/core · doc/en/set.txt","url":"https://github.com/harbour/core/blob/master/doc/en/set.txt","title":"SetKey()()","text":"SetKey() - Assign an action block to a key\nSintaxis: SetKey( [, [, ] ] )\nThe SetKey() function returns the current code-block assigned to a key when called with only the key value. If the action block (and optionally the condition block) are passed, the current block is returned, and the new code block and condition block are stored. A group of keys may be assigned the same code block/condition block by using an array of key values in place on the first parameter.\nEjemplo: #include \"getexit.ch\" #include \"inkey.ch\" LOCAL bOldF10 := SetKey( K_F10, {|| Yahoo() } ) LOCAL bBlock // some other processing ... SetKey( K_F10, bOldF10 ) // some other processin"},{"src":"harbour/core · doc/en/set.txt","url":"https://github.com/harbour/core/blob/master/doc/en/set.txt","title":"hb_SetKeyGet()()","text":"hb_SetKeyGet() - Determine a set-key code block and condition-block\nSintaxis: hb_SetKeyGet( [, ] )\nThe hb_SetKeyGet() function returns the current code-block assigned to a key, and optionally assigns the condition-block to the return-parameter\nEjemplo: #include \"inkey.ch\" LOCAL bOldF10, bOldF10Cond bOldF10 := hb_SetKeyGet( K_F10, @bOldF10Cond ) // some other processing ... SetKey( K_F10, bOldF10, bOldF10Cond )"},{"src":"harbour/core · doc/en/set.txt","url":"https://github.com/harbour/core/blob/master/doc/en/set.txt","title":"hb_SetKeySave()()","text":"hb_SetKeySave() - Returns a copy of internal set-key list, optionally overwriting\nSintaxis: hb_SetKeySave( [ ] )\nhb_SetKeySave() is designed to act like the Set() function which returns the current state of an environment setting, and optionally assigning a new value. In this case, the \"environment setting\" is the internal set-key list, and the optional new value is either a value returned from a previous call to hb_SetKeySave() - to restore that list, or the value of NIL to clear the current list.\nEjemplo: LOCAL aKeys := hb_SetKeySave( NIL ) // removes all current set=keys // some other processing ... hb_SetKeySave( aKeys )"},{"src":"harbour/core · doc/en/set.txt","url":"https://github.com/harbour/core/blob/master/doc/en/set.txt","title":"hb_SetKeyCheck()()","text":"hb_SetKeyCheck() - Implements common hot-key activation code\nSintaxis: hb_SetKeyCheck( [, ][, ][, ] )\nhb_SetKeyCheck() is intended as a common interface to the SetKey() functionality for such functions as AChoice(), dbEdit(), MemoEdit(), ACCEPT, INPUT, READ, and WAIT\nEjemplo: // FIXME #include \"inkey.ch\" // within ReadModal() IF hb_SetKeyCheck( K_ALT_X, GetActive() ) // some other processing ... ENDIF // within TBrowse handler CASE hb_SetKeyCheck( nInke"},{"src":"harbour/core · doc/en/rdddb.txt","url":"https://github.com/harbour/core/blob/master/doc/en/rdddb.txt","title":"dbEval()()","text":"dbEval() - Performs a code block operation on the current Database\nSintaxis: dbEval( , [], [], [], [], [] ) --> NIL\nPerforms a code block operation on the current Database\nEjemplo: LOCAL nCount USE test dbGoto( 4 ) ? RecNo() COUNT TO nCount NEXT 10 ? RecNo(), nCount COUNT TO nCount ? RecNo(), nCount"},{"src":"harbour/core · doc/en/rdddb.txt","url":"https://github.com/harbour/core/blob/master/doc/en/rdddb.txt","title":"Dbf()()","text":"Dbf() - Alias name of a work area\nSintaxis: Dbf() --> cWorkArea\nThis function returns the same alias name of the currently selected work area.\nEjemplo: USE test SELECT 0 ? iif( Dbf() == \"\", \"No Name\", Dbf() ) ? test->( Dbf() ) ? Alias( 1 )"},{"src":"harbour/core · doc/en/rdddb.txt","url":"https://github.com/harbour/core/blob/master/doc/en/rdddb.txt","title":"dbAppend()()","text":"dbAppend() - Appends a new record to a database file.\nSintaxis: dbAppend( [] ) --> lSuccess\nThis function add a new record to the end of the database in the selected or aliased work area. All fields in that database will be given empty data values - character fields will be filled with blank spaces, date fields with hb_SToD(), numeric fields with 0, logical fields with .F., and memo fields with NULL bytes. The header of the database is not updated until the record is flushed from the buffer and the contents\nEjemplo: LOCAL cName := \"Harbour\", nAge := 15 USE test test->( dbAppend() ) test->first := cName test->age := nAge"},{"src":"harbour/core · doc/en/rdddb.txt","url":"https://github.com/harbour/core/blob/master/doc/en/rdddb.txt","title":"dbClearFilter()()","text":"dbClearFilter() - Clears the current filter condition in a work area\nSintaxis: dbClearFilter() --> NIL\nThis function clears any active filter conduction for the current or selected work area.\nEjemplo: USE test SET FILTER TO hb_LeftEq( test->first, \"An\" ) dbGoTop() dbEval( {|| QOut( test->first ) } ) dbClearFilter()"},{"src":"harbour/core · doc/en/rdddb.txt","url":"https://github.com/harbour/core/blob/master/doc/en/rdddb.txt","title":"dbCloseAll()()","text":"dbCloseAll() - Close all open files in all work areas.\nSintaxis: dbCloseAll() --> NIL\nThis function close all open databases and all associated indexes. In addition, it closes all format files and moves the work area pointer to the first position\nEjemplo: USE test NEW dbEdit() USE test1 NEW dbEdit() dbCloseAll()"},{"src":"harbour/core · doc/en/rdddb.txt","url":"https://github.com/harbour/core/blob/master/doc/en/rdddb.txt","title":"dbCloseArea()()","text":"dbCloseArea() - Close a database file in a work area.\nSintaxis: dbCloseArea()\nThis function will close any database open in the selected or aliased work area.\nEjemplo: USE test dbEdit() test->( dbCloseArea() )"},{"src":"harbour/core · doc/en/dbstrux.txt","url":"https://github.com/harbour/core/blob/master/doc/en/dbstrux.txt","title":"__dbCopyStruct()()","text":"__dbCopyStruct() - Create a new database based on current database structure\nSintaxis: __dbCopyStruct( , [] )\n__dbCopyStruct() create a new empty database file with a structure that is based on the currently open database in this work-area. If is empty, the newly created file would have the same structure as the currently open database. Else, the new file would contain only fields that exactly match . __dbCopyStruct() can be use to create a sub-set of the currently open database, based on a given fie\nEjemplo: // Create a new file that contain the same structure USE test __dbCopyStruct( \"mycopy.dbf\" ) // Create a new file that contain part of the original structure LOCAL aList USE test a"},{"src":"harbour/core · doc/en/dbstrux.txt","url":"https://github.com/harbour/core/blob/master/doc/en/dbstrux.txt","title":"COPY STRUCTURE()","text":"COPY STRUCTURE - Create a new database based on current database structure\nSintaxis: COPY STRUCTURE TO [FIELDS ]\n`COPY STRUCTURE` create a new empty database file with a structure that is based on the currently open database in this work-area. `COPY STRUCTURE` can be use to create a sub-set of the currently open database, based on a given field list. `COPY STRUCTURE` command is preprocessed into __dbCopyStruct() function during compile time.\nEjemplo: // Create a new file that contains the same structure USE test COPY STRUCTURE TO MyCopy // Create a new file that contains part of the original structure USE test COPY STRUCTURE TO"},{"src":"harbour/core · doc/en/dbstrux.txt","url":"https://github.com/harbour/core/blob/master/doc/en/dbstrux.txt","title":"__dbCopyXStruct()()","text":"__dbCopyXStruct() - Copy current database structure into a definition file\nSintaxis: __dbCopyXStruct( ) --> lSuccess\n__dbCopyXStruct() create a new database named with a pre-defined structure (also called \"structure extended file\"):
Field name Type Length Decimals FIELD_NAME C 10 0 FIELD_TYPE C 1 0 FIELD_LEN N 3 0 FIELD_DEC N 3 0
Each record in the new file contains information about one field in the original file. `CREATE FROM` could be used to create a database from the structure extended file. For pr\nEjemplo: // Open a database, then copy its structure to a new file, // Open the new file and list all its records USE test __dbCopyXStruct( \"teststru\" ) USE teststru LIST"},{"src":"harbour/core · doc/en/dbstrux.txt","url":"https://github.com/harbour/core/blob/master/doc/en/dbstrux.txt","title":"COPY STRUCTURE EXTENDED()","text":"COPY STRUCTURE EXTENDED - Copy current database structure into a definition file\nSintaxis: COPY STRUCTURE EXTENDED TO \n`COPY STRUCTURE EXTENDED` create a new database named with a pre-defined structure (also called \"structure extended file\"): Field name Type Length Decimals FIELD_NAME C 10 0 FIELD_TYPE C 1 0 FIELD_LEN N 3 0 FIELD_DEC N 3 0
Each record in the new file contains information about one field in the original file. `CREATE FROM` could be used to create a database from the structure extended file\nEjemplo: // Open a database, then copy its structure to a new file, // Open the new file and list all its records USE test COPY STRUCTURE EXTENDED TO teststru USE teststru LIST"},{"src":"harbour/core · doc/en/dbstrux.txt","url":"https://github.com/harbour/core/blob/master/doc/en/dbstrux.txt","title":"__dbCreate()()","text":"__dbCreate() - Create structure extended file or use one to create new file\nSintaxis: __dbCreate( , [], [], [], [] ) --> lUsed\n__dbCreate() works in two modes depending on the value of : 1) If is empty or not specified a new empty structure extended file with the name is created and then opened in the current work-area ( is ignored). The new file has the following structure: Field name Type Length Decimals FIELD_NAME C 10 0 FIELD_TYPE C 1 0 FIELD_LEN N 3 0 FIELD_DEC N 3 0
The C\nEjemplo: // CREATE a new structure extended file, append some records and // then CREATE FROM this file a new database file __dbCreate( \"template\" ) dbAppend() FIELD->FIELD_NAME := \"CHANNEL"},{"src":"harbour/core · doc/en/menu.txt","url":"https://github.com/harbour/core/blob/master/doc/en/menu.txt","title":"AChoice()()","text":"AChoice() - Allows selection of an element from an array\nSintaxis: AChoice( , , , , , [ | ], [ | ], [], [] ) --> nPosition\nAllows selection of an element from an array. Please see standard CA-Cl*pper documentation for AChoice() for additional detail.\nEjemplo: LOCAL aItems := { \"One\", \"Two\", \"Three\" } LOCAL nChoice := AChoice( 10, 10, 20, 20, aItems ) IF nChoice == 0 ? \"You did not choose an item\" ELSE ? ; \"You chose element\", hb_ntos( n"},{"src":"harbour/core · doc/en/menu.txt","url":"https://github.com/harbour/core/blob/master/doc/en/menu.txt","title":"__AtPrompt()()","text":"__AtPrompt() - Display a menu item on screen and define a message\nSintaxis: __AtPrompt( , , , [] ) --> .F.\nWith __AtPrompt() you define and display a menu item, each call to __AtPrompt() add another item to the menu, to start the menu itself you should call the __MenuTo() function (`MENU TO` command). You can define any row and column combination and they will be displayed at the order of definition. After each call to __AtPrompt(), the cursor is placed one column to the right of the last text displayed, and Row() and Col\nEjemplo: LOCAL nChoice // display a two line menu with status line at the bottom // let the user select favorite day SET MESSAGE TO 24 CENTER @ 10, 2 PROMPT \"Sunday\" MESSAGE \"This is the 1s"},{"src":"harbour/core · doc/en/menu.txt","url":"https://github.com/harbour/core/blob/master/doc/en/menu.txt","title":"@...PROMPT()","text":"@...PROMPT - Display a menu item on screen and define a message\nSintaxis: @ , PROMPT [MESSAGE ]\nWith `@...PROMPT` you define and display a menu item, each call to `@...PROMPT` add another item to the menu, to start the menu itself you should call the __MenuTo() function (`MENU TO` command). You can define any row and column combination and they will be displayed at the order of definition. After each call to `@...PROMPT`, the cursor is placed one column to the right of the last text displayed, and Row() and Col\nEjemplo: LOCAL nChoice // display a two line menu with status line at the bottom // let the user select favorite day SET MESSAGE TO 24 CENTER @ 10, 2 PROMPT \"Sunday\" MESSAGE \"This is the 1s"},{"src":"harbour/core · doc/en/menu.txt","url":"https://github.com/harbour/core/blob/master/doc/en/menu.txt","title":"__MenuTo()()","text":"__MenuTo() - Invoked a menu defined by set of `@...PROMPT`\nSintaxis: __MenuTo( , ) --> nChoice\n__MenuTo() invoked the menu define by previous __AtPrompt() call and display a highlight bar that the user can move to select an option from the menu. If does not exist or not visible, a PRIVATE variable named is created and hold the current menu selection. If there is a variable named , its value is used to select the first highlighted item. Menu prompts and messages are displayed \nEjemplo: LOCAL nChoice // display menu item on each screen corner and let user select one CLS SET MESSAGE TO MaxRow() / 2 CENTER SET WRAP ON @ 0 , 0 PROMPT \"1. Upper left\" MESSAGE \" One \" @"},{"src":"harbour/core · doc/en/terminal.txt","url":"https://github.com/harbour/core/blob/master/doc/en/terminal.txt","title":"__XSaveScreen()()","text":"__XSaveScreen() - Save whole screen image and coordinate to an internal buffer\nSintaxis: __XSaveScreen()\n__XSaveScreen() saves the image of the whole screen into an internal buffer, it also save current cursor position. The information could later be restored by __XRestScreen(). Each call to __XSaveScreen() overwrite the internal buffer. `SAVE SCREEN` command is preprocessed into __XSaveScreen() function during compile time. Note that `SAVE SCREEN TO` is preprocessed into SaveScreen() function. __XSaveScreen() is a comp\nEjemplo: // save the screen, display list of files than restore the screen SAVE SCREEN DIR *.* RESTORE SCREEN"},{"src":"harbour/core · doc/en/terminal.txt","url":"https://github.com/harbour/core/blob/master/doc/en/terminal.txt","title":"SAVE SCREEN()","text":"SAVE SCREEN - Save whole screen image and coordinate to an internal buffer\nSintaxis: SAVE SCREEN\n`SAVE SCREEN` saves the image of the whole screen into an internal buffer, it also save current cursor position. The information could later be restored by `RESTORE SCREEN`. Each call to `SAVE SCREEN` overwrite the internal buffer. `SAVE SCREEN` command is preprocessed into __XSaveScreen() function during compile time. Note that `SAVE SCREEN TO` is preprocessed into SaveScreen() function.\nEjemplo: // save the screen, display list of files than restore the screen SAVE SCREEN DIR *.* RESTORE SCREEN"},{"src":"harbour/core · doc/en/terminal.txt","url":"https://github.com/harbour/core/blob/master/doc/en/terminal.txt","title":"__XRestScreen()()","text":"__XRestScreen() - Restore screen image and coordinate from an internal buffer\nSintaxis: __XRestScreen()\n__XRestScreen() restores saved image of the whole screen from an internal buffer that was saved by __XSaveScreen(), it also restore cursor position. After a call to __XRestScreen() the internal buffer is cleared. `RESTORE SCREEN` command is preprocessed into __XRestScreen() function during compile time. Note that `RESTORE SCREEN FROM` is preprocessed into RestScreen() function. __XRestScreen() is a compatibility func\nEjemplo: // save the screen, display list of files than restore the screen SAVE SCREEN DIR *.* RESTORE SCREEN"},{"src":"harbour/core · doc/en/terminal.txt","url":"https://github.com/harbour/core/blob/master/doc/en/terminal.txt","title":"RESTORE SCREEN()","text":"RESTORE SCREEN - Restore screen image and coordinate from an internal buffer\nSintaxis: RESTORE SCREEN\n`RESTORE SCREEN` restores saved image of the whole screen from an internal buffer that was saved by `SAVE SCREEN`, it also restore cursor position. After a call to 'RESTORE SCREEN` the internal buffer is cleared. `RESTORE SCREEN` command is preprocessed into __XRestScreen() function during compile time. Note that `RESTORE SCREEN FROM` is preprocessed into RestScreen() function.\nEjemplo: // save the screen, display list of files than restore the screen SAVE SCREEN DIR *.* RESTORE SCREEN"},{"src":"harbour/core · doc/en/hbinet.txt","url":"https://github.com/harbour/core/blob/master/doc/en/hbinet.txt","title":"hb_inetInit()()","text":"hb_inetInit() - Activate Harbour INET support\nSintaxis: hb_inetInit() --> lResult\nActivates inet support; mainly used for winsock start up at the moment, but could be used in the future for many other purpose. Put it at the beginning of every program using INET functions.\nEjemplo: $STATUS$ R"},{"src":"harbour/core · doc/en/hbinet.txt","url":"https://github.com/harbour/core/blob/master/doc/en/hbinet.txt","title":"hb_inetCleanup()()","text":"hb_inetCleanup() - Terminate Harbour INET support\nSintaxis: hb_inetCleanup()\nCloses inet support; mainly used for Windows. Put it at the end of any program using Inet functions, just before the program exits.\nEjemplo: $STATUS$ R"},{"src":"harbour/core · doc/en/hbinet.txt","url":"https://github.com/harbour/core/blob/master/doc/en/hbinet.txt","title":"hb_inetCreate()()","text":"hb_inetCreate() - Create an INET socket\nSintaxis: hb_inetCreate( [ ] ) --> \nCreates the raw data of the socket, that can be passed to a asynchronous connection function (hb_inetConnect() or hb_inetConnectIP()). This will prevent the connection function from allocating some data that could be never used in certain cases, i.e. an asynchronously detected timeout.\nEjemplo: $STATUS$ R"},{"src":"harbour/core · doc/en/hbinet.txt","url":"https://github.com/harbour/core/blob/master/doc/en/hbinet.txt","title":"hb_inetClose()()","text":"hb_inetClose() - Close an INET socket\nSintaxis: hb_inetClose( ) --> nResult\nCloses the socket, notifying both ends of the communication pipe that the connection is over. If you have threads waiting for data to be read from this socket, this method will make them stop waiting and return an error (socket closed) to their callers. The method does not destroy the socket, which can be used by subordinate threads to check that the socket is closed, and so they should stop as soon as they can. Don'\nEjemplo: $STATUS$ R"},{"src":"harbour/core · doc/en/hbinet.txt","url":"https://github.com/harbour/core/blob/master/doc/en/hbinet.txt","title":"hb_inetFD()()","text":"hb_inetFD() - ?\nSintaxis: hb_inetFD( [, ] ) --> nResult\n$EXAMPLES$\nEjemplo: $STATUS$ R"},{"src":"harbour/core · README.md","url":"https://github.com/harbour/core/blob/master/README.md","title":"Cómo compilar Harbour (build)","text":"# How to Build > Before reporting a problem to developers, make sure to read > [Troubleshooting](#troubleshooting) and try the suggestions > you find there. For all platforms you'll need: * Supported ANSI C compiler * GNU Make (3.81 recommended, minimum 3.79 required, see also platform details) * Harbour sources (2.0.0 or upper) ## on Windows hosts (possible cross-build targets: Windows CE, MS-DOS, OS/2, Linux) Platform specific prerequisites: 1. Windows XP or upper system is recommended to build Harbour. 2. Make sure to have your C compiler of choice properly installed in PATH. Refer to your C compiler installation and setup instructions for details. It's recommended to make sure no tools in your PATH belonging to other C compilers are interfering with your setup. It's also highly discouraged to keep multiple copies of the same compiler, or different versions of the same compiler in PATH at the same time. For the list of supported compilers, look up [Supported Platforms and C Compilers](#supported-platforms-and-c-compilers). 3. GNU Make 3.81 or upper is required. A copy of this tool"},{"src":"harbour/core · README.md","url":"https://github.com/harbour/core/blob/master/README.md","title":"Compilar tu propia aplicación Harbour","text":"# Build Your Own Harbour App For all platforms you'll need two things: * Harbour binaries Either a Harbour binary distribution or a local Harbour build will be okay. If you're reading this text, it's very likely you have one of these already. * Supported ANSI C compiler Your compiler of choice has to be placed in the PATH – and configured appropriately according to instructions. If you use official Harbour binary distribution on Windows, you already have MinGW compiler embedded in the installation, which will automatically be used, so you don't have to make any extra steps here. Use hbmk2 to build your app from source. It's recommended to put it in the PATH (f.e. by using `set PATH=C:\\harbour\\bin;%PATH%` on Windows). See hbmk2 [documentation, with examples](utils/hbmk2/doc/hbmk2.en.md). "},{"src":"harbour/core · utils/hbmk2/doc/hbmk2.en.md","url":"https://github.com/harbour/core/blob/master/utils/hbmk2/doc/hbmk2.en.md","title":"hbmk2: herramienta de build de Harbour","text":"Syntax: hbmk2 [options] [] Description: hbmk2 is an integrated and portable build tool, making it possible to create various types of executable binaries (executable, dynamic library, static library, Harbour portable binary) out of multiple types of source files (C, C++, Objective-C, Harbour, gettext translations, Windows resources)\\. 'Integrated' means that a single hbmk2 project file can control all or most aspects of the build process\\. 'Portable' means that a single hbmk2 project file can control the build on all supported OS platforms and across all supported C compilers\\. It also aims to cover the majority of build tasks via short and simple project files (options)\\. hbmk2 supports \nOpciones principales: "},{"src":"harbour/core · doc/xhb-diff.txt","url":"https://github.com/harbour/core/blob/master/doc/xhb-diff.txt","title":"Diferencias Harbour vs xHarbour","text":"This text describes most important differences between Harbour and xHarbour with some references to Clipper and other compatible compilers like Xbase++, CLIP, FlagShip. Many thanks to Pritpal and Viktor for updating this text. I hope that it will be updated in the future also by xHarbour developers, It describes status of both compiler at the end of October 2009: Harbour 2.0.0 beta3 (revision 12788) xHarbour 1.2.1 (revision 6629) Przemek, (Przemyslaw Czerpak, druzus /at/ priv.onet.pl) ### COMPILE TIME SUPPORT FOR MERGING MULTIPLE .PRG MODULES ### ==================================================================== Clipper allows to compile many .prg modules included by @.clp and/or SET PROCEDURE TO ... / DO ... [ WITH ... ] into single output object. In such compilation it supports, separated for each .prg file, file wide declarations when -n switch is used and allows to use more then one static function with the same name if each of them is declared in different .prg modules. This code illustrates such situation: /***** t1. prg *****/ static s := \"t01:s\" static s1 := \"t01:s1\" proc main() ? \"====\" ? s, s1 p1();p2();p3() ? \"====\" do t2 ? \"====\" return proc p1 ; ? \"t01:p1\" static proc p2 ; ? \"t01:p2\" static proc p3 ; ? \"t01:p3\" init proc pi ;"},{"src":"harbour/core · doc/clipper.txt","url":"https://github.com/harbour/core/blob/master/doc/clipper.txt","title":"Compatibilidad con CA-Clipper","text":"This document attempts to describe the features separating Harbour from CA-Cl*pper. /* TODO: @FunPointer(), and all other Harbour extensions. */ Harbour Macro Compiler ---------------------- The Harbour Macro Compiler offers 2 additional layers of functionality controlled by means of hb_SetMacro()* function, not available in CA-Cl*pper. hb_SetMacro( HB_SM_HARBOUR, .T. ) will enable macro compilation and evaluation of complex expressions not supported by CA-Cl*pper like: - exp++, exp--, var += exp, (exp), etc.. - Nested codeblocks. - Expressions longer then 254 characters. hb_SetMacro( HB_SM_XBASE, .T. ) will enable macro compilation and evaluation of comma separated lists in all contexts where lists are acceptable by CA-Cl*pper*, including: - { &cMacro } // Literal array elements list. - SomeArray[ &cMacro ] // Array index list. - SomeFun( &cMacro ) // Arguments list. - ( &cMacro ) // parenthesized list expression. *CA-Cl*pper only supports list macros within codeblocks context. Both these extra layers are activated by default. * See also -k Compiler switch. INIT/EXIT and startup procedures -------------------------------- In CA-Cl*pper the startup procedure is always the first procedure/function of the main module, even if such symbol is an INIT or EXIT sym"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-9343.html","title":"Why Some Browses with ADS are slow?","text":"P (nageswaragunupudi): Many times our friends keep expressing that some of the advanced browses are extremely slow while browsing *LARGE* ADS tables. This phenomenon is observed with tsbrowse, txbrowse and even hernan's browse. In fact the problem is not with the browses. These advanced browses go a step forward in setting up the codeblocks appropriate for the RDD being used. For ADS, by default, these browses use AdsKeyCount() (or similar functions) for the bLogicLen / bKeyCount codeblocks.\n\nThe real problem is in the AdsKeyCount ( also\nR (kokookao2007): hi nageswaragunupudi:\n\n#define ADS_RESPECTFILTERS 1 \n\n#define ADS_IGNOREFILTERS 2 \n\n#define ADS_RESPECTSCOPES 3 \n\n #xcommand SET FILTER TO ; \n\n ; AdsSetAof( ) \n\n #xcommand SET FILTER TO ; \n\n => if ( Empty( <(x)>) ) ; \n\n ; dbClearFilter() ; \n\n ; else ; \n\n ; AdsSetAof( <(x)> ) ; \n\n ; endif \n\nAdsGetRecordCount() ==> TRY AdsKeyCount(,, ADS_RESPECTSCOPES) \n\nAdsKeyNo()==>AdsKeyNo(,, ADS_RESPECTSCOPES) \n\nAdsKeyCount()==>AdsKeyCount(,, ADS_RESPECTSCOPES) \n\nMY BROWSE() work as fast as rdd \"DBFCDX\".\n\nBest Regards\n\nkokoo"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-30266.html","title":"ADO RDD xHarbour","text":"P (AHF): Hello,\n\nIs there a stable Rdd for ADO working for basic operations such as replaces, browses, like other rdds?\n\nRegards\n\nAntonio\nR (Antonio Linares): Antonio,\n\nYou don't need a RDD. Please review these easy examples:\n\nhttp://wiki.fivetechsoft.com/doku.php?id=ado_create_database\n\nhttp://wiki.fivetechsoft.com/doku.php?id=ado_import_dbf\n\nhttp://wiki.fivetechsoft.com/doku.php?id=ado_mdi_browse"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-43874.html","title":"Fwh 23.10 TGet another problem (SOLVED)","text":"P (Horizon): Hi,\n\nTurkish characters are displayed as question mark in fwh 23.10. when FW_SetUnicode( .F. )\n\nany help?\nR (nageswaragunupudi): Please help me to understand more about Turkish characters.\n\nPlease copy and paste a string of characters with which you are having problems now."},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-28845.html","title":"List of donations already received to buy EasyReport","text":"P (Antonio Linares): I will update this list as the donations arrive for EasyReport (we need 6.000 euros to buy it). Come on my friends, this is going to be really great! \n\nActualizaremos esta lista conforme se reciban las donaciones para EasyReport. Venga amigos, esto va a ser grandioso! \n\nThe ones that donate will have priority to get it when it is bought!\n\nLos que donen tendrán prioridad en recibirlo cuando se compre!\n\nKok Joek Hoa (100 euros)\nRüdiger Alich (100 euros)\nFelix Pablo Grande (50 euros)\nTim Stone (100 euros)\nOtto (Atzwan\nR (Antonio Linares): We need the help of all of you, please cooperate and donate whatever amount you can!\n\nNecesitamos la ayuda de todos vosotros, por favor cooperar con la cantidad que podais!\n\nGracias"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-45674.html","title":"Hablando de un generador de Reportes para FWH","text":"P (jose_murugosa): Como he visto este tema surgiendo en el foro, quisiera sugerir una posibilidad.\n\nExiste un generador de reportes en C++ bastante interesante, con barcodes, qrcodes y otros, con muchas prestaciones, llamado QtRPT Proyect, es Open Source, y parece funcionar bien.\n\nSería interesante considerar conectarlo con FWH, este generador de reportes tiene una interesante herramienta de diseño de reportes QRPTDesigner, y quizá sea más facil incorporarlo a FWH que un generador desarrollado en otro lenguaje.\n\nSolo es una sugerenci\nR (Antonio Linares): https://forums.fivetechsupport.com/viewtopic.php?p=279517#p279517"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-32657.html","title":"FWH 16.08 : Built-in MySql/MariaDB functionality (Updated )","text":"P (nageswaragunupudi): FWH now provides inbuilt connectivity to MariaDB/MySql server without using any 3rd party libs. Works with both MariaDB and MySql servers. The functionality is available with bcc7 xHarour and Harbour, bcc7 64 bit with Harbour and MSVC 32 and 64 bits with Harbour. Yet to test with xhb.com and gcc.\n\nThe application needs to be linked with either libmariadb.lib or libmysql.lib to be used with libmariadb.dll or libmysql.dll. It may be noted that 64 bit versions of the lib and dll are to be used with 64 bit applications\nR (vilian): Mr Rao,\n\nI did not see functions to do Backup/Restore in the list of functions. Is it possible ? In tDolphin this already exist, but i made some modifications to work better. If you want i can send to you."},{"src":"Foro FiveTech · FiveWin para Harbour/xHarbour (ES)","url":"https://fivetechsoft.github.io/forums/topic-43685.html","title":"De *.C Para *.Obj en BCC74 no funciona más.","text":"P (karinha): Maestros, porque esto no funciona más con BCC para xHarbour 7.40? y fwh1905\n\nCode (fw): Select all Collapse\nR (karinha): Enrico, estes dos archivos me genera estos errores:\n\nc:\\TTaskPan>C:\\BCC74\\bin\\bcc32 -c -Ic:\\XHBBCC74\\include;c:\\fwh1905\\include -D__HARBOUR__ -D__FLAT__ c_tthememanager.C \n\nEmbarcadero C++ 7.40 for Win32 Copyright (c) 1993-2018 Embarcadero Technologies, Inc.\n\nc_TThemeManager.c:\n\nWarning W8065 c_TThemeManager.c 282: Call to function 'FontHeight2Pt' with no prototype in function _i_GetSetFont\n\n*** 1 errors in Compile ***\n\nc:\\TTaskPan>C:\\BCC74\\bin\\bcc32 -c -Ic:\\XHBBCC74\\include;c:\\fwh1905\\include -D__HARBOUR__ -D__FLAT__ c_dibbmp.C \n\nEmbarcadero C++ 7.40 for Win32 Copyright (c) 1993-2018 Embarcadero Technologies, Inc.\n\nc_DibBmp.c:\n\nWarning W8012 c_DibBmp.c 488: Comparing signed and unsigned values in function DibB"},{"src":"Foro FiveTech · FiveWin para Harbour/xHarbour (ES)","url":"https://fivetechsoft.github.io/forums/topic-12645.html","title":"SQLWIN - RDD libre para SQL","text":"P (Antonio Linares): Comenzamos aqui el desarrollo común de SQLWIN, un RDD libre para SQL.\n\nTodos los que quieran aprender y usar SQL son bienvenidos a unirse al proyecto \n\nhttp://www.fivetechsoft.com/files/sqlwin.zip\n\nEl código de este RDD en desarrollo se distribuye con la misma licencia de Harbour (de momento no incluida en el código). Partimos del código existente del ADORDD pero solo para reusar su estructura y rediseñarlo a fondo.\nR (Antonio Linares): Una nueva version que implementa los valores emulados \"sql_recno\" y \"sql_deleted\", y una primera version de DbGoTop():\n\nwww.fivetechsoft.com/files/sqlwin.zip"},{"src":"Foro FiveTech · FiveWin para Harbour/xHarbour (ES)","url":"https://fivetechsoft.github.io/forums/topic-21723.html","title":"MyRpt - Diseñador de Reportings - En desarrollo :-)","text":"P (Carles): Hi,\n\nQuiero presentaros MyRpt.Lib. Una libreria para el diseño de reports.\n\nEl proyecto esta en fase beta, pero ya se puede probar. La idea básica, es que con poco esfuerzo, podamos generar reportings con resultados parecidos a este.\n\nNo pretende competir con ningun generador de reports comercial, pero si pretende algo q pocos pueden hacer y es la de integrarse si queremos a nuestras aplicaciones. En este breve documento describo la idea de como concibo la manera optima para trabjar con FWH. Me gustaria debatir la \nR (ruben Dario): Extraordinario Trabajo... Te pregunto se puede trabajar ADO sin ningun problema, segun veo el ejemplo parece que no hay problema."},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-17113.html","title":"Choosing SQL database ...","text":"P (Rimantas): Hi ,\n\nI want to get a small advice in this situation . I can choose MySQL , FireBird and SQLite . MySQL and FireBird I know and alreday tested - they all work pretty good . But I'm paying attenation to SQLite - how good this thing is ? My project will be in network env. - Win2003 server , ~ 12-15 PC users and and ~ 1-2 Gb size database . Program will be one - Fwh + Harbour - which will work with that database . Program of production - it will be using intensive . I read this chapter in SqLite ste : http://www.sqlit\nR (Rimantas): fraxzi wrote:Robust. Stable. Integrated with [x]Harbour. Fast.\n\nAdvantage Database Server.\n\nJust my 2Cents \n\nRegards\n\n And how many cost the \"Robust.Stable\" ADS ? ... Excuse for my irony , maybe it's free versions , bus as I remember , isn't free . I know that this is a good thing , but for limited budget project I'm prefering free DBMS . About 6-7 years ago I played with ADS local server and , remember , that performance was weaky place ... Maybe at this time and local server works good , I don't know . But ADS is working with the sames DBFs + CDXs . If you watched my latest topic in this forum , you will noticed that they concerned about how to insert new lines in xBrowse , a la blank line . The problem conce"},{"src":"Foro FiveTech · FiveWin para Harbour/xHarbour (ES)","url":"https://fivetechsoft.github.io/forums/topic-24180.html","title":"FiveDBU para 32/64 bits","text":"P (Antonio Linares): En desarrollo... \n\nFiveDBU.prg\n\nCode (fw): Select all Collapse\nR (Antonio Linares): Implementada la auto edición de registros:\n\nCode (fw): Select all Collapse"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-45297.html","title":"new Class TDeepSeek in next FWH 24.12","text":"P (Antonio Linares): Next FWH 24.12 includes Class TDeepSeek\n\nDeepSeek is much cheaper than OpenAI and it offers the same AI quality. \n\nYou have to register in DeepSeek site and get your API key. Then from a cmd window do:\n\nset DEEPSEEK_API_KEY=sk-...\n\nsample of use:\nCode: Select all Collapse\nR (Antonio Linares): Has probado a preguntarle a chatgpt ?\n\nEn estos casos preguntar a varias IAs: chatgpt, claude, copilot, deepseek, es la mejor opción"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-12646.html","title":"SQLWIN - a free RDD for SQL","text":"P (Antonio Linares): We start the development of SQLWIN, a free and open source RDD for SQL.\n\nAll of you interested in learning and use SQL are welcome to join this project. You can already download a very early prototype, but that can be already compiled and tested:\n\nwww.fivetechsoft.com/files/sqlwin.zip \n\nThe source code is licenced with the same Harbour licence (not included yet in its code). We start from the ADORDD source code, but just to use its structure, that will be totally redesigned.\n\nPlease visit also the spanish thread wh\nR (Antonio Linares): At this stage we are not making a real connection yet.\n\nWe are focused to translate all the RDD Db...() functions into their equivalent SQL sentences.\n\nOn a next step we will create real connections to the database engines. By now, we are using a \"virtual\" DBF for testing purposes."},{"src":"Foro FiveTech · FiveWin para Harbour/xHarbour (ES)","url":"https://fivetechsoft.github.io/forums/topic-28843.html","title":"EasyReport: Tenemos un acuerdo !!! :-)","text":"P (Antonio Linares): Queridos amigos,\n\nHoy Timm me envió este email:\n\nHola Antonio!\n\nDe acuerdo, preferiría si establecemos una cantidad y 6.000 euros está bien para mi.\n\nAsí que vamos a conseguirlos! \n\nOrganizémoslo de esta forma (si alguno de vosotros tiene una mejor propuesta, por favor hacedmela saber, por aqui ó por email si preferis hablarlo confidencialmente):\n\n1. Mi cuenta de PayPal es: alinares@fivetechsoft.com\n\n2. Para todos vosotros que esteis interesados en conseguir EasyReport + código fuente completo: Me teneis que enviar\nR (Antonio Linares): Lista de donaciones recibidas hasta la fecha (mantendremos un post único con todas las donaciones recibidas para que asi todos veais lo que vamos recibiendo):\n\nviewtopic.php?f=3t=28845\n\n&"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-41671.html","title":"Build your FWH app using hbmk2.exe and MSVC 32&64","text":"P (Antonio Linares): Using hbmk2.exe to build our FWH app 32 bits using Microsoft Visual Studio Community 2022:\n\ntest.hbp\n\nCode (fw): Select all Collapse\nR (Antonio Linares): 64 bits version using FWH 64 and MSVC 64 bits:\n\ntest64.hbp\n\nCode (fw): Select all Collapse"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-46131.html","title":"fwh 25.09 dialog bug[resolved]","text":"P (ssbbs): A very strange problem.\n\nThe Dialog is wide enough to display the data,\n\nbut it can't display the TGet data?\n\nCode: Select all Collapse\nR (ssbbs): karinha wrote:\nGood morning, are you telling the program to start all GETs on LINE 0 = @ 0, ... ?????\n\nYes!!"},{"src":"Foro FiveTech · FiveWin para Harbour/xHarbour (ES)","url":"https://fivetechsoft.github.io/forums/topic-26747.html","title":"Comparativa de diseñadores de reportes","text":"P (Antonio Linares): Me gustaria iniciar una conversación en la que comparemos los actuales diseñadores de reportes mas usados: FastReport, Crystal Reports, ?...\n\ny que hagamos una comparativa de lo mejor y peor que ofrecen.\n\nLa idea es saber exactamente que necesitamos y como tener uno (o completar uno existente, como el de Carles) para que no necesitemos ningún diseñador de reportes externo y que FWH lo incluya\nR (Antonio Linares): Alguien que tenga destreza con alguno de ellos que comente como se hace el reporte mas simple, y visualmente que pasos requiere\n\nGracias!"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-22427.html","title":"Windows 8 Metro style - A Class TMetro test","text":"P (Antonio Linares): This is just an early prototype of a Class TMetro to get a little feeling of Windows 8 Metro for our apps \n\nFull source code provided...\n\nmetro.prg\n\nCode (fw): Select all Collapse\nR (Antonio Linares): Using some bitmaps...\n\nmetro.prg\n\nCode (fw): Select all Collapse"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-33286.html","title":"FWH MySQL/MariaDB native support docs","text":"P (Antonio Linares): FWH Built-in MySql/MariaDB functionality\n\nviewtopic.php?f=3t=32657\n\nFWH MariaDb/MySql Backup and Restore\n\nviewtopic.php?f=3t=32791\n\nFWH MySql/MariaDB: RowSet object\n\nviewtopic.php?f=3t=32737\n\nFWH Parent Child RowSets (MySql/MariaDB)\n\nviewtopic.php?f=3t=32736\n\nFWH MYSQL/MARIADB Stored Procedures and Functions\n\nviewtopic.php?f=3t=33280\n\n&&&&&\nR (Antonio Linares): Lubin,\n\nLlevamos años manteniendo los mismos precios y eso en si es una muy buena oferta \n\nTenemos que traducir esa documentación. Gracias por el recordatorio"},{"src":"Foro FiveTech · FiveWin para Harbour/xHarbour (ES)","url":"https://fivetechsoft.github.io/forums/topic-5567.html","title":"Menus tipo office 2003 y XP","text":"P (Arturo Tamayo Daza): Aqui les dejo las fuentes para crear menus tipo office 2003 y Xp, basado en las fuentes originales de Fivewin\n\nPueden descargar de www.quark-costos.com\n\nFelices fiestas\n\nSaludos\n\nArturo Tamayo Daza\nR (Silvio): This is a good idea but .....\n\nPaco's Menu is the best menu control Xp office \n\nU can set from one to 14 style type menus"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-8496.html","title":"FWH - New Office 2007 menus !!!","text":"P (Antonio Linares): We are currently testing and completing the new FWH 7.11 Office 2007 menus. No need to change your source code at all \n\nIf you want to test them and help to fine tune them, please send me an email and specify is you use Harbour or xHarbour. You have to be already a FWH 7.10 user in order to test them.\nR (Antonio Linares): James,\n\nWell, its not that bad. Those bitmaps are automatically painted by Windows, and I guess most users don't use them that way\n\nMany thanks for your feedback"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-26245.html","title":"bug in FW 13.04 combobox","text":"P (lucasdebeltran): Hello,\n\nThis code, in previous FW 13.03 showed Lucas on the combobox.\n\nCode (fw): Select all Collapse\nR (Antonio Linares): Lucas,\n\nPlease provide the RC for your example, thanks. I have answered you in that xbrowse thread.\n\nGunther,\n\nYour changes were breaking already working code. I answered you by email"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-5674.html","title":"Report generator","text":"P (Nop): hi, i would like know about report generator used by fwh users? whats the best? thanks\nR (R.F.): There are at least 3 options to go\n\n1) EasyReport (www.reportdesigner.info) Written in FiveWin, includes the visual designer along with a LIB that let you print your reports designed in ER.\n\n2) The most common used (I think) Crystal Reports, which is the \"standard\" for visual report designers under Windows, the most of the programming languages use it. FiveWin provides two ways to use Crystal, one usign a TCRPE class and other via ActiveX.\n\n3) You can also use List&Label the european equivalent of Crystal Reports, you can handle from FiveWin using ActiveX also (http://en.combit.net/reporting_tool/page1122.aspx)"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-25706.html","title":"Tablet and form style for Windows 8 (desktop ver.)","text":"P (Antonio Martinez): Hi all, especially Otto,\n\nI recently purchased an Asus tablet with Windows 8 desktop version.\n\nHe had thought about making a CRM program for this tablet. I had thought to start doing a form. This had thought of using ScrollDlg class. I've seen that I need the virtual keyboard automatically show when the user is positioned at a Get.\n\nAny hit is welcome.\n\nregards\nR (Antonio Linares): Antonio,\n\nPlease review FWH\\samples\\keybsim.prg as it implements a virtual keyboard"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-32737.html","title":"FWH: MySql/MariaDB: RowSet object","text":"P (nageswaragunupudi): Rowset object is similar to RecordSet of ADO, TDatabase for DBF and oQuery of TMySql and TDolphin.\n\nRowSet works more like DBF and RecordSet and differences from oQuery of TMySql and Dolphin are discussed here. \n\nThis documentation includes improvements made after release of 16.05.\n\nCreating RowSet: \n\nOptions\n\n1) oRs := oCn:RowSet( cTable(or)cSql, [lShowError] ) // simple and normal\n\n2) oRs := oCn:RowSet( cTable(or)cSql, NumRows, [lShowError] )\n\n3) oRs := oCn:RowSet( cSql, aParams, [lShowEror] ) //where oCn is the \nR (nageswaragunupudi): Navigation methods and datas:\n\nNavigation behaves similar to DBF and RecordSet than oQuery of other libs.\n\nLastRec() --> Total number of records at the time of reading the rowset\n\nThis number remains constant even after deletion of some records. Behavior similar to DBF. Adding records increases the number.\n\nRecCount()/RecordCount(): Actual number of records. This is equal to LastRe() less number of deleted records. In the present version deleted records are totally removed. (Future plans: To retain the deleted records with facility to restore like in DBF)\n\nRecNo() (or) BookMark: Serial number of the Record at the time of reading the rowset.\n\nThis number uniquely identifies a record and does not change through o"},{"src":"Foro FiveTech · FiveWin para Harbour/xHarbour (ES)","url":"https://fivetechsoft.github.io/forums/topic-45352.html","title":"dialogo resizable desde recursos?","text":"P (D.Fernandez): Hola amigos:\n\nEstoy buscando unos ejemplos que habían con REDEFINE Dialog.....bla,bla \n\nque se podían cambiar el tamaño incluyendo los elementos incluidos en el dialog.\n\nEsto ya está pronto? \n\nYa se, estoy medio pesado y perdido, disculpen.\n\nSaludos\n\nRuben Dario Fernandez\nR (D.Fernandez): Gracias Joao, pero no es esto.\n\nIncluso Mr. Rao publicó unos ejemplos con animaciones\n\npero ahora no los encuentro y no se si esta totalmente funcional.\n\nGracias \n\nSaludos.\n\nRuben Dario Fernandez"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-28842.html","title":"EasyReport: We have a deal !!! :-)","text":"P (Antonio Linares): Dear friends,\n\nToday Timm sent me this email:\n\nHi Antonio!\n\nAlright, I would prefer if we set an amount and 6000 Euro is fine for me.\n\nSo lets go for it! \n\nLets organize it this way (if someone of you has a better proposal, please let me know it, here or by email if you prefer to talk confidentially):\n\n1. My PayPal account is: alinares@fivetechsoft.com\n\n2. For all of you that are interested to get EasyReport + Full source code: You have to send me a 100 euros donation. Important: you will not receive it until the t\nR (Antonio Linares): Donations list up to date (we will keep this single post with all the received donations so you all see its progress):\n\nviewtopic.php?f=3t=28845\n\n&"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-32263.html","title":"Windows Toast notifications - second try","text":"P (Antonio Linares): This is a portion of code required to create a standard Windows Toast notification.\n\nTo build it you must use FWH\\samples\\buildh32.bat toast\n\nHere it is failing in hr = GetActivationFactory( hs, &toastStatics ); so you will get a MessageBox()\n\nAny hint to solve it ? thanks\n\ntoast.prg\n\nCode (fw): Select all Collapse\nR (Antonio Linares): Solved \n\nI continue testing it\n\ntoast.prg\n\nCode (fw): Select all Collapse"},{"src":"Foro FiveTech · FiveWin para Harbour/xHarbour (ES)","url":"https://fivetechsoft.github.io/forums/topic-19204.html","title":"TDolphin Clase para manejar MySql","text":"P (Daniel Garcia-Gil): Saludos.\n\nTDolphin, es una clase diseñada para los compiladores de Harbour/xHarbour para el manejo de MySql.\n\nTDolphin esta pensada para reducir lineas de codigo, hacer mejor depuracion y facil manejo del poder de MySql.\n\nNo tiene la intencion de usar o simular a MySql como DBF, pues no queremos perdernos de toda la capacidad de MySql, aunque se pueda encontrar con codigo muy similar a clases que manejan DBFs\n\nSi han usado TMySql les sera mas facil adaptarce a TDolphin, aunque ya por si misma es de muy facil uso.\n\n\nR (Lautaro): Daniel,\n\nPor lo que vi, la idea es la misma de la tmysql, pero estrujando al mysql.\n\nEn el codigo vi que se puede usar el servidor embebido de mysql, ¿ esta operacional esa opcion ?\n\na otra pregunta, el codigo en c usa como base la contrib de harbour o las otras contrib que dan vueltas, ( la de xharbour ).\n\nSaludos \n\nLautaro Moreira"},{"src":"Foro FiveTech · FiveWin para Harbour/xHarbour (ES)","url":"https://fivetechsoft.github.io/forums/topic-31426.html","title":"Warning: Error detected (LME288)","text":"P (surGom): Hola estoy tratando de compilar con harbour junio 2015 y bcc7 y me da el siguiente error:\n\nCode (fw): Select all Collapse\nR (Antonio Linares): http://stackoverflow.com/questions/28929516/c-builder-xe7-lme288-error\n\nI found a workaround that seems to work.\n\nIt seems to have something to do with corrupted temporary files. I managed to get it to work again after I did a \"Disk Cleanup\" on my system disk.\n\nI Deleted all files in the list (all checkboxes checked) and also the \"Clean up system files\"\n\nAfter that I could compile and link, even without rebooting. Even the incremental link began to work again!"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-43528.html","title":"Lost connection to MySQL server during query","text":"P (vilian): Hi Guys,\n\nSometimes, my customer is getting an error with the message \"Lost connection to MySQL server during query\". Nowaday, i already have an implementation to surround this problem, so i would like this message was not showed. Is it possible ?\nR (nageswaragunupudi): Nowaday, i already have an implementation to surround this problem, \nWhat is your implementation please?\n\nThis message is displayed if and when the connection with the server is lost when the application is trying to access the server.\n\nThis mostly happens due to physical disconnection of cables or loss of internet in case of cloud servers, etc.\n\nThis message is intended to advise the user to restore the physical connection and try the operation again. We considered this important instead of just keeping the application hanging and keeping the user in suspense."},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-34918.html","title":"Building Harbour 3.4 for BCC outside MSYS","text":"P (andijahja): Hi All:\n\nAs we all know, Harbour developers are killing BCC support next year. Furthermore, Harbour 3.4, the superset of of original Harbour, does not provide tools to build the compiler without MSYS. Personally, I hate to use MSYS for Harbour creation.\n\nThose, particularly BCC users, who wish to try to build Harbour 3.4, I have made simple tools to create it without MSYS.\n\nFollowings are steps how to build Harbour 3.4 without MSYS:\n\n1. Download/clone the latest source code from https://github.com/vszakats/harbour-\nR (Antonio Linares): Harbour works great using Microsoft Visual Studio\n\nFurther more, Harbour 3.4 is not the official Harbour. It is just a Harbour fork developed by Viktor\n\nThere is no reason to worry at all \n\nTime to consider to migrate to Microsoft Visual Studio"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-23665.html","title":"Windows Metro UI","text":"P (Otto): One sometimes forgets the huge base of Windows users, it sometimes seems that Apple Macs are the market leader and Linux clients are running Microsoft close for second place. \n\n The truth is Microsoft has an 85%+ market share.\n\nhttp://www.computerperformance.co.uk/win8/windows-metro-ui.htm\n\nBut the important bit is that this Metro-style interface isn't an app, it's the Windows shell. It's Windows. So get used to it. It's not going away. But it will get better.\nR (Antonio Linares): Dear Otto,\n\nThere are all kind of opinions about Windows 8. I am neutral about it, anyhow its good to keep an open mind about it \n\nhttp://www.zdnet.com/blog/hardware/windows-8-consumer-preview-the-good-the-bad-and-the-ugly/18674\n\nhttp://www.brightsideofnews.com/news/2012/2/27/exclusive-windows-8-launch-in-fourth-quarter-20122c-arm-in-second-quarter-2013.aspx\n\nAccording to some experts, Windows will decrease its market share below 60% in the next two years:\n\nhttp://eliax.com/index.cfm?post_id=9246\n\nThe truth is that still there are lots of Windows computers using XP. In my opinion Windows 7 is much better, but regarding Windows 8 I really don't know what the users reactions will be. I think it has no sense to pr"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-31147.html","title":"DBF to SQL converter program","text":"P (pieter): Hello,\n\nI am making a program which reads all the dbf files in a folder, and then each dbf file will have corresponding sql table in a MYSQL database.\n\n1: Choose a SQL database name\n\n2: Choose a folder, to find all dbf's in it.\n\n3: Make a MYSQL database with the name given by step 1.\n\n4: Each dbf file becomes a table in the MYSQL database. each sql table has the name of the dbf file. (So a file customer.dbf becomes customer in MySQL)\n\n5: import the data from each dbf file to the sql tables.\n\nThe code look like this\nR (Antonio Linares): Pieter,\n\nhttp://www.fivetechsoft.com/harbour-docs/harbour-reference-guide.htm#ADir"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-32791.html","title":"FWH 16.06: MariaDb/MySql Backup and Restore (Updated 16.08)","text":"P (nageswaragunupudi): (Note: Enhancements and additions in FWH16.08 are noted in Red Color in this post)\n\nFWMariaConnection object provides 3 methods for backup and restore operations. As already mentioned, all features of FWH co-exist with other libraries like TMySql, TDolphin, etc and also ADO. Applications mainly relying on other libs can also use these methods for backup and restore.\n\nFor using these features we need to obtain a new FWH connection and close after use. In case the application is already connected using TMySql or ADO,\nR (nageswaragunupudi): Main purpose of backup/restore is to backup all objects of database with the ability to reconstruct the full database in case of need.\n\nFWH's backup/restore feature is greatly enhanced to meet this requirement fully. \n\nBackup of full database backsup Tables, Views, Triggers, Functions and Procedures. Restoring restores all these objects in proper order making it on par with other professional backup/restore tools.\n\nThis enhancement is available in the next build due for release any time now."},{"src":"Foro FiveTech · FiveWin para Harbour/xHarbour (ES)","url":"https://fivetechsoft.github.io/forums/topic-29861.html","title":"Migrando de FWH 32 a FWH 64 - windows.h","text":"P (Verhoven): Migrando a 64 bits nos encontramos que al intentar compilar un archivo con funciones en C nos dice que no encuentra el archivo de cabecera windows.h\n\nEl error es: wbrwline.c .\\sourceh\\function\\twbrowse\\wbrwline.c(7) : fatal error C1083: No se puede abrir el archivo incluir: 'Windows.h': No such file or directory\n\nEste archivo windows.h es de Borland y como al pasar a 64 bits tenemos que usar el MSVC++ no encuentro cual es el equivalente para MSVC++ para hacer la sustitución.\n\nPaso las líneas de compilación que tení\nR (Antonio Linares): Antes de llamar a cl.exe tienes que llamar a este fichero bat si usas un Windows de 32 bits:\n\ncall \"%ProgramFiles%\\Microsoft Visual Studio 12.0\\VC\\vcvarsall.bat\"\n\nSi usas un Windows de 64 bits entonces tienes que llamar a este:\n\ncall \"%ProgramFiles(x86)%\\Microsoft Visual Studio 12.0\\VC\\vcvarsall.bat\"\n\nEso hace que las trayectorias a los ficheros de cabecera de MSVC queden definidos"},{"src":"Foro FiveTech · FiveWin para Harbour/xHarbour (ES)","url":"https://fivetechsoft.github.io/forums/topic-30582.html","title":"Compilando una rutina de menu","text":"P (horacio): Colegas, estoy queriendo utilizar una rutina de menus del año 2007. Al compilarlo con harbour correspondiente a la versión FWH 14.12 obtengo varios errores. Me interesa estos menues porque son muy configurables. Pongo aquí la rutina en C que genera el error.\n\nCode (fw): Select all Collapse\nR (horacio): Gracias Carlos, funcionó perfectamente> Ahora tengo el siguiente error en otra de las rutinas en C. Aquí el código\n\nCode (fw): Select all Collapse"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-2874.html","title":"ways to save report to a file and easily open","text":"P (ShumingWang): Hi, \n\n One of our customers asked me if fwh app can offer a way to save a report to a file, email it to his customers and his customers can open the file and print it in a easily way. \n\n Now they print out then send a fax to his customer, but fax not 100% reliable.\n\nBest regard!\n\nShuming Wang\nR (RuFer): Shuming:\n\nTry EasyPreview from \n\nwww.reportdesigner.info\n\nYou can save the report in JPG, BMP, WMF, EMF, PNG\n\nand you can send it by mail.\n\nIf you have more than 1 page you can save it and compress it and \n\nsend the file.zip by mail too.\n\nRegards. \n\nRuben Fernandez"},{"src":"Foro FiveTech · FiveWin para Harbour/xHarbour (ES)","url":"https://fivetechsoft.github.io/forums/topic-32550.html","title":"Ver PDF dentro de la aplicación","text":"P (fgondi): Hola,\n\nHasta ahora los pdf's los muestro dentro de la aplicación con el ActiveX de Acrobat Reader.\n\nPero cada vez que hay una actualización del Acrobat Reader, suele generar problemas y ya no se ven los PDF.\n\nTengo que andar cambiando condiciones en Acrobat Reader para que se puedan ver y en cada versión son distintas.\n\nMe gustaría poder dejar de usar Acrobat, para dejar de tener problemas.\n\n¿Alguno usa algún visor de PDF dentro de las aplicaciones?, ¿Cúal?\n\nMuchas gracias\nR (Antonio Linares): Fernando,\n\nYo suelo usar Chrome como visor de PDFs.\n\nImagino que modificando samples\\webexp.prg podrias usarlo de visor de PDFs. \n\nNo lo he probado pero debería funcionar"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-10643.html","title":"A Question Abot DIALOGs","text":"P (xProgrammer): Hi FiveWinnners\n\nI have some questions about DIALOGs that I probably should have asked some time ago, and maybe just shows that I don't quite understand, but here goes:\n\nOK I have DIALOGS (objects of class TDialog) which I create programmatically. In other words my code looks something like this:\n\nCode: Select all Collapse\nR (Antonio Linares): Doug,\n\nYou can hide it ( oDlg:Hide() ) and later on show it ( oDlg:Show() ) again instead of end it.\n\nYou may need to create it as non modal, and to simulate modal behavior, disable other windows and dialogs doing oWnd:Disable(). Later on enable them doing oWnd:Enable()"},{"src":"Foro FiveTech · FiveWin para Harbour/xHarbour (ES)","url":"https://fivetechsoft.github.io/forums/topic-1612.html","title":"TdosPrn con Preview e impresoras laser","text":"P (ralph): Estimados amigos del foro:\n\nComo muchos de ustedes uso la clase TdosPrn modificada por Ednaldo Rolim que nos da la opcion de previsualizar los reportes (una excelente clase) antes de imprimirlas en impresoras matriciales. \n\nSin embargo me encontre con clientes que tenian impresoras Laser USB, u otras con tarjeta de red y se quejaban de que no podian imprimir desde este preview. Habia que hacer algunos trucos con NET USE LPTx para que se pudiera redireccionar la impresion a esas impresoras, lo que resultaba un tanto\nR (goosfancito): Sobre esta clase,\n\nAmigo, trate de varias formas de crear la clase y ejemplo que esta en ese zip pero me saltan errores, los que detallo.\n\nCode: Select all Collapse"},{"src":"Foro FiveTech · FiveWin para Harbour/xHarbour (ES)","url":"https://fivetechsoft.github.io/forums/topic-28917.html","title":"Pasar a SQL paso a paso para Novatos..","text":"P (cuatecatl82): Saludos foro:\n\nEstoy intentando usar SQL, pero con tanta información ya me confundi, creo que como muchos no damos el paso de usar DBF a SQL porque la información es muy confusa, demasiado técnica y hasta cierto punto fastidiante como me ha pasado a mi varias veces con este proceso, hasta ahora tengo entendido que necesito un motor para gestionar las bases de datos, sea MySQL, MariaDb y las funciones que se comuniquen con el motor como Eagle, TDolphin, TSql.\n\nYo opte por usar MariaDB y TDolphin, ya tengo el instala\nR (Antonio Linares): Victor,\n\nNo necesitas instalar nada. ADO viene ya en Windows por defecto \n\nY si quieres probar con el motor local de Access pues tampoco tienes que descargar ó instalar nada, puesto que tambien viene con Windows"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-23554.html","title":"What is the best of MySql (lib or class) TMySql, TDolphin","text":"P (dutch): Dear All,\n\nI would like to know, the best way to move to MySql?\n\nTMySql (LibMySql)\n\nTDolphin\n\nADO\n\netc.\n\nThanks for all idea and recommendation.\n\nRegards,\n\nDutch\nR (Rick Lipkin): I like ADO as well for the very same reason Enrico noted.. and if you are using ado you can specify the cursor location. ( local .. very fast ) \n\nUnfortunately ADO for MySql is not native and you have to download ( or pay for .. last time I looked ) a run-time client. If you have plans to distribute your app with ADO and have many computers .. you have a distribution problem.\n\nOn the flip side, you can use the MySql library that you can ( conveniently ) link into your app ( much like advantage database ) but the syntax is nothing like the standard ADO methodology which is consistent with Sql Server, Oracle, IBM DB2, Access .. \n\nPros and cons both ways.\n\nRick Lipkin"},{"src":"Foro FiveTech · FiveWin para Harbour/xHarbour (ES)","url":"https://fivetechsoft.github.io/forums/topic-11704.html","title":"[TExplorerBar() v1.0] Control Freeware xharbour/fivewin","text":"P (andresreyes_mzt): ExplorerBar() permite la creacion de barras de exploracion similares a las utilizadas en el explorador de archivos de Windows XP, clase creada y compilada con (x)Harbour y probada con Fivewin 8.03.\n\nScreenShot\n\nCrear una Barra es tan facil como agregar la siguiente linea.\n\nCode: Select all Collapse\nR (wmormar): Andrés,\n\nsimplemente excelente aportación, he estado checando y es un control totalmente novedoso.\n\nse comporta igual que la barra de windows XP.\n\nsaludos\n\nandresreyes_mzt wrote:ExplorerBar() permite la creacion de barras de exploracion similares a las utilizadas en el explorador de archivos de Windows XP, clase creada y compilada con (x)Harbour y probada con Fivewin 8.03.\n\nScreenShot\n\nCrear una Barra es tan facil como agregar la siguiente linea.\n\nCode: Select all Collapse"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-45336.html","title":"xbrowse, dbf and codeblock","text":"P (JoséQuintas): Using DBF.\n\nWhen define a codeblock for skip, xbrowse update fail.\n\nCode: Select all Collapse\nR (JoséQuintas): nageswaragunupudi wrote:\nXBrowse automatically generates all navigation codeblocks internally and correctly for all known datasources like arrays, hashes, dbf, ado-recordsets and all other known classes.\n\nPlease do not write our own navigation codeblocks.\n\nYes, for a standard navigation.\n\nWhat to do when I need a not default navigation for dbf?\n\nI think codeblocks are available on xbrowse to do things like this, in same way as harbour tbrowse.\n\nAm I wrong ?"},{"src":"Foro FiveTech · FiveWin para Harbour/xHarbour (ES)","url":"https://fivetechsoft.github.io/forums/topic-33304.html","title":"FWH MySQL/MariaDB soporte nativo docs","text":"P (Antonio Linares): FWH Built-in MySql/MariaDB functionality\n\nviewtopic.php?f=3t=32657\n\nFWH MariaDb/MySql Backup and Restore\n\nviewtopic.php?f=3t=32791\n\nFWH MySql/MariaDB: RowSet object\n\nviewtopic.php?f=3t=32737\n\nFWH Parent Child RowSets (MySql/MariaDB)\n\nviewtopic.php?f=3t=32736\n\nFWH MYSQL/MARIADB Stored Procedures and Functions\n\nviewtopic.php?f=3t=33280\n\n&&&&&\nR (Antonio Linares): Todos los wikis estan ahora aqui:\n\nhttps://github.com/FiveTechSoft/FiveTech_wiki"},{"src":"Foro FiveTech · FiveWin para Harbour/xHarbour (ES)","url":"https://fivetechsoft.github.io/forums/topic-45121.html","title":"HDBC para SQLite","text":"P (xmanuel): Hola mi gente...\n\nEstoy preparando una nueva clase para trabajar con bases de datos.\n\nLa primera será para SQLite, luego vendrá PostgreSQL, MySQL, SQLServer y ODBC.\n\nEstará hecha en C++ para ser usada como clases Harbour.\n\nPodéis sugerirme cualquier cosa para implementarla,\n\nSaludos y atentos a las pantalla!!!\n\n :roll:\nR (Marcelo Via Giglio): Manuel,\n\nbuenos dias alla creo, que buena noticia, yo siempre ando esperando algo para Postgres, un par de preguntas:\n\nse podra utilizar un solo codigo para interacturar con las diferentes DBs?\n\nhabra un active record? esto creo que si, pienso que es casi inevitable?\n\nsuerte, estare pendiente a tus novedades\n\nsaludos cordiales\n\nMarcelo Via"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-25086.html","title":"PROBLEMS ??? installing new Windows 8 - release","text":"P (ukoenig): Hello,\n\ntoday I baught Windows 8 full version.\n\nMy old system is Vista.\n\nBecause of some messages about scripting problems I wanted to change to Windows 8.\n\nI started the install with option include existing Progs ( Vista-installs ).\n\nAfter 20 reboots the message : Not possible to install \n\nWhy ? NO idea. Free diskspace on C: 200 GB \n\nThe computer I wanted to install is a new computer with Quatro-processor and 2 Gigs memory\n\nNow, I'm using my broken Vista, to connect to the Forum, but cannot write / read any\n\nEmail\nR (Antonio Linares): Uwe,\n\nMy best advise is to use the cloud as much as possible. \n\nI don't keep any important data on my computers, so I can use any computer and in some minutes I become fully productive. \n\nDon't rely neither be dependant on local stored data, so do a backup, format and say bye to Windows Vista"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-28779.html","title":"Next target: EasyReport !!! :-)","text":"P (Antonio Linares): I just sent this email to Timm Sodtalbers (EasyReport owner and developer) \n\nDear Timm,\n\nLong time we don't talk. How are you ? I hope everything is fine on your side.\n\nI would like to comment you something:\n\nWould you be interested in selling EasyReport source code ? My idea is to make it open source and to integrate it with FWH.\n\nThis way we could have a free and open source report designer for all the FWH users community \n\nHopefully we could find an agreement and this way we would give EasyReport a long long lif\nR (Antonio Linares): Richard,\n\nWe must have full source code for the visual report designer to include in FWH as we don't want to depend on closed commercial products that sooner or later may become obsolete or discontinued.\n\nThis way I understand that the best choice is EasyReport"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-29832.html","title":"New Rating Class","text":"P (Silvio.Falconi): Friends,\n\n I made a new class : TRating class \n\nIt is a beta test but now it is working ... \n\nIt not need images or bitmap to build stars !!!\n\nWe can insert symbol and bitmaps \n\nSample:\n\n @ 16 ,10 SAY \"My Rating :\" Of oWnd PIXEL\n\n oRating := TRating():New( 10, 75, 80, 20, oWnd,oFont)\n\n oRating:nType=1 // Stars\n\nwe can assign a Value for each symbols\n\nsimply with oRating:AssignValues( oRating:AssignValues(aValoracion))\n\nwhere aValoracion is an array with values \n\nyou're seeing the number 50.... is the value it retur\nR (Antonio Linares): Silvio,\n\nLook at Uwe's so nice screenshot. Look at a star that is half painted with two colors.\n\nEach half star can be painted as a poligon. So thats the solution \n\nThe half of a star is also a poligon"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-26748.html","title":"Reports designers comparison","text":"P (Antonio Linares): I would like to start a new thread comparing the most commonly reports designers in use: FastReport, Crystal Reports, EasyReport, etc...\n\nWhat is the best and worse of each one ? What is needed and what is extra and not needed.\n\nTne idea is to develop or complete a reports designer for FWH, so we don't need to include an external one\nR (Antonio Linares): If you master one of these, please explain the basic steps to create a simple report and show the visual steps to do, thanks!"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-30904.html","title":"Preview of a file","text":"P (Silvio.Falconi): Can I show the preview of a file with Image class ?\n\nsample I have namedoc.doc or noname.pdf can I show the preview on dialog ?\nR (Silvio.Falconi): error in compilation\n\nline 31\n\nIPreviewHandler* GetIPreviewHandler(const wchar_t* cExtension)\n\nProgetto: test, Ambiente: xFive_Pelles:\n\n[1]:Harbour.Exe test.prg /m /n0 /gc1 /es2 /iC:\\Work\\fwh\\include /ic:\\work\\xHarbour\\Include /jC:\\Work\\Errori\\PREVIE~1\\I18n\\Main.hil /iinclude;c:\\work\\fwh\\include;c:\\work\\xHarbour\\include /oObj\\test.c\n\nxHarbour 1.2.3 Intl. (SimpLex) (Build 20140725)\n\nCopyright 1999-2014, http://www.xharbour.org http://www.harbour-project.org/\n\nCompiling 'test.prg'...\n\nGenerating international list to 'C:\\Work\\Errori\\PREVIE~1\\I18n\\Main.hil'...\n\nGenerating C source output to 'Obj\\test.c'...\n\nDone.\n\nLines 18, Functions/Procedures 1, pCodes 100\n\n[1]:Bcc32.Exe -M -c -O2 -tW -v- -X -DHB_FM_STATISTICS_O"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-23011.html","title":"UE Studio Config - Harbour 3.0, MSVC, FWH","text":"P (TimStone): For those of you who use Ultra Edit Studio, it is very convenient to have it actually build your application. You create an application, add all the files you will use, and then you can have it generate and run the make file.\n\nWe now have this successfully running using FiveWin Harbour ( 11.11 ), Microsoft Visual Studio 2010 ( VC ), and Harbour 3.0. To do this, when you configure your compiler, use the Harbour config ( its included in your FWH distribution if its not already on your system ) and make sure it is set\nR (Antonio Linares): Tim,\n\nThanks for sharing it \n\nInstead of:\n\n L:\\vc98\\bin\\rc.exe \n\nbetter use:\n\n %ProgramFiles%\\Microsoft SDKs\\Windows\\v7.0A\\bin\\rc.exe\n\nImportant: Borland brc32.exe is NOT compatible with MSVC and a generated res with it could corrupt the EXE that usually won't boot"},{"src":"Foro FiveTech · FiveWin para Harbour/xHarbour (ES)","url":"https://fivetechsoft.github.io/forums/topic-45362.html","title":"Focus en window MDICHILD","text":"P (FiveWiDi): Hola a todos,\n\n¿Cómo puedo saber si una de las window MDICHILD tiene el foco?\n\nGracias,\nR (Antonio Linares): Carlos,\n\nbuenos dias\n\nPrueba con oWndChild:hWnd == GetFocus()\n\nTambien podrias usar oWndChild:bGotFocus = { || MsgBeep() } y oWndChild:bLostFocus = { || MsgBeep() }\n\nPuedes usar OutputDebugString( \"foco recibido\" ) y dbwin32 en vez de MsgBeep(). Si usas MsgInfo() alteraras la secuencia de foco"},{"src":"Foro FiveTech · FiveWin for Harbour/xHarbour (EN)","url":"https://fivetechsoft.github.io/forums/topic-19334.html","title":"Refreshing xbrowse when dataset is closed and re-opened","text":"P (Rick Lipkin): To All\n\nI have a xBrowse list box already established .. I have a change motorpool option that worked fine under fwh txbrowse ..\n\nWhat happends is the record set is completely changed because the dataset is closed and re-opened with a new set of values .. did not have a problem pryor to migrating my listbox to xbrowse..\n\nHere is the jist of the code :\n\nCode (fw): Select all Collapse\nR (James Bott): Rick,\n\nYour code is quite complex for us to easily debug.\n\nNote that the parameters for listboxes and TXBrowse are quite different, so you can't just plug in TXBrowse.\n\nThe error you are getting seems to indicate that the new recordset is not opened. Try verifying that it is.\n\nYou could try a call to oBrw:setADO( oRecordset ) after opening the new recordset.\n\nPerhaps you could make a very simple example of switching the recordset and using the same TXBrowse.\n\nRegards,\n\nJames"},{"src":"Foro FiveTech · FiveWin para Harbour/xHarbour (ES)","url":"https://fivetechsoft.github.io/forums/topic-4897.html","title":"ACTIVEX PDF y fusión de datos","text":"P (Manuel Aranda): Con ACTIVEX PDF logro visualizar por pantalla un formulario PDF con campos editables para rellenar. Sería un gran avance poder rellenar esos campos automáticamente con los datos contenidos en un registro de una BD. ¿Es posible esto? Alguien sabe cómo se hace o existe documentación al respecto?\n\nUn saludo,\n\nManuel Aranda\n\nFWH 2.8 Octubre/2006\nR (sjingo): Hola Manuel\n\nNo sé exactamente cómo funciona el activeX PDF, pero te puedo dar una pista que espero te funcione.\n\nComo sabes al crear el PDF con campos editables se crea un archivo similar de extensión FDF (Forms Data Format) qe es el que guarda los nombres de los campos y su contenido. Entonces el truco está en acceder a este archivo con funciones de bajo nivel y modificar sus datos. Y eso sería todo.\n\nA continuación te muestro el código que hace esto pero en PHP (lo encontré en Internet), con el que te puedes guiar, pasarlo a Harbour y probar:\n\n