- contrib/hbct/doc/en/ct.txt
* contrib/hbct/doc/en/ctc.txt
* contrib/hbct/doc/en/strdiff.txt
* contrib/hbct/doc/en/token2.txt
* contrib/hbgt/doc/en/hbgt.txt
* contrib/hbmisc/doc/en/dates2.txt
* contrib/hbmisc/doc/en/ht_class.txt
* contrib/hbmisc/doc/en/ht_str.txt
* contrib/hbnf/doc/en/aavg.txt
* contrib/hbnf/doc/en/acctadj.txt
* contrib/hbnf/doc/en/acctmnth.txt
* contrib/hbnf/doc/en/acctqtr.txt
* contrib/hbnf/doc/en/acctweek.txt
* contrib/hbnf/doc/en/acctyear.txt
* contrib/hbnf/doc/en/adapter.txt
* contrib/hbnf/doc/en/aemaxlen.txt
* contrib/hbnf/doc/en/aeminlen.txt
* contrib/hbnf/doc/en/alt.txt
* contrib/hbnf/doc/en/amedian.txt
* contrib/hbnf/doc/en/anomatch.txt
* contrib/hbnf/doc/en/any2any.txt
* contrib/hbnf/doc/en/aredit.txt
* contrib/hbnf/doc/en/asum.txt
* contrib/hbnf/doc/en/at2.txt
* contrib/hbnf/doc/en/bitclr.txt
* contrib/hbnf/doc/en/byt2bit.txt
* contrib/hbnf/doc/en/byt2hex.txt
* contrib/hbnf/doc/en/calendar.txt
* contrib/hbnf/doc/en/chdir.txt
* contrib/hbnf/doc/en/cint86.txt
* contrib/hbnf/doc/en/clrsel.txt
* contrib/hbnf/doc/en/cntryset.txt
* contrib/hbnf/doc/en/ctrl.txt
* contrib/hbnf/doc/en/d2e.txt
* contrib/hbnf/doc/en/datecnfg.txt
* contrib/hbnf/doc/en/default.txt
* contrib/hbnf/doc/en/dosver.txt
* contrib/hbnf/doc/en/easter.txt
* contrib/hbnf/doc/en/elapmil.txt
* contrib/hbnf/doc/en/elapsed.txt
* contrib/hbnf/doc/en/eltime.txt
* contrib/hbnf/doc/en/findith.txt
* contrib/hbnf/doc/en/firstday.txt
* contrib/hbnf/doc/en/floptst.txt
* contrib/hbnf/doc/en/fttext.txt
* contrib/hbnf/doc/en/getenvrn.txt
* contrib/hbnf/doc/en/hex2dec.txt
* contrib/hbnf/doc/en/iamidle.txt
* contrib/hbnf/doc/en/idle.txt
* contrib/hbnf/doc/en/inp.txt
* contrib/hbnf/doc/en/invclr.txt
* contrib/hbnf/doc/en/isprint.txt
* contrib/hbnf/doc/en/lastday.txt
* contrib/hbnf/doc/en/linked.txt
* contrib/hbnf/doc/en/madd.txt
* contrib/hbnf/doc/en/menu1.txt
* contrib/hbnf/doc/en/menutonf.txt
* contrib/hbnf/doc/en/metaph.txt
* contrib/hbnf/doc/en/miltime.txt
* contrib/hbnf/doc/en/min2dhm.txt
* contrib/hbnf/doc/en/mkdir.txt
* contrib/hbnf/doc/en/month.txt
* contrib/hbnf/doc/en/mouse1.txt
* contrib/hbnf/doc/en/n2color.txt
* contrib/hbnf/doc/en/netpv.txt
* contrib/hbnf/doc/en/nooccur.txt
* contrib/hbnf/doc/en/ntow.txt
* contrib/hbnf/doc/en/nwlstat.txt
* contrib/hbnf/doc/en/nwsem.txt
* contrib/hbnf/doc/en/nwuid.txt
* contrib/hbnf/doc/en/origin.txt
* contrib/hbnf/doc/en/outp.txt
* contrib/hbnf/doc/en/page.txt
* contrib/hbnf/doc/en/peek.txt
* contrib/hbnf/doc/en/pickday.txt
* contrib/hbnf/doc/en/popadder.txt
* contrib/hbnf/doc/en/proper.txt
* contrib/hbnf/doc/en/putkey.txt
* contrib/hbnf/doc/en/qtr.txt
* contrib/hbnf/doc/en/rand1.txt
* contrib/hbnf/doc/en/reboot.txt
* contrib/hbnf/doc/en/rmdir.txt
* contrib/hbnf/doc/en/round.txt
* contrib/hbnf/doc/en/savearr.txt
* contrib/hbnf/doc/en/scancode.txt
* contrib/hbnf/doc/en/setdate.txt
* contrib/hbnf/doc/en/settime.txt
* contrib/hbnf/doc/en/shift.txt
* contrib/hbnf/doc/en/sinkey.txt
* contrib/hbnf/doc/en/sleep.txt
* contrib/hbnf/doc/en/sqzn.txt
* contrib/hbnf/doc/en/stod.txt
* contrib/hbnf/doc/en/sysmem.txt
* contrib/hbnf/doc/en/tbwhile.txt
* contrib/hbnf/doc/en/tempfile.txt
* contrib/hbnf/doc/en/vertmenu.txt
* contrib/hbnf/doc/en/vidcur.txt
* contrib/hbnf/doc/en/vidmode.txt
* contrib/hbnf/doc/en/wda.txt
* contrib/hbnf/doc/en/week.txt
* contrib/hbnf/doc/en/year.txt
* contrib/hbziparc/doc/en/hbziparc.txt
* contrib/rddads/doc/en/adsfuncs.txt
* contrib/rddads/doc/en/readme.txt
* doc/en/1stread.txt
* doc/en/array.txt
* doc/en/binnum.txt
* doc/en/browse.txt
* doc/en/command.txt
* doc/en/compiler.txt
* doc/en/datetime.txt
* doc/en/dbdelim.txt
* doc/en/dbsdf.txt
* doc/en/dbstrux.txt
* doc/en/dir.txt
* doc/en/diskspac.txt
* doc/en/errsys.txt
* doc/en/eval.txt
* doc/en/file.txt
* doc/en/garbage.txt
* doc/en/harbext.txt
* doc/en/hashes.txt
* doc/en/hb_set.txt
* doc/en/hbinet.txt
* doc/en/hvm.txt
* doc/en/idle.txt
* doc/en/input.txt
* doc/en/lang.txt
* doc/en/macro.txt
* doc/en/math.txt
* doc/en/memo.txt
* doc/en/memvar.txt
* doc/en/menu.txt
* doc/en/misc.txt
* doc/en/nation.txt
* doc/en/objfunc.txt
* doc/en/rdd.txt
* doc/en/rdddb.txt
* doc/en/rddmisc.txt
* doc/en/rddord.txt
* doc/en/set.txt
* doc/en/setmode.txt
* doc/en/string.txt
* doc/en/tclass.txt
* doc/en/terminal.txt
* doc/en/tgetlist.txt
* doc/en/tlabel.txt
* doc/en/treport.txt
* doc/en/var.txt
* sync with fixes/updates from 3.4 fork
389 lines
8.3 KiB
Plaintext
389 lines
8.3 KiB
Plaintext
/*
|
|
* Copyright 1999 Jose Lanin <dezac@corevia.com>
|
|
* Documentation for: ProcLine(), ProcFile(), ProcName()
|
|
*
|
|
* Copyright 1999 Eddie Ruina
|
|
* Documentation for: __dbgVMVarLGet()
|
|
*
|
|
* Copyright 1999 Chen Kedem <niki@actcom.co.il>
|
|
* Documentation for: CLIPINIT(), __SetHelpK()
|
|
*
|
|
* Copyright 1999 Ryszard Glab <rglab@imid.med.pl>
|
|
* Documentation for: Do()
|
|
*
|
|
* See COPYING.txt for licensing terms.
|
|
*
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Function
|
|
$NAME$
|
|
ProcName()
|
|
$CATEGORY$
|
|
API
|
|
$SUBCATEGORY$
|
|
Application
|
|
$ONELINER$
|
|
Gets the name of the current function on the stack
|
|
$SYNTAX$
|
|
ProcName( <nLevel> ) --> <cProcName>
|
|
$ARGUMENTS$
|
|
<nLevel> is the function level required.
|
|
$RETURNS$
|
|
<cProcName> The name of the function that it is being executed.
|
|
$DESCRIPTION$
|
|
This function looks at the top of the stack and gets the current
|
|
executed function if no arguments are passed. Otherwise it returns
|
|
the name of the function or procedure at <nLevel>.
|
|
$EXAMPLES$
|
|
// This test will show the functions and procedures in stack.
|
|
// before executing it.
|
|
PROCEDURE Main()
|
|
LOCAL n := 1
|
|
DO WHILE ! Empty( ProcName( n ) )
|
|
? ProcName( n++ )
|
|
ENDDO
|
|
RETURN
|
|
$STATUS$
|
|
R
|
|
$COMPLIANCE$
|
|
C
|
|
$FILES$
|
|
Library is core
|
|
$SEEALSO$
|
|
ProcLine(), ProcFile()
|
|
$END$
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Function
|
|
$NAME$
|
|
ProcLine()
|
|
$CATEGORY$
|
|
API
|
|
$SUBCATEGORY$
|
|
Application
|
|
$ONELINER$
|
|
Gets the line number of the current function on the stack.
|
|
$SYNTAX$
|
|
ProcLine( <nLevel> ) --> <nLine>
|
|
$ARGUMENTS$
|
|
<nLevel> is the function level required.
|
|
$RETURNS$
|
|
<nLine> The line number of the function that it is being executed.
|
|
$DESCRIPTION$
|
|
This function looks at the top of the stack and gets the current
|
|
line number of the executed function if no arguments are passed.
|
|
Otherwise it returns the line number of the function or procedure
|
|
at <nLevel>.
|
|
$EXAMPLES$
|
|
PROCEDURE Main()
|
|
? ProcLine( 0 )
|
|
? ProcName( 2 )
|
|
RETURN
|
|
$STATUS$
|
|
R
|
|
$COMPLIANCE$
|
|
C
|
|
$FILES$
|
|
Library is core
|
|
$SEEALSO$
|
|
ProcName(), ProcFile()
|
|
$END$
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Function
|
|
$NAME$
|
|
ProcFile()
|
|
$CATEGORY$
|
|
API
|
|
$SUBCATEGORY$
|
|
Application
|
|
$ONELINER$
|
|
This function allways returns an empty string.
|
|
$SYNTAX$
|
|
ProcFile( <xExp> ) --> <cEmptyString>
|
|
$ARGUMENTS$
|
|
<xExp> is any valid type.
|
|
$RETURNS$
|
|
<cEmptyString> Return an empty string
|
|
$DESCRIPTION$
|
|
This function is added to the RTL for full compatibility. It
|
|
always returns an empty string.
|
|
$EXAMPLES$
|
|
PROCEDURE Main()
|
|
? ProcFile()
|
|
? ProcFile( NIL )
|
|
? ProcFile( 2 )
|
|
RETURN
|
|
$STATUS$
|
|
R
|
|
$COMPLIANCE$
|
|
C
|
|
$FILES$
|
|
Library is core
|
|
$SEEALSO$
|
|
ProcName(), ProcLine()
|
|
$END$
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Function
|
|
$NAME$
|
|
hb_PValue()
|
|
$CATEGORY$
|
|
API
|
|
$SUBCATEGORY$
|
|
Application
|
|
$ONELINER$
|
|
Retrieves the value of an argument.
|
|
$SYNTAX$
|
|
hb_PValue( <nArg> ) --> <xExp>
|
|
$ARGUMENTS$
|
|
A number that indicates the argument to check.
|
|
$RETURNS$
|
|
<xExp> Returns the value stored by an argument.
|
|
$DESCRIPTION$
|
|
This function is useful to check the value stored in an argument.
|
|
$EXAMPLES$
|
|
PROCEDURE Test( nValue, cString )
|
|
IF PCount() == 2
|
|
? hb_PValue( 1 ), nValue
|
|
? hb_PValue( 2 ), cString
|
|
ENDIF
|
|
RETURN
|
|
$STATUS$
|
|
R
|
|
$COMPLIANCE$
|
|
H
|
|
$FILES$
|
|
Library is core
|
|
$SEEALSO$
|
|
PCount()
|
|
$END$
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Function
|
|
$NAME$
|
|
PCount()
|
|
$CATEGORY$
|
|
API
|
|
$SUBCATEGORY$
|
|
Application
|
|
$ONELINER$
|
|
Retrieves the number of arguments passed to a function.
|
|
$SYNTAX$
|
|
PCount() --> <nArgs>
|
|
$ARGUMENTS$
|
|
None
|
|
$RETURNS$
|
|
<nArgs> A number that indicates the number of arguments
|
|
passed to a function or procedure.
|
|
$DESCRIPTION$
|
|
This function is useful to check if a function or procedure
|
|
has received the required number of arguments.
|
|
$EXAMPLES$
|
|
PROCEDURE Test( xExp )
|
|
IF PCount() == 0
|
|
? "This function needs a parameter"
|
|
ELSE
|
|
? xExp
|
|
ENDIF
|
|
RETURN
|
|
$STATUS$
|
|
R
|
|
$COMPLIANCE$
|
|
C
|
|
$FILES$
|
|
Library is core
|
|
$SEEALSO$
|
|
hb_PValue()
|
|
$END$
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Procedure
|
|
$NAME$
|
|
__Quit()
|
|
$CATEGORY$
|
|
API
|
|
$SUBCATEGORY$
|
|
Events
|
|
$ONELINER$
|
|
Terminates an application.
|
|
$SYNTAX$
|
|
__Quit()
|
|
$ARGUMENTS$
|
|
None
|
|
$DESCRIPTION$
|
|
This function terminates the current application and returns
|
|
to the system.
|
|
$EXAMPLES$
|
|
PROCEDURE EndApp( lYesNo )
|
|
IF lYesNo
|
|
__Quit()
|
|
ENDIF
|
|
RETURN
|
|
$STATUS$
|
|
R
|
|
$COMPLIANCE$
|
|
C
|
|
$FILES$
|
|
Library is core
|
|
$SEEALSO$
|
|
QUIT
|
|
$END$
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Function
|
|
$NAME$
|
|
CLIPINIT()
|
|
$CATEGORY$
|
|
API
|
|
$SUBCATEGORY$
|
|
Internal
|
|
$ONELINER$
|
|
Initialize various Harbour sub-systems
|
|
$SYNTAX$
|
|
CLIPINIT() --> NIL
|
|
$ARGUMENTS$
|
|
none.
|
|
$RETURNS$
|
|
CLIPINIT() always return NIL.
|
|
$DESCRIPTION$
|
|
CLIPINIT() is one of the pre-defined INIT PROCEDURE and is executed
|
|
at program startup. It declare an empty MEMVAR PUBLIC array called
|
|
GetList that is going to be used by the Get system. It activates the
|
|
default error handler, and (at least for the moment) calls the
|
|
function that sets the default help key.
|
|
$STATUS$
|
|
R
|
|
$COMPLIANCE$
|
|
It is said that CLIPINIT() should not call the function that sets
|
|
the default help key since CA-Cl*pper does it in some other place.
|
|
$PLATFORMS$
|
|
All
|
|
$SEEALSO$
|
|
INIT PROCEDURE
|
|
$END$
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Procedure
|
|
$NAME$
|
|
__SetHelpK()
|
|
$CATEGORY$
|
|
API
|
|
$SUBCATEGORY$
|
|
Internal
|
|
$ONELINER$
|
|
Set F1 as the default help key
|
|
$SYNTAX$
|
|
__SetHelpK()
|
|
$ARGUMENTS$
|
|
None.
|
|
$DESCRIPTION$
|
|
Set F1 to execute a function called HELP if such a function is
|
|
linked into the program.
|
|
$STATUS$
|
|
R
|
|
$COMPLIANCE$
|
|
C
|
|
$FILES$
|
|
Library is core
|
|
$SEEALSO$
|
|
__XHelp(), SET KEY, SetKey()
|
|
$END$
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Procedure
|
|
$NAME$
|
|
Break()
|
|
$CATEGORY$
|
|
API
|
|
$SUBCATEGORY$
|
|
Error
|
|
$ONELINER$
|
|
Exits from a BEGIN SEQUENCE block
|
|
$SYNTAX$
|
|
Break( <xExp> )
|
|
$ARGUMENTS$
|
|
<xExp> is any valid expression. It is always required.
|
|
If do not want to pass any argument, just use NIL.
|
|
$DESCRIPTION$
|
|
This function passes control to the RECOVER statement in a
|
|
BEGIN SEQUENCE block.
|
|
$EXAMPLES$
|
|
Break( NIL )
|
|
$STATUS$
|
|
R
|
|
$COMPLIANCE$
|
|
C
|
|
$FILES$
|
|
Library is core
|
|
$SEEALSO$
|
|
BEGIN SEQUENCE
|
|
$END$
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Function
|
|
$NAME$
|
|
Do()
|
|
$CATEGORY$
|
|
API
|
|
$SUBCATEGORY$
|
|
Application
|
|
$ONELINER$
|
|
Calls a procedure or a function
|
|
$SYNTAX$
|
|
Do( <xFuncProc> [, <xArguments...>] ) --> <xRetVal>
|
|
$ARGUMENTS$
|
|
<xFuncProc> = Either a string with a function/procedure name to be called
|
|
or a codeblock to evaluate.
|
|
|
|
<xArguments> = arguments passed to a called function/procedure or to
|
|
a codeblock.
|
|
$RETURNS$
|
|
<xRetVal> A value that was returned from called function.
|
|
$DESCRIPTION$
|
|
This function can be called either by the Harbour compiler or by user.
|
|
The compiler always passes the item of IT_SYMBOL type that stores the
|
|
name of procedure specified in DO <proc> WITH ... statement.
|
|
|
|
If called procedure/function doesn't exist then a runtime error
|
|
is generated.
|
|
|
|
This function can be used as replacement of macro operator.
|
|
It is also used internally to implement DO <proc> WITH <args...>
|
|
In this case <xFuncProc> is of type HB_SYMB.
|
|
$EXAMPLES$
|
|
cbCode := {| x | MyFunc( x ) }
|
|
Do( cbCode, 1 )
|
|
|
|
cFunction := "MyFunc"
|
|
xRetVal := Do( cFunction, 2 )
|
|
|
|
// Old style (slower):
|
|
DO &cFunction WITH 3
|
|
$COMPLIANCE$
|
|
C
|
|
$FILES$
|
|
Library is core
|
|
$END$
|
|
*/
|