From 617ae337fd6dfa8d9165a43259a6f033905bc5db Mon Sep 17 00:00:00 2001 From: Luiz Rafael Culik Date: Sun, 13 Feb 2000 00:57:59 +0000 Subject: [PATCH] See changelog 20000212 22:50 --- harbour/ChangeLog | 12 ++ harbour/doc/funclist.txt | 4 +- harbour/source/rdd/dbcmd.c | 223 +++++++----------------------- harbour/source/rtl/fieldbl.prg | 2 + harbour/source/rtl/memvarbl.prg | 4 +- harbour/source/rtl/memvars.c | 21 ++- harbour/source/rtl/strings.c | 2 +- harbour/source/rtl/tone.c | 2 +- harbour/source/tools/fileread.prg | 2 +- harbour/utils/hbdoc/genhtm.prg | 2 + 10 files changed, 80 insertions(+), 194 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 00f36c06ab..f9c3cb6e93 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,15 @@ +20000212-22:50 GMT-3 Luiz Rafael Culik + *source/rdd/dbcmd.c + *Some docs changed + *source/rtl/fieldbl.prg + *source/rtl/memvars.c + *source/rtl/tone.c + *source/tools/fileread.prg + *Added status to the Doc + *Makefile.b32 + *Added obj\b32 to the include dir + *source/rtl/strings.c + *Fixed VAL() function provided by Jose Lanin 20000212-14:00 GMT+1 Ryszard Glab *source/macro/macro.l diff --git a/harbour/doc/funclist.txt b/harbour/doc/funclist.txt index df531e9447..d532569961 100644 --- a/harbour/doc/funclist.txt +++ b/harbour/doc/funclist.txt @@ -401,8 +401,8 @@ GetNew ;S; ; TBROWSE OBJECT TBrowseNew ;S; TBrowseDB ;S; -:AutoLite ;N; -:Cargo ;N; +:AutoLite ;S; +:Cargo ;S; :ColCount ;N; :ColorSpec ;N; :ColPos ;N; diff --git a/harbour/source/rdd/dbcmd.c b/harbour/source/rdd/dbcmd.c index b6ec37086c..bd8c85f47e 100644 --- a/harbour/source/rdd/dbcmd.c +++ b/harbour/source/rdd/dbcmd.c @@ -1787,7 +1787,7 @@ HARBOUR HB_DBF( void ) * $ARGUMENTS$ * * $RETURNS$ - * Logical true (.T.) or false (.F.) + * Logical true (.T.) or false (.F.) * $DESCRIPTION$ * This function determines if the beggining of the file * marker has been reached. If so, the function will return @@ -1797,23 +1797,13 @@ HARBOUR HB_DBF( void ) * database unless the function is preceded by an alias * $EXAMPLES$ * FUNCTION Main() - * - * USE Test - * - * qOut( BOF(),Recno()) - * qOut(Test->(BOF()),Test->(Recno())) - * skip -1 - * qOut( BOF(),Recno()) - * qOut(Test->(BOF()),Test->(Recno())) - * dbGoBottom() - * qOut( EOF(),Recno()) - * qOut(Test->(BOF()),Test->(Recno()),Test->(BOF())) - * skip - * Test->(dbGoBottom(),LastRec()) - * qOut( EOF(),Recno()) - * Test->(qOut(BOF(),Recno(),BOF())) - * - * RETURN NIL + * USE Tests NEW + * DBGOTOP() + * ? "Is Eof()",EOF() + * DBGOBOTTOM() + * ? "Is Eof()",EOF() + * USE + * RETURN NIL * $TESTS$ * $STATUS$ * R @@ -4376,78 +4366,26 @@ HARBOUR HB_DELETED( void ) * $CATEGORY$ * DATA BASE * $ONELINER$ - * Determine when end of file is encountered + * Test for end-of-file condition * $SYNTAX$ * EOF() --> * $ARGUMENTS$ * * $RETURNS$ - * - * EOF() returns true (.T.) when an attempt is made to move the record - * pointer beyond the last logical record in a database file; otherwise, it - * returns false (.F.). If there is no database file open in the current - * work area, EOF() returns false (.F.). If the current database file - * contains no records, EOF() returns true (.T.). - * + * Logical true (.T.) or false (.F.) * $DESCRIPTION$ - * - * EOF() is a database function used to test for an end of file boundary - * condition when the record pointer is moving forward through a database - * file. Any command that can move the record pointer can set EOF(). - * - * The most typical application is as a part of the argument - * of a DO WHILE construct that sequentially processes records in a - * database file. Here would include a test for .NOT. EOF(), - * forcing the DO WHILE loop to terminate when EOF() returns true (.T.). - * - * EOF() and FOUND() are often used interchangeably to test whether a SEEK, - * FIND, or LOCATE command failed. With these commands, however, FOUND() - * is preferred. - * - * When EOF() returns true (.T.), the record pointer is positioned at - * LASTREC() + 1 regardless of whether there is an active SET FILTER or SET - * DELETED is ON. Further attempts to move the record pointer forward - * return the same result without error. Once EOF() is set to true (.T.), - * it retains its value until there is another attempt to move the record - * pointer. - * - * By default, EOF() operates on the currently selected work area. It can - * be made to operate on an unselected work area by specifying it within an - * aliased expression (see example below). - * + * This function determines if the end-of-file marker has been reached. + * If it has, the function will return a logical true (.T.); otherwise + * a logical false (.F.) will be returnd * $EXAMPLES$ - * This example demonstrates EOF() by deliberately moving the - * record pointer beyond the last record: - * - * USE Sales - * GO BOTTOM - * ? EOF() // Result: .F. - * SKIP - * ? EOF() // Result: .T. - * - * This example uses aliased expressions to query the value of - * EOF() in unselected work areas: - * - * USE Sales NEW - * USE Customer NEW - * ? Sales->(EOF()) - * ? Customer->(EOF()) - * - * This example illustrates how EOF() can be used as part of a - * condition for sequential database file operations: - * - * USE Sales INDEX CustNum NEW - * DO WHILE !EOF() - * nOldCust := Sales->CustNum - * nTotalAmount := 0 - * DO WHILE nOldCust = Sales->CustNum .AND. (!EOF()) - * ? Sales->CustNum, Sales->Description, ; - * Sales->SaleAmount - * nTotalAmount += Sales->SaleAmount - * SKIP - * ENDDO - * ? "Total amount: ", nTotalAmount - * ENDDO + * FUNCTION Main() + * USE Tests NEW + * DBGOTOP() + * ? "Is Eof()",EOF() + * DBGOBOTTOM() + * ? "Is Eof()",EOF() + * USE + * RETURN NIL * $TESTS$ * $STATUS$ * R @@ -4473,53 +4411,28 @@ HARBOUR HB_EOF( void ) * $CATEGORY$ * Data Base * $ONELINER$ - * Return the number of fields in the current (.dbf) file + * Counts the number of fields in an active database. * $SYNTAX$ * FCOUNT() --> nFields * $ARGUMENTS$ * * $RETURNS$ - * FCOUNT() returns the number of fields in the database file in the - * current work area as an integer numeric value. If there is no database - * file open, FCOUNT() returns zero. + * FCOUNT() Return the number of fields * $DESCRIPTION$ - * FCOUNT() is a database function. It is useful in applications - * containing data-independent programs that can operate on any database - * file. These include generalized import/export and reporting programs. - * Typically, you use FCOUNT() to establish the upper limit of a FOR...NEXT - * or DO WHILE loop that processes a single field at a time. - * - * By default, FCOUNT() operates on the currently selected work area. + * This function returns the number of fields in the current or designated + * work area.If no database is open in this work area, the function will + * return 0. * $EXAMPLES$ - * This example illustrates FCOUNT(), returning the number of - * fields in the current and an unselected work area: - * - * USE Sales NEW - * USE Customer NEW - * ? FCOUNT() // Result: 5 - * ? Sales->(FCOUNT()) // Result: 8 - * - * This example uses FCOUNT() to DECLARE an array with field - * information: - * - * LOCAL aFields := ARRAY(FCOUNT()) - * AFIELDS(aFields) - * - * This example uses FCOUNT() as the upper boundary of a FOR loop - * that processes the list of current work area fields: - * - * LOCAL nField - * USE Sales NEW - * FOR nField := 1 TO FCOUNT() - * ? FIELD(nField) - * NEXT - * + * FUNCTION Main() + * USE Tests NEW + * ? "This database have ",Tests->(FCOUNT()),"Fields" + * USE + * RETURN Nil * $TESTS$ - * * $STATUS$ * R * $COMPLIANCE$ - * + * This function is CA-Clipper compliant * $SEEALSO$ * FIELDNAME(),TYPE() * $INCLUDE$ @@ -4542,7 +4455,7 @@ HARBOUR HB_FCOUNT( void ) * $CATEGORY$ * Data Base * $ONELINER$ - * Retrieve the value of a field variable + * Obtains the value * $SYNTAX$ * FIELDGET() --> ValueField * $ARGUMENTS$ @@ -4604,70 +4517,32 @@ HARBOUR HB_FIELDGET( void ) * $CATEGORY$ * Data Base * $ONELINER$ - * Return a field name from the current (.dbf) file + * Return the name of a field at a numeric field location. * $SYNTAX$ * FIELDNAME/FIELD() --> cFieldName * $ARGUMENTS$ - * is the position of a field in the database file - * structure. + * Field order in the database. * $RETURNS$ - * FIELDNAME() returns the name of the specified field as a character - * string. If does not correspond to an existing field in the - * current database file or if no database file is open in the current work - * area, FIELDNAME() returns a null string (""). + * FIELDNAME() returns the field name. * $DESCRIPTION$ - * FIELDNAME() is a database function that returns a field name using an - * index to the position of the field name in the database structure. Use - * it in data-independent applications where the field name is unknown. If - * information for more than one field is required, use AFIELDS() to create - * an array of field information or COPY STRUCTURE EXTENDED to create a - * database of field information. - * - * If you need additional database file structure information, use TYPE() - * and LEN(). To obtain the number of decimal places for a numeric field, - * use the following expression: - * - * LEN(SUBSTR(STR(), RAT(".", ; - * STR()) + 1)) - * - * By default, FIELDNAME() operates on the currently selected work area as - * shown in the example below. - * + * This function return the name of the field at the th position. + * If the numeric value passed to this function does not correspond to an + * existing field in the designated or selected work area,this function + * will return a NULL byte. * $EXAMPLES$ - * These examples illustrate FIELDNAME() used with several other - * functions: - * - * USE Sales - * ? FIELDNAME(1) // Result: BRANCH - * ? FCOUNT() // Result: 5 - * ? LEN(FIELDNAME(0)) // Result: 0 - * ? LEN(FIELDNAME(40)) // Result: 0 - * - * This example uses FIELDNAME() to list the name and type of - * each field in Customer.dbf: - * - * USE Customer NEW - * FOR nField := 1 TO FCOUNT() - * ? PADR(FIELDNAME(nField), 10),; - * VALTYPE(&(FIELDNAME(nField))) - * NEXT - * - * This example accesses fields in unselected work areas using - * aliased expressions: - * - * USE Sales NEW - * USE Customer NEW - * USE Invoices NEW - * // - * ? Sales->(FIELDNAME(1)) // Result: SALENUM - * ? Customer->(FIELDNAME(1)) // Result: CUSTNUM - * + * FUNCTION Main() + * LOCAL x + * USE Tests NEW + * FOR x := 1 to Tests->(FCOUNT()) + * ? "Field Name",FieldName(x) + * NEXT + * USE + * RETURN Nil * $TESTS$ - * * $STATUS$ * R * $COMPLIANCE$ - * + * This function is CA-Clipper compatible. * $SEEALSO$ * DBSTRUCT(),FCOUNT(),LEN(),VALTYPE() * diff --git a/harbour/source/rtl/fieldbl.prg b/harbour/source/rtl/fieldbl.prg index 8161275fcd..f1e63ce722 100644 --- a/harbour/source/rtl/fieldbl.prg +++ b/harbour/source/rtl/fieldbl.prg @@ -84,6 +84,7 @@ * ? 'New value for the field "name" :', EVAL( bField ) * $TESTS$ * $STATUS$ + * R * $COMPLIANCE$ * If the block is evaluate and there is no field with the name * in the current work area, the code block return NIL. @@ -150,6 +151,7 @@ FUNCTION FIELDBLOCK( cFieldName ) * ? "and now: ", One->name, Two->name * $TESTS$ * $STATUS$ + * R * $COMPLIANCE$ * If the block is evaluate and there is no field with the name * in the given work area, the code block return NIL. diff --git a/harbour/source/rtl/memvarbl.prg b/harbour/source/rtl/memvarbl.prg index 586bf364a2..7147adefbd 100644 --- a/harbour/source/rtl/memvarbl.prg +++ b/harbour/source/rtl/memvarbl.prg @@ -69,11 +69,9 @@ * * RETURN * $TESTS$ - * * $STATUS$ - * + * R * $COMPLIANCE$ - * * $SEEALSO$ * __MVGET(),__MVPUT() * $END$ diff --git a/harbour/source/rtl/memvars.c b/harbour/source/rtl/memvars.c index 3df18bf9d4..c78b9caaa8 100644 --- a/harbour/source/rtl/memvars.c +++ b/harbour/source/rtl/memvars.c @@ -932,13 +932,10 @@ static HB_DYNS_PTR hb_memvarFindSymbol( HB_ITEM_PTR pName ) * initialized with .T. value. * * $EXAMPLES$ - * * $TESTS$ - * * $STATUS$ - * + * R * $COMPLIANCE$ - * * $SEEALSO$ * * $END$ @@ -1017,7 +1014,7 @@ HARBOUR HB___QQPUB( void ) * $TESTS$ * * $STATUS$ - * + * R * $COMPLIANCE$ * * $SEEALSO$ @@ -1113,7 +1110,7 @@ HARBOUR HB___MVPRIVATE( void ) * $TESTS$ * * $STATUS$ - * + * R * $COMPLIANCE$ * * $SEEALSO$ @@ -1188,7 +1185,7 @@ HARBOUR HB___MVXRELEASE( void ) * $TESTS$ * * $STATUS$ - * + * R * $COMPLIANCE$ * * $SEEALSO$ @@ -1274,7 +1271,7 @@ HARBOUR HB___MVRELEASE( void ) * $TESTS$ * * $STATUS$ - * + * R * $COMPLIANCE$ * * $SEEALSO$ @@ -1318,7 +1315,7 @@ HARBOUR HB___MVSCOPE( void ) * You have to reuse PRIVATE or PUBLIC statement to create again * the variable that was cleared by this function. * $STATUS$ - * + * R * $COMPLIANCE$ * * $SEEALSO$ @@ -1439,7 +1436,7 @@ HARBOUR HB___MVCLEAR( void ) * RETURN * * $STATUS$ - * + * R * $COMPLIANCE$ * This function should be called from the debugger only. * $SEEALSO$ @@ -1520,7 +1517,7 @@ HARBOUR HB___MVDBGINFO( void ) * RETURN {|x| IIF( PCOUNT()==0, __MVGET( cMemvar ),; * __MVPUT( cMemvar, x ) ) } * $STATUS$ - * + * R * $COMPLIANCE$ * * $SEEALSO$ @@ -1618,7 +1615,7 @@ HARBOUR HB___MVGET( void ) * RETURN {|x| IIF( PCOUNT()==0, __MVGET( cMemvar ),; * __MVPUT( cMemvar, x ) ) } * $STATUS$ - * + * R * $COMPLIANCE$ * * $SEEALSO$ diff --git a/harbour/source/rtl/strings.c b/harbour/source/rtl/strings.c index e1764a1c66..6f5d500589 100644 --- a/harbour/source/rtl/strings.c +++ b/harbour/source/rtl/strings.c @@ -1537,7 +1537,7 @@ HARBOUR HB_VAL( void ) iDec = 0; } - hb_retnlen( hb_strVal( pText->item.asString.value ), iWidth, iDec ); + hb_retndlen( hb_strVal( pText->item.asString.value ), iWidth, iDec ); } else { diff --git a/harbour/source/rtl/tone.c b/harbour/source/rtl/tone.c index 384373f4ff..4cb5b3d679 100644 --- a/harbour/source/rtl/tone.c +++ b/harbour/source/rtl/tone.c @@ -126,7 +126,7 @@ * TONE( -1 ) // 1/18.2 second delay * TONE( ) // 1/18.2 second delay * $STATUS$ - * + * S * $COMPLIANCE$ * TONE() works exactly like CA-Clipper's TONE(). * $SEEALSO$ diff --git a/harbour/source/tools/fileread.prg b/harbour/source/tools/fileread.prg index 7689e0f4e7..2db4d2a7b0 100644 --- a/harbour/source/tools/fileread.prg +++ b/harbour/source/tools/fileread.prg @@ -116,7 +116,7 @@ * $TESTS$ * See Examples * $STATUS$ - * C + * R * $COMPLIANCE$ * This is a new Harbour Tools class * $SEEALSO$ diff --git a/harbour/utils/hbdoc/genhtm.prg b/harbour/utils/hbdoc/genhtm.prg index 22c6a0c4ff..882806b74e 100644 --- a/harbour/utils/hbdoc/genhtm.prg +++ b/harbour/utils/hbdoc/genhtm.prg @@ -582,6 +582,8 @@ FUNCTION ProcStatusWww( nWriteHandle, cBuffer ) nWriteHandle:WritePar( " Ready" ) ELSEIF SUBSTR( ALLTRIM( cBuffer ), 1 ) == "S" nWriteHandle:WritePar( " Started" ) + ELSEIF SUBSTR( ALLTRIM( cBuffer ), 1 ) == "C" + nWriteHandle:WritePar( " Clipper" ) ELSE nWriteHandle:WritePar( " Not Started" ) ENDIF