See changelog 20000212 22:50

This commit is contained in:
Luiz Rafael Culik
2000-02-13 00:57:59 +00:00
parent d345a97e79
commit 617ae337fd
10 changed files with 80 additions and 194 deletions

View File

@@ -1,3 +1,15 @@
20000212-22:50 GMT-3 Luiz Rafael Culik <culik@sl.conex.net>
*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 <rglab@imid.med.pl>
*source/macro/macro.l

View File

@@ -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;

View File

@@ -1787,7 +1787,7 @@ HARBOUR HB_DBF( void )
* $ARGUMENTS$
*
* $RETURNS$
* <lBegin> 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() --> <lEnd>
* $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 <lCondition> argument
* of a DO WHILE construct that sequentially processes records in a
* database file. Here <lCondition> 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(<nField>) --> 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(<nPosition>) --> cFieldName
* $ARGUMENTS$
* <nPosition> is the position of a field in the database file
* structure.
* <nPosition> Field order in the database.
* $RETURNS$
* FIELDNAME() returns the name of the specified field as a character
* string. If <nPosition> 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(<idField>), RAT(".", ;
* STR(<idField>)) + 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 <nPosition>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()
*

View File

@@ -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
* <cFieldName> 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
* <cFieldName> in the given work area, the code block return NIL.

View File

@@ -69,11 +69,9 @@
*
* RETURN
* $TESTS$
*
* $STATUS$
*
* R
* $COMPLIANCE$
*
* $SEEALSO$
* __MVGET(),__MVPUT()
* $END$

View File

@@ -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$

View File

@@ -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
{

View File

@@ -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$

View File

@@ -116,7 +116,7 @@
* $TESTS$
* See Examples
* $STATUS$
* C
* R
* $COMPLIANCE$
* This is a new Harbour Tools class
* $SEEALSO$

View File

@@ -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