See changelog 20000216 06:00
This commit is contained in:
@@ -1545,22 +1545,19 @@ HARBOUR HB_AFIELDS( void )
|
||||
* $RETURNS$
|
||||
* <cWorkArea> Name of alias
|
||||
* $DESCRIPTION$
|
||||
* This function returns the alias of the work area
|
||||
* indicated by <nWorkArea>. If <nWorkArea> is not
|
||||
* provided, the alias of the current work area is
|
||||
* returned.This function does not differ from the Clipper
|
||||
* function DBF(), with is a strictly a compatibility function
|
||||
* This function returns the alias of the work area indicated by <nWorkArea>
|
||||
* If <nWorkArea> is not provided, the alias of the current work area is
|
||||
* returned.
|
||||
* $EXAMPLES$
|
||||
* FUNCTION Main()
|
||||
*
|
||||
* USE Test
|
||||
* USE Test
|
||||
* select 0
|
||||
* qOut( IF(Alias()=="","No Name",Alias()))
|
||||
* Test->(qOut(Alias())
|
||||
* qOut(Alias(1))
|
||||
*
|
||||
* select 0
|
||||
* qOut( IF(Alias()=="","No Name",Alias()))
|
||||
* Test->(qOut(Alias())
|
||||
* qOut(Alias(1))
|
||||
*
|
||||
* RETURN NIL
|
||||
* RETURN NIL
|
||||
* $TESTS$
|
||||
* $STATUS$
|
||||
* R
|
||||
@@ -1720,7 +1717,7 @@ HARBOUR HB_DBEVAL( void )
|
||||
* $CATEGORY$
|
||||
* DATA BASE
|
||||
* $ONELINER$
|
||||
* Returns the alias name of a work area
|
||||
* Alias name of a work area
|
||||
* $SYNTAX$
|
||||
* Dbf() --> <cWorkArea>
|
||||
* $ARGUMENTS$
|
||||
@@ -1728,9 +1725,8 @@ HARBOUR HB_DBEVAL( void )
|
||||
* $RETURNS$
|
||||
* <cWorkArea> Name of alias
|
||||
* $DESCRIPTION$
|
||||
* This function returns the same alias name of
|
||||
* the currently selected work area.
|
||||
* This function is the same as Alias()
|
||||
* This function returns the same alias name ofthe currently selected work
|
||||
* area.
|
||||
* $EXAMPLES$
|
||||
* FUNCTION Main()
|
||||
*
|
||||
@@ -1746,7 +1742,7 @@ HARBOUR HB_DBEVAL( void )
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* ALIAS() is fully CA-Clipper compliant.
|
||||
* DBF() is fully CA-Clipper compliant.
|
||||
* $SEEALSO$
|
||||
* $END$
|
||||
*/
|
||||
@@ -1789,12 +1785,11 @@ HARBOUR HB_DBF( void )
|
||||
* $RETURNS$
|
||||
* 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
|
||||
* a logical true (.T.); otherwise, a logical false(.F.) will
|
||||
* be returned.
|
||||
* By default, BOF() will apply to the currently selected
|
||||
* database unless the function is preceded by an alias
|
||||
* This function determines if the beggining of the file marker has been
|
||||
* reached. If so, the function will return a logical true (.T.); otherwise,
|
||||
* a logical false(.F.) will be returned.
|
||||
* By default, BOF() will apply to the currently selected database unless
|
||||
* the function is preceded by an alias
|
||||
* $EXAMPLES$
|
||||
* FUNCTION Main()
|
||||
* USE Tests NEW
|
||||
@@ -4297,55 +4292,32 @@ HARBOUR HB___DBZAP( void )
|
||||
* $CATEGORY$
|
||||
* Data Base
|
||||
* $ONELINER$
|
||||
* Return the deleted status of the current record
|
||||
* Tests the record's deletion flag.
|
||||
* $SYNTAX$
|
||||
* DELETED() --> lDeleted
|
||||
* $ARGUMENTS$
|
||||
*
|
||||
* $ARGUMENTS$
|
||||
* $RETURNS$
|
||||
* DELETED() returns true (.T.) if the current record is marked for
|
||||
* deletion; otherwise, it returns false (.F.). If there is no database
|
||||
* file in USE in the current work area, DELETED() returns false (.F.).
|
||||
*
|
||||
* DELETED() return a logical true (.T.) or false (.F.).
|
||||
* $DESCRIPTION$
|
||||
* DELETED() is a database function that determines if the current record
|
||||
* in the active work area is marked for deletion. Since each work area
|
||||
* with an open database file can have a current record, each work area has
|
||||
* its own DELETED() value.
|
||||
*
|
||||
* By default, DELETED() operates on the currently selected work area. It
|
||||
* will operate on an unselected work area if you specify it as part of an
|
||||
* aliased expression (see example below).
|
||||
*
|
||||
* In applications, DELETED() is generally used to query the deleted status
|
||||
* as a part of record processing conditions, or to display the deleted
|
||||
* status as a part of screens and reports.
|
||||
*
|
||||
* This function returns a logical true (.T.) is the current record in the
|
||||
* selected or designated work area ha ben marked for deletion.If not, the
|
||||
* function will return a logical false (.F.).
|
||||
* $EXAMPLES$
|
||||
* This example uses DELETED() in the current and in an
|
||||
* unselected work area:
|
||||
*
|
||||
* USE Customer NEW
|
||||
*
|
||||
* USE Sales NEW
|
||||
* ? DELETED() // Result: .F.
|
||||
* DELETE
|
||||
* ? DELETED() // Result: .T.
|
||||
* ? Customer->(DELETED()) // Result: .F.
|
||||
*
|
||||
* This example uses DELETED() to display a record's deleted
|
||||
* status in screens and reports:
|
||||
*
|
||||
* @ 1, 65 SAY IF(DELETED(), "Inactive", "Active")
|
||||
*
|
||||
* FUNCTION Main()
|
||||
* USE Test New
|
||||
* DBGOTO()
|
||||
* DBDELETE()
|
||||
* ? "Is Record Deleted",Test->(DELETED())
|
||||
* DBRECALL()
|
||||
* USE
|
||||
* RETURN NIL
|
||||
* $TESTS$
|
||||
*
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
*
|
||||
* This function is CA-Clipper compliant
|
||||
* $SEEALSO$
|
||||
*
|
||||
* DBDELETE()
|
||||
* $INCLUDE$
|
||||
*
|
||||
* $END$
|
||||
@@ -4366,7 +4338,7 @@ HARBOUR HB_DELETED( void )
|
||||
* $CATEGORY$
|
||||
* DATA BASE
|
||||
* $ONELINER$
|
||||
* Test for end-of-file condition
|
||||
* Test for end-of-file condition.
|
||||
* $SYNTAX$
|
||||
* EOF() --> <lEnd>
|
||||
* $ARGUMENTS$
|
||||
@@ -4455,40 +4427,29 @@ HARBOUR HB_FCOUNT( void )
|
||||
* $CATEGORY$
|
||||
* Data Base
|
||||
* $ONELINER$
|
||||
* Obtains the value
|
||||
* Obtains the value of a specified field
|
||||
* $SYNTAX$
|
||||
* FIELDGET(<nField>) --> ValueField
|
||||
* $ARGUMENTS$
|
||||
* <nField> is the ordinal position of the field in the record
|
||||
* structure for the current work area.
|
||||
* <nField> Is the numeric field position
|
||||
* $RETURNS$
|
||||
* FIELDGET() returns the value of the specified field. If <nField> does
|
||||
* not correspond to the position of any field in the current database
|
||||
* file, FIELDGET() returns NIL.
|
||||
* FIELDGET() Any expression
|
||||
* $DESCRIPTION$
|
||||
* FIELDGET() is a database function that retrieves the value of a field
|
||||
* using its position within the database file structure rather than its
|
||||
* field name. Within generic database service functions this allows,
|
||||
* among other things, the retrieval of field values without use of the
|
||||
* macro operator.
|
||||
* This function returns the value of the field at the <nField>th location
|
||||
* in the selected or designed work area.If the value in <nField> does not
|
||||
* correspond to n avaliable field position in this work area, the function
|
||||
* will return a NIL data type.
|
||||
* $EXAMPLES$
|
||||
* This example compares FIELDGET() to functionally equivalent
|
||||
* code that uses the macro operator to retrieve the value of a field:
|
||||
*
|
||||
* LOCAL nField := 1, FName, FVal
|
||||
* USE Customer NEW
|
||||
* //
|
||||
* // Using macro operator
|
||||
* FName := FIELD( nField ) // Get field name
|
||||
* FVal := &FName // Get field value
|
||||
* // Using FIELDGET()
|
||||
* FVal := FIELDGET( nField ) // Get field value
|
||||
* FUNCTION Main()
|
||||
* USE Test NEW
|
||||
* ? Test->(FieldGet(1))
|
||||
* USE
|
||||
* RETURN NIL
|
||||
* $TESTS$
|
||||
*
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
*
|
||||
* This function is CA-Clipper Compliant.
|
||||
* $SEEALSO$
|
||||
* FIELDPUT()
|
||||
* $INCLUDE$
|
||||
@@ -4581,46 +4542,29 @@ HARBOUR HB_FIELDNAME( void )
|
||||
* $CATEGORY$
|
||||
* Data Base
|
||||
* $ONELINER$
|
||||
* Return the position of a field in a work area
|
||||
* Return the ordinal position of a field.
|
||||
* $SYNTAX$
|
||||
* FIELDPOS(<cFieldName>) --> nFieldPos
|
||||
* $ARGUMENTS$
|
||||
* <cFieldName> is the name of a field in the current or specified work
|
||||
* area.
|
||||
* <cFieldName> Name of a field.
|
||||
* $RETURNS$
|
||||
* FIELDPOS() returns the position of the specified field within the list
|
||||
* of fields associated with the current or specified work area. If the
|
||||
* current work area has no field with the specified name, FIELDPOS()
|
||||
* returns zero.
|
||||
* FIELDPOS() returns the ordinal position of the field.
|
||||
* $DESCRIPTION$
|
||||
* FIELDPOS() is a database function that is the inverse of the FIELDNAME()
|
||||
* function. FIELDPOS() is most often used with the FIELDPUT() and
|
||||
* FIELDGET() functions.
|
||||
*
|
||||
* FIELDPOS() return the names of fields in any unselected work area by
|
||||
* referring to the function using an aliased expression. See the example
|
||||
* below.
|
||||
* This function return the ordinal position of the specified field <cField>
|
||||
* in the current or aliased work areaIf there isn't field under the name
|
||||
* of <cField> or of no database is open in the selected work area, the func-
|
||||
* tion will return a 0.
|
||||
* $EXAMPLES$
|
||||
* This example demonstrates a typical specification of the
|
||||
* FIELDPOS() function:
|
||||
*
|
||||
* USE Customer NEW
|
||||
* ? FIELDPOS("Name") * * * * // Result: 1
|
||||
* ? FIELDGET(FIELDPOS("Name")) * * // Result: Kate
|
||||
*
|
||||
* This example uses FIELDPOS() to return the position of a
|
||||
* specified field in a unselected work area:
|
||||
*
|
||||
* USE Customer NEW
|
||||
* USE Invoices NEW
|
||||
* ? Customer->(FIELDPOS("Name")) * // Result: 1
|
||||
* ? Customer->(FIELDGET(FIELDPOS("Name"))) // Result: Kate
|
||||
* FUNCTION Main()
|
||||
* USE Test NEW
|
||||
* ? Test->(FIELDPOS("ID"))
|
||||
* USE
|
||||
* RETURN NIL
|
||||
* $TESTS$
|
||||
*
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
*
|
||||
* This function is CA-Clipper compliant.
|
||||
* $SEEALSO$
|
||||
* FIELDGET(),FIELDPUT()
|
||||
* $INCLUDE$
|
||||
|
||||
@@ -79,5 +79,5 @@ FUNCTION __dbOpenSDF() ; RETURN NIL
|
||||
FUNCTION __dbTrans() ; RETURN NIL
|
||||
FUNCTION __dbTransRec() ; RETURN NIL
|
||||
|
||||
FUNCTION __TypeFile() ; RETURN NIL
|
||||
|
||||
|
||||
|
||||
@@ -526,26 +526,27 @@ char * hb_version( USHORT uiMode )
|
||||
|
||||
/* $DOC$
|
||||
* $FUNCNAME$
|
||||
* VERSION()
|
||||
* VERSION()
|
||||
* $CATEGORY$
|
||||
* Environment
|
||||
* Environment
|
||||
* $ONELINER$
|
||||
* Returns the HARBOUR Version or the Harbour/Compiler Version
|
||||
* Returns the HARBOUR Version or the Harbour/Compiler Version
|
||||
* $SYNTAX$
|
||||
* VERSION([<nMode>] --> <cReturn>
|
||||
* VERSION([<nMode>] --> <cReturn>
|
||||
* $ARGUMENTS$
|
||||
* [<nMode>] Optional Parameter that toggle to the display
|
||||
* of the C compiler version that HARBOUR was Build. Default is 0
|
||||
* [<nMode>] Optional Parameter that toggle to the display
|
||||
* of the C compiler version that HARBOUR was Build. Default is 0
|
||||
*
|
||||
* [<nMode>] Returns
|
||||
* [<nMode>] Returns
|
||||
* 0 Harbour Version
|
||||
* 1 Harbour Version+C compiler Version
|
||||
* $RETURNS$
|
||||
* <cReturn> String contining the Harbour Version or the
|
||||
* Harbour Version+C compiler Version when the <nMode> parameter is defined
|
||||
* <cReturn> String contining the Harbour Version or the
|
||||
* Harbour Version+C compiler Version when the <nMode> parameter is
|
||||
* defined.
|
||||
* $DESCRIPTION$
|
||||
* This function returns the HARBOUR Version or the Harbour Version+C compiler Version
|
||||
* used to create the Harbour runtime library
|
||||
* This function returns the HARBOUR Version or the Harbour Version+C
|
||||
* compiler Version used to create the Harbour runtime library
|
||||
* $EXAMPLES$
|
||||
* ? QOUT(VERSION())
|
||||
* ? OOUT(VERSION(1))
|
||||
@@ -554,9 +555,9 @@ char * hb_version( USHORT uiMode )
|
||||
* $STATUS$
|
||||
* S
|
||||
* $COMPLIANCE$
|
||||
* This function isn't compatible with CA CLIPPER.
|
||||
* CA Clipper only returns the Version of the Clipper Compiler
|
||||
* Harbour returns the Harbour Version or the Harbour Version+C compiler Version
|
||||
* This function isn't compatible with CA CLIPPER.
|
||||
* CA Clipper only returns the Version of the Clipper Compiler
|
||||
* Harbour returns the Harbour Version or the Harbour Version+C compiler Version
|
||||
* when the <nMode> parameter is set to 1
|
||||
* $PLATFORMS$
|
||||
*
|
||||
|
||||
@@ -393,21 +393,19 @@ HARBOUR HB_SETCANCEL( void )
|
||||
|
||||
/* $DOC$
|
||||
* $FUNCNAME$
|
||||
* __SETCENTURY()
|
||||
*
|
||||
* __SETCENTURY()
|
||||
* $CATEGORY$
|
||||
* Environment
|
||||
* Environment
|
||||
* $ONELINER$
|
||||
* Set the Current Century
|
||||
|
||||
* $SYNTAX$
|
||||
* __SETCENTURY([<lFlag> | <cOnOff> ] ) --> lPreviousValue
|
||||
* __SETCENTURY([<lFlag> | <cOnOff> ] ) --> lPreviousValue
|
||||
* $ARGUMENTS$
|
||||
* optional <lFlag> or <cOnOff> (not case sensitive)
|
||||
* optional <lFlag> or <cOnOff> (not case sensitive)
|
||||
* .T. or "ON" to enable the century setting (4-digit years)
|
||||
* .F. or "OFF" to disable the century setting (2-digit years)
|
||||
* $RETURNS$
|
||||
* Either the current or previous century setting as a logical value
|
||||
* Either the current or previous century setting as a logical value
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -496,13 +494,13 @@ HARBOUR HB___SETCENTURY( void )
|
||||
|
||||
/* $DOC$
|
||||
* $FUNCNAME$
|
||||
* SET()
|
||||
* SET()
|
||||
* $CATEGORY$
|
||||
* Environment
|
||||
* Environment
|
||||
* $ONELINER$
|
||||
* Changes or evaluated enviromental settings
|
||||
* $SYNTAX$
|
||||
* Set<nSet> [, <xNewSetting> [, <xOption> ] ] ) --> xPreviousSetting
|
||||
* Set<nSet> [, <xNewSetting> [, <xOption> ] ] ) --> xPreviousSetting
|
||||
* $ARGUMENTS$
|
||||
* <nSet> <xNewSetting> <xOption>
|
||||
* _SET_ALTERNATE <lFlag> | <cOnOff>
|
||||
@@ -749,7 +747,7 @@ HARBOUR HB___SETCENTURY( void )
|
||||
* to the last. When disabled, which is the default, there
|
||||
* is a hard stop at the first and last positions.
|
||||
* $RETURNS$
|
||||
* The current or previous setting
|
||||
* The current or previous setting
|
||||
* $END$
|
||||
*/
|
||||
|
||||
|
||||
@@ -723,7 +723,8 @@ HARBOUR HB_PADC( void )
|
||||
* the first string <cSearch>. If the substring is not contained within
|
||||
* the second expression,the function will return 0.
|
||||
* $EXAMPLES$
|
||||
* QOUT( "at( 'cde', 'abcdefgfedcba' ) = '" + at( 'cde', 'abcsefgfedcba' ) + "'" )
|
||||
* QOUT( "at( 'cde', 'abcdefgfedcba' ) = '" +;
|
||||
* at( 'cde', 'abcsefgfedcba' ) + "'" )
|
||||
* $TESTS$
|
||||
* $STATUS$
|
||||
* R
|
||||
@@ -781,7 +782,8 @@ HARBOUR HB_AT( void )
|
||||
* of <cString> to the left. If the function is unable to find any
|
||||
* occurence of <cSearch> in <cString>,the value of the function will be 0.
|
||||
* $EXAMPLES$
|
||||
* QOUT( "rat( 'cde', 'abcdefgfedcba' ) = '" + rat( 'cde', 'abcsefgfedcba' ) + "'" )
|
||||
* QOUT( "rat( 'cde', 'abcdefgfedcba' ) = '" +;
|
||||
* rat( 'cde', 'abcsefgfedcba' ) + "'" )
|
||||
* $TESTS$
|
||||
*
|
||||
* $STATUS$
|
||||
@@ -1044,8 +1046,8 @@ HARBOUR HB_RIGHT( void )
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This functions is CA CLIPPER compatible with the execption that
|
||||
* CA CLIPPER will generate an error if the passed string is >65519 bytes and
|
||||
* Harbour depends of plataform.
|
||||
* CA CLIPPER will generate an error if the passed string is >65519 bytes
|
||||
* and Harbour depends of plataform.
|
||||
* $PLATFORMS$
|
||||
*
|
||||
* $FILES$
|
||||
|
||||
@@ -456,3 +456,63 @@ STATIC FUNCTION ListAsArray( cList, cDelimiter )
|
||||
|
||||
RETURN aList // Return the array
|
||||
|
||||
/* $DOC$
|
||||
* $FUNCNAME$
|
||||
* LABEL FORM
|
||||
* $CATEGORY$
|
||||
* Command
|
||||
* $ONELINER$
|
||||
* Displays labels to the screen or an alternate device
|
||||
* $SYNTAX$
|
||||
* LABEL FORM <cLabelName> [TO PRINTER] [TO FILE <cFile>] [<cScope>]
|
||||
* [WHILE <bWhile> ] [FOR <bFor> ] [SAMPLE] [NOCONSOLE]
|
||||
* $ARGUMENTS$
|
||||
* <cLabelName> Name of label file
|
||||
* <cFile> Name of an alternate I lie
|
||||
* <cScope> Expression of a scoping condition
|
||||
* <bWhile> WHILE condition
|
||||
* <bFor> FOR condition
|
||||
* $RETURNS$
|
||||
*
|
||||
* $DESCRIPTION$
|
||||
|
||||
* This command allows labels to be printed based on the format outlined in
|
||||
* .LBL file specified as <cLabelName>. By default, output will go to the
|
||||
* screen however this output may be rerouted with either the TO PRINTER or
|
||||
* the TO FILE clause.
|
||||
* If the TO FILE clause is specified, the name of the ASCII text file
|
||||
* containing the generated labels will be <cFile>.
|
||||
* If no file extension is specified a .TXT extension is added.
|
||||
* <cScope> is the scope condition for this command. Valid scopes include
|
||||
* NEXT <expN> (number of records to be displayed, where <expN> is the number
|
||||
* of records), RECORD <expN> (a specific record to be printed), REST (all
|
||||
* records starting from the current record position,and ALL (all records).
|
||||
* The default is ALL.
|
||||
* Both logical expression may work ill conjunction with one another where
|
||||
* <bFor> is the logical expression for the FOR condition (for records to
|
||||
* be displayed whitin a given value range) and <bWhile> for the WHILE
|
||||
* condition (for records to be displayed until they fail to meet the
|
||||
* condition).
|
||||
* If the SAMPLE clause is specified, test labels will be generated.
|
||||
* If the NOCONSOLE clause is specified,the console will be turned off while
|
||||
* this command is being executed.
|
||||
* This command follows the search criteria outlined in the SET PATH TO
|
||||
* command. The path may be specified, along, with (the drive letter, in
|
||||
* <cLabelName>
|
||||
* $EXAMPLES$
|
||||
* FUNCTION MAIN()
|
||||
* USE Test New
|
||||
* LABEL FORM EE
|
||||
* USE
|
||||
* RETURN NIL
|
||||
* $TESTS$
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This command is CA-Clipper compliant.
|
||||
* $PLATFORMS$
|
||||
* $FILES$
|
||||
* $SEEALSO$
|
||||
* REPORT FORM
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -1284,3 +1284,80 @@ FUNCTION __ReportForm( cFRMName, lPrinter, cAltFile, lNoConsole, bFor, ;
|
||||
RETURN TReportForm():New(cFrmName,lPrinter,cAltFile,lNoConsole,bFor,bWhile,nNext,nRecord,;
|
||||
lRest,lPlain,cHeading,lBEject,lSummary)
|
||||
|
||||
/* $DOC$
|
||||
* $FUNCNAME$
|
||||
* REPORT FORM
|
||||
* $CATEGORY$
|
||||
* Command
|
||||
* $ONELINER$
|
||||
* Display a report
|
||||
* $SYNTAX$
|
||||
* REPORT FORM <cReportName> [TO PRINTER] [TO FILE <cFile>] [<cScope>]
|
||||
* [WHILE <bWhile> ] [FOR <bFor> ] [PLAIN |HEADING <cHeading]
|
||||
* [NOEJECT] [SUMMARY] [NOCONSOLE]
|
||||
* $ARGUMENTS$
|
||||
* <cReportName> Name of report file
|
||||
* <cFile> Name of alternate file
|
||||
* <cScope> Scope
|
||||
* <bWhile> Logical expression of WHILE condition
|
||||
* <bFor> Logical expression of FOR condition
|
||||
* <cHeading> Report heading
|
||||
* $RETURNS$
|
||||
* NIL
|
||||
* $DESCRIPTION$
|
||||
* This command prints out the report named <cReportName>, which is a standard
|
||||
* FRM file. The file extension is not required because FRM will be assumed.
|
||||
* The SET PATH TO and SET DEFAULT TO commands affect the search for the file
|
||||
* <cReportName>; unless a drive and path are specified in <cReportName>, REPORT
|
||||
* will search the path specified in the SET PATH command if it cannot find the
|
||||
* report form in the current directory.
|
||||
* The output of the report will be offset based on the setting of the SET MARGIN
|
||||
* TO value.
|
||||
* By default, output will go to the console; however, it may be controlled via
|
||||
* either the TO PRINTER or TO FILE clause. If the output is to go to the file,
|
||||
* the name of the alternate file is specified in <cFile>. Unless specified in
|
||||
* <cFile>, the default file extension will be .TXT .
|
||||
* <cScope> is the scope for this command. Valid scopes include NEXT <expN> (where
|
||||
* <expN> is tile number of records), RECORD <expN> (a specific record to be
|
||||
* displayed), REST (all records from the current record position), and ALL
|
||||
* (all records). The default is ALL.
|
||||
* Both logical expressions may work in conjuntion with one another, where <bFor>
|
||||
* is the logical expression for the FOR condition (for records to be displayed
|
||||
* within a given range) and <bWhile> for the WHILE condition (for records to be
|
||||
* displayed until the condition fails).
|
||||
* If the PLAIN clause is specified, date and page numbers are suppressed. In
|
||||
* addition, there is no automatic page breaking, and the report title and
|
||||
* column headings appear only once at the top of the form.
|
||||
* If the HEADING clause is used, <cHeading> is displayed on the first title
|
||||
* of each report page. The value of <cHeading> is evaluated only once before
|
||||
* executing the report; varying the values of <cHeading> is not allowed. The
|
||||
* PLAIN clause will take precedence over the HEADING clause if both are included.
|
||||
* If the NOEJECT clause is used, the initial page eject on the report will not be
|
||||
* issued when the output clause TO PRINTER is specified. Otherwise, this clause has
|
||||
* no effect.
|
||||
* If the SUMMARY Clause is specified, the report will contain only groups, subgroups,
|
||||
* and grand total information. The detailed title item information will be ignored.
|
||||
* If the NOCONSOLE clause is specified,output to the console will be turned off
|
||||
* while this command is being executed.
|
||||
* $EXAMPLES$
|
||||
* FUNCTION() MAIN
|
||||
*
|
||||
* USE Test New
|
||||
*
|
||||
* Report FORM EE
|
||||
*
|
||||
* USE
|
||||
*
|
||||
* RETURN NIL
|
||||
* $TESTS$
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This Command is CA-Clipper compliant.
|
||||
* $PLATFORMS$
|
||||
* ALL
|
||||
* $FILES$
|
||||
* $SEEALSO$
|
||||
* LABEL FORM
|
||||
* $END$
|
||||
*/
|
||||
|
||||
204
harbour/source/rtl/typefile.prg
Normal file
204
harbour/source/rtl/typefile.prg
Normal file
@@ -0,0 +1,204 @@
|
||||
/*
|
||||
* $Id:
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* __Typefile() function
|
||||
*
|
||||
* Copyright 2000 Luiz Rafael Culik <Culik@sl.conex.net>
|
||||
* www - http://www.harbour-project.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version, with one exception:
|
||||
*
|
||||
* The exception is that if you link the Harbour Runtime Library (HRL)
|
||||
* and/or the Harbour Virtual Machine (HVM) with other files to produce
|
||||
* an executable, this does not by itself cause the resulting executable
|
||||
* to be covered by the GNU General Public License. Your use of that
|
||||
* executable is in no way restricted on account of linking the HRL
|
||||
* and/or HVM code into it.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA (or visit
|
||||
* their web site at http://www.gnu.org/).
|
||||
*
|
||||
*/
|
||||
|
||||
#include 'common.ch'
|
||||
#include 'error.ch'
|
||||
|
||||
STATIC theHandle
|
||||
#ifdef TEST
|
||||
function main
|
||||
type alpha.lnk
|
||||
type x.lnk
|
||||
return nil
|
||||
#endif
|
||||
|
||||
FUNCTION __TYPEFILE(cFile,lPrint)
|
||||
LOCAL lEof := .F.
|
||||
LOCAL cBuffer := ""
|
||||
LOCAL Err
|
||||
LOCAL nHandle
|
||||
DEFAULT lPrint to .F.
|
||||
|
||||
IF lPrint
|
||||
SET DEVICE TO PRINTER
|
||||
SET PRINTER ON
|
||||
SET CONSOLE OFF
|
||||
ENDIF
|
||||
|
||||
IF cFile == NIL
|
||||
err := ErrorNew()
|
||||
err:severity := ES_ERROR
|
||||
err:genCode := EG_OPEN
|
||||
err:subSystem := "BASE"
|
||||
err:SubCode := 2009
|
||||
err:Description := "Argument error: __TYPEFILE"
|
||||
Eval(ErrorBlock(), err)
|
||||
ENDIF
|
||||
|
||||
nReadHandle := FT_FUSE(cFile)
|
||||
|
||||
IF nReadHandle <0
|
||||
err := ErrorNew()
|
||||
err:severity := ES_ERROR
|
||||
err:genCode := EG_OPEN
|
||||
err:subSystem := "BASE"
|
||||
err:SubCode := 2011
|
||||
err:Description := "Open Error: " + cFile
|
||||
err:OsCode := 2
|
||||
Eval(ErrorBlock(), err)
|
||||
ENDIF
|
||||
DO WHILE !lEof
|
||||
cBuffer := TRIM(ReadLN( @lEof ))
|
||||
? cBuffer
|
||||
ENDDO
|
||||
|
||||
FT_FUSE()
|
||||
IF lPrint
|
||||
SET DEVICE TO SCREEN
|
||||
SET PRINTER TO
|
||||
SET CONSOLE ON
|
||||
ENDIF
|
||||
|
||||
RETURN NIL
|
||||
|
||||
#define xReadBuffer 4096
|
||||
/****
|
||||
* FT_FUSE(cFile,nMode) ---> nHandle
|
||||
* Open a File
|
||||
*/
|
||||
|
||||
*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
|
||||
*+
|
||||
*+ STATIC FUNCTION ft_fuse()
|
||||
*+
|
||||
*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
|
||||
*+
|
||||
STATIC FUNCTION ft_fuse( cFile, nMode )
|
||||
|
||||
IF nMode == nil
|
||||
nMode := 2
|
||||
ENDIF
|
||||
IF cFile == Nil
|
||||
theHandle:close()
|
||||
ENDIF
|
||||
IF cFile <> Nil
|
||||
IF nMode <> 0
|
||||
theHandle := TFileRead():new( cFile ):open( nMode )
|
||||
ELSE
|
||||
theHandle := TFileRead():new( cFile ):open()
|
||||
ENDIF
|
||||
ENDIF
|
||||
RETURN theHandle:nHan
|
||||
|
||||
*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
|
||||
*+
|
||||
*+ STATIC FUNCTION ft_FEOF()
|
||||
*+
|
||||
*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
|
||||
*+
|
||||
STATIC FUNCTION ft_FEOF()
|
||||
|
||||
LOCAL lRETURN := theHandle:lEOF
|
||||
|
||||
RETURN lRETURN
|
||||
|
||||
*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
|
||||
*+
|
||||
*+ STATIC FUNCTION FReadLn()
|
||||
*+
|
||||
*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
|
||||
*+
|
||||
STATIC FUNCTION FReadLn( nH, cLine )
|
||||
|
||||
// cline:= thehandle:readline()
|
||||
// ENDIF
|
||||
IF theHandle:MoreToRead()
|
||||
cLine := theHandle:ReadLine()
|
||||
ELSE
|
||||
FSEEK( theHandle:nHan, 0, 0 )
|
||||
theHandle:lEOF := .f.
|
||||
|
||||
cLine := theHandle:ReadLine()
|
||||
ENDIF
|
||||
RETURN cLine
|
||||
|
||||
STATIC FUNCTION ReadLN( leof )
|
||||
|
||||
LOCAL cBuffer := ""
|
||||
|
||||
cBuffer := FT_FREADLN()
|
||||
FT_FSKIP( 1 )
|
||||
lEof := FT_FEOF()
|
||||
|
||||
RETURN cBuffer
|
||||
// End of ReadLN
|
||||
|
||||
*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
|
||||
*+
|
||||
*+ STATIC FUNCTION FT_FReadLn()
|
||||
*+
|
||||
*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
|
||||
*+
|
||||
STATIC FUNCTION FT_FReadLn()
|
||||
|
||||
LOCAL cBuffer := ''
|
||||
|
||||
cBuffer := FReadLn( theHandle:nHan, @cBuffer )
|
||||
|
||||
RETURN cBuffer
|
||||
|
||||
*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
|
||||
*+
|
||||
*+ STATIC FUNCTION FT_FGotop()
|
||||
*+
|
||||
*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
|
||||
*+
|
||||
STATIC FUNCTION FT_FGotop()
|
||||
|
||||
FSEEK( theHandle:nHan, 0, 0 )
|
||||
|
||||
RETURN NIL
|
||||
|
||||
*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
|
||||
*+
|
||||
*+ STATIC FUNCTION ft_fskip()
|
||||
*+
|
||||
*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
|
||||
*+
|
||||
STATIC FUNCTION ft_fskip( )
|
||||
|
||||
RETURN nil
|
||||
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
!name: Harbour build 31 reference Guide
|
||||
!name: Harbour build 31a reference Guide
|
||||
!credits: Harbour (c) http://www.harbour-project.org
|
||||
2000/01/18 build By Luiz Rafael Culik
|
||||
Functions Documented by:
|
||||
Chen Kedem, Luiz Rafael Culik
|
||||
!menu: Reference
|
||||
Functions A-M funcam.ngo
|
||||
Functions N-_ funcn_.ngo
|
||||
Command comm.ngo
|
||||
Functions A-M funcam.ngo
|
||||
Functions N-_ funcn_.ngo
|
||||
Command comm.ngo
|
||||
!menu: Harbour
|
||||
Readme overview.ngo
|
||||
License license.ngo
|
||||
|
||||
Compiler Options Compil~1.ngo
|
||||
GNU License gnulic~1.ngo
|
||||
GNU License P2 gnulic~2.ngo
|
||||
License license.ngo
|
||||
Readme overview.ngo
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
#define LINELINE 14
|
||||
#define ERRORLINE 20
|
||||
#define LONGLINE 78
|
||||
#define LONGONELINE 66
|
||||
#define LONGONELINE 78
|
||||
#define CRLF HB_OSNewLine()
|
||||
// The delimiter
|
||||
#define DELIM "$" // keyword delimiter
|
||||
@@ -162,7 +162,7 @@ FUNCTION ProcessiNg()
|
||||
|
||||
// Read a line
|
||||
|
||||
cBuffer := TRIM( SUBSTR( ReadLN( @lEof ), nCommentLen ) )
|
||||
cBuffer := STRTRAN(TRIM( SUBSTR( ReadLN( @lEof ), nCommentLen ) ),space(5),Space(2))
|
||||
nLineCnt ++
|
||||
IF nLineCnt % 10 = 0
|
||||
@ LINELINE, 33 SAY STR( nLineCnt, 5, 0 )
|
||||
@@ -175,8 +175,8 @@ FUNCTION ProcessiNg()
|
||||
+ " at line" + STR( nLinecnt, 5, 0 ),,,, aDirList[ i, F_NAME ] )
|
||||
ENDIF
|
||||
lDoc := .T.
|
||||
cBuffer := TRIM( SUBSTR( ReadLN( @lEof ), ;
|
||||
nCommentLen ) )
|
||||
cBuffer := strtran(TRIM( SUBSTR( ReadLN( @lEof ), ;
|
||||
nCommentLen ) ),space(5),space(3))
|
||||
nLineCnt ++
|
||||
cCategory := cFuncName := cSeeAlso := ""
|
||||
nMode := D_IGNORE
|
||||
@@ -302,7 +302,8 @@ FUNCTION ProcessiNg()
|
||||
|
||||
nMode := D_ONELINE
|
||||
// Now start writing out what we know
|
||||
oNgi:WriteTitle( PAD( cFuncName, 21 ) + cOneLine, cFuncName )
|
||||
|
||||
oNgi:WriteTitle( PAD( cFuncName, LEN( cFuncName )+2 ) + cOneLine, cFuncName )
|
||||
oNgi:WritePar( cOneLine )
|
||||
oNgi:WritePar( cBar )
|
||||
// 4) all other stuff
|
||||
@@ -644,7 +645,11 @@ FUNCTION ProcNgiInput()
|
||||
ASORT( acfiles )
|
||||
FOR x := 1 TO LEN( acfiles )
|
||||
cFile := acfiles[ x ]
|
||||
IF LEFT( cFile, AT( '.', cFile ) - 1 ) <> "LICENSE" .AND. LEFT( cFile, AT( '.', cFile ) - 1 ) <> "OVERVIEW"
|
||||
IF upper(LEFT( cFile, AT( '.', cFile ) - 1 )) <> "LICENSE";
|
||||
.AND. upper(LEFT( cFile, AT( '.', cFile ) - 1 )) <> "OVERVIEW" ;
|
||||
.AND. upper(LEFT( cFile, AT( '.', cFile ) - 1 )) <> "COMPILEROPTIONS" ;
|
||||
.AND. upper(LEFT( cFile, AT( '.', cFile ) - 1 )) <> "GNULICENSE" ;
|
||||
.AND. upper(LEFT( cFile, AT( '.', cFile ) - 1 )) <> "GNULICENSEPART2"
|
||||
|
||||
@ INFILELINE, 33 SAY PAD( cfile, 47 )
|
||||
|
||||
@@ -709,14 +714,14 @@ FUNCTION ProcNgiAlso2( cSeealso )
|
||||
nPos := AT( "()", xAlso[ hPos ] )
|
||||
IF nPos > 0
|
||||
AADD( aAlso, "funcam.ngo:" + ALLTRIM( xAlso[ hPos ] ) + ' ' )
|
||||
ELSEIF nPos = 0 .AND. xAlso[ hPos ] <> "LICENSE" .AND. xAlso[ hPos ] <> "OVERVIEW" .AND. !EMPTY( xAlso[ hPos ] )
|
||||
ELSEIF nPos = 0 .AND. UPPER(xAlso[ hPos ]) <> "LICENSE" .AND. UPPER(xAlso[ hPos ]) <> "OVERVIEW" .AND. !EMPTY( xAlso[ hPos ] )
|
||||
AADD( aAlso, "Comm.ngo:" + ALLTRIM( xAlso[ hPos ] ) + ' ' )
|
||||
ENDIF
|
||||
ELSE
|
||||
nPos := AT( "()", xAlso[ hPos ] )
|
||||
IF nPos > 0
|
||||
AADD( aAlso, "funcn_.ngo:" + ALLTRIM( xAlso[ hPos ] ) + ' ' )
|
||||
ELSEIF nPos = 0 .AND. xAlso[ hPos ] <> "LICENSE" .AND. xAlso[ hPos ] <> "OVERVIEW" .AND. !EMPTY( xAlso[ hPos ] )
|
||||
ELSEIF nPos = 0 .AND. UPPER(xAlso[ hPos ]) <> "LICENSE" .AND. UPPER(xAlso[ hPos ]) <> "OVERVIEW" .AND. !EMPTY( xAlso[ hPos ] )
|
||||
AADD( aAlso, "Comm.ngo:" + ALLTRIM( xAlso[ hPos ] ) + ' ' )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
@@ -79,9 +79,11 @@
|
||||
..\..\source\rtl\text.prg
|
||||
..\..\source\rtl\tget.prg
|
||||
..\..\source\rtl\tgetlist.prg
|
||||
..\..\source\rtl\tlabel.prg
|
||||
..\..\source\rtl\tone.c
|
||||
..\..\source\rtl\trace.c
|
||||
..\..\source\rtl\transfrm.c
|
||||
..\..\source\rtl\treport.prg
|
||||
..\..\source\rtl\type.c
|
||||
..\..\source\rtl\valtype.c
|
||||
..\..\source\rtl\wait.prg
|
||||
|
||||
@@ -79,9 +79,11 @@
|
||||
..\..\source\rtl\text.prg
|
||||
..\..\source\rtl\tget.prg
|
||||
..\..\source\rtl\tgetlist.prg
|
||||
..\..\source\rtl\tlabel.prg
|
||||
..\..\source\rtl\tone.c
|
||||
..\..\source\rtl\trace.c
|
||||
..\..\source\rtl\transfrm.c
|
||||
..\..\source\rtl\treport.prg
|
||||
..\..\source\rtl\type.c
|
||||
..\..\source\rtl\valtype.c
|
||||
..\..\source\rtl\wait.prg
|
||||
|
||||
Reference in New Issue
Block a user