446 lines
11 KiB
Plaintext
446 lines
11 KiB
Plaintext
/*
|
||
* $Id$
|
||
*/
|
||
|
||
/*
|
||
* Las siguientes partes son derechos adquiridos de sus autores individuales.
|
||
* www - http://www.harbour-project.org
|
||
*
|
||
* Copyright 2000 Alejandro de G rate <alex_degarate@hotmail.com>
|
||
* Documentaci¢n en Espa¤ol de:
|
||
* PROCNAME(), PROCLINE(), PROCFILE(), HB_PVALUE(), PCOUNT()
|
||
* __QUIT(), CLIPINIT(), __SetHelpK(), BREAK(), DO(), __VMVARLGET()
|
||
*
|
||
* Copyright 1999 Jose Lanin <dezac@corevia.com>
|
||
* Documentaci¢n en Ingl‚s de: PROCLINE(),PROCFILE(),PROCNAME()
|
||
*
|
||
* Copyright 1999 Eddie Ruina
|
||
* Documentaci¢n en Ingl‚s de: __VMVARLGET()
|
||
*
|
||
* Copyright 1999 Chen Kedem <niki@actcom.co.il>
|
||
* Documentaci¢n en Ingl‚s de: CLIPINIT(), __SETHELPK()
|
||
*
|
||
* Copyright 1999 Ryszard Glab <rglab@imid.med.pl>
|
||
* Documentaci¢n en Ingl‚s de: DO()
|
||
*
|
||
* Vea doc/license.txt por los t‚rminos de la licencia.
|
||
*
|
||
*/
|
||
|
||
/* $DOC$
|
||
* $FUNCNAME$
|
||
* PROCNAME()
|
||
* $CATEGORY$
|
||
* Miscelanea
|
||
* $ONELINER$
|
||
* Obtiene el nombre de la funci¢n actual en la pila
|
||
* $SYNTAX$
|
||
* PROCNAME( <nLevel> ) --> <cProcName>
|
||
* $ARGUMENTS$
|
||
* <nLevel> es el nivel de la funci¢n requerida
|
||
* $RETURNS$
|
||
* <cProcName> El nombre de la funci¢n que esta siendo ejecutada
|
||
* $DESCRIPTION$
|
||
* Esta funci¢n mira al tope de la pila y obtiene el nombre de la
|
||
* funci¢n actual ejecutada si no se pasaron argumentos. De otra
|
||
* manera esta retorna el nombre de la funci¢n ¢ procedimiento en el
|
||
* nivel <nLevel>.
|
||
* $EXAMPLES$
|
||
* Ver Test
|
||
* </fixed>
|
||
* $TESTS$
|
||
* Este test mostrar las funciones y procedimientos en la pila
|
||
* antes de ejecutarlas.
|
||
*
|
||
* FUNCTION Test()
|
||
* LOCAL n := 1
|
||
* while !Empty( ProcName( n ) )
|
||
* ? ProcName( n++ )
|
||
* end do
|
||
* RETURN NIL
|
||
* </fixed>
|
||
* $STATUS$
|
||
* R
|
||
* $COMPLIANCE$
|
||
* PROCNAME() es totalmente compatible con CA-Clipper.
|
||
* $PLATFORMS$
|
||
* Todas.
|
||
* $FILES$
|
||
* La librer¡a asociada es vm
|
||
* $SEEALSO$
|
||
* PROCLINE(),PROCFILE()
|
||
* $END$
|
||
*/
|
||
|
||
/* $DOC$
|
||
* $FUNCNAME$
|
||
* PROCLINE()
|
||
* $CATEGORY$
|
||
* Miscelanea
|
||
* $ONELINER$
|
||
* Obtiene el n£mero de l¡nea de la funci¢n actual en la pila
|
||
* $SYNTAX$
|
||
* PROCLINE( <nLevel> ) --> <nLinea>
|
||
* $ARGUMENTS$
|
||
* <nLevel> es el nivel de funci¢n requerida
|
||
* $RETURNS$
|
||
* <nLinea> el n£mero de l¡nea de la funci¢n que esta siendo ejecutada
|
||
* $DESCRIPTION$
|
||
* Esta funci¢n mira al tope de la pila y obtiene el n£mero de l¡nea
|
||
* de la funci¢n actual ejecutada si no se pasaron argumentos. De otra
|
||
* manera esta retorna el n£mero de l¡nea de la funci¢n ¢ procedimiento
|
||
* en el nivel <nLevel>.
|
||
* $EXAMPLES$
|
||
* Ver Test
|
||
* </fixed>
|
||
* $TESTS$
|
||
* FUNCTION Test()
|
||
* ? ProcLine( 0 )
|
||
* ? ProcName( 2 )
|
||
* RETURN NIL
|
||
* </fixed>
|
||
* $STATUS$
|
||
* R
|
||
* $COMPLIANCE$
|
||
* PROCLINE() es totalmente compatible con CA-Clipper.
|
||
* $PLATFORMS$
|
||
* Todas.
|
||
* $FILES$
|
||
* La librer¡a asociada es vm
|
||
* $SEEALSO$
|
||
* PROCNAME(),PROCFILE()
|
||
* $END$
|
||
*/
|
||
|
||
/* $DOC$
|
||
* $FUNCNAME$
|
||
* PROCFILE()
|
||
* $CATEGORY$
|
||
* Miscelanea
|
||
* $ONELINER$
|
||
* Esta funci¢n siempre retorna una cadena vac¡a.
|
||
* $SYNTAX$
|
||
* PROCFILE( <xExp> ) --> <cEmptyString>
|
||
* $ARGUMENTS$
|
||
* <xExp> es cualquier tipo v lido
|
||
* $RETURNS$
|
||
* Retorna la cadena vac¡a <cEmptyString>.
|
||
* $DESCRIPTION$
|
||
* Esta funci¢n es agregada a la RTL por total compatibilidad.
|
||
* Esta siempre retorna una cadena vac¡a.
|
||
* $EXAMPLES$
|
||
* ? ProcFile()
|
||
* </fixed>
|
||
* $TESTS$
|
||
* FUNCTION Test()
|
||
* ? ProcFile()
|
||
* ? ProcFile( NIL )
|
||
* ? ProcFile( 2 )
|
||
* RETURN NIL
|
||
* </fixed>
|
||
* $STATUS$
|
||
* R
|
||
* $COMPLIANCE$
|
||
* PROCFILE() es totalmente compatible con CA-Clipper.
|
||
* $PLATFORMS$
|
||
* Todas.
|
||
* $FILES$
|
||
* La librer¡a asociada es vm
|
||
* $SEEALSO$
|
||
* PROCNAME(),PROCLINE()
|
||
* $END$
|
||
*/
|
||
|
||
/* $DOC$
|
||
* $FUNCNAME$
|
||
* HB_PVALUE()
|
||
* $CATEGORY$
|
||
* Chequeo Parametros
|
||
* $ONELINER$
|
||
* Obtiene el valor de un argumento.
|
||
* $SYNTAX$
|
||
* HB_PVALUE( <nArg> ) --> <xExp>
|
||
* $ARGUMENTS$
|
||
* Un n£mero que indica el argumento a chequear.
|
||
* $RETURNS$
|
||
* <xExp> Retorna el valor almacenado en el argumento.
|
||
* $DESCRIPTION$
|
||
* Esta funci¢n es £til para chequear el valor almacenado en un
|
||
* argumento.
|
||
* $EXAMPLES$
|
||
* Ver Test
|
||
* </fixed>
|
||
* $TESTS$
|
||
* FUNCTION Test( nValue, cString )
|
||
* IF PCount() == 2
|
||
* ? hb_PValue( 1 ), nValue
|
||
* ? hb_PValue( 2 ), cString
|
||
* ENDIF
|
||
* RETURN NIL
|
||
* </fixed>
|
||
* $STATUS$
|
||
* R
|
||
* $COMPLIANCE$
|
||
* HB_PVALUE() es una nueva funci¢n y por tanto no es compatible con
|
||
* CA-Clipper.
|
||
* $PLATFORMS$
|
||
* Todas.
|
||
* $FILES$
|
||
* La librer¡a asociada es vm
|
||
* $SEEALSO$
|
||
* PCOUNT()
|
||
* $END$
|
||
*/
|
||
|
||
/* $DOC$
|
||
* $FUNCNAME$
|
||
* PCOUNT()
|
||
* $CATEGORY$
|
||
* Chequeo Parametros
|
||
* $ONELINER$
|
||
* Obtiene el n£mero de argumentos pasados a la funci¢n.
|
||
* $SYNTAX$
|
||
* PCOUNT() --> <nArgs>
|
||
* $ARGUMENTS$
|
||
* Ninguno.
|
||
* $RETURNS$
|
||
* <nArgs> Un n£mero que indica la cantidad de par metros pasados a
|
||
* la funci¢n ¢ procedimiento,
|
||
* $DESCRIPTION$
|
||
* Esta funci¢n es £til para chequear si una funci¢n ¢ procedimiento a
|
||
* recibido el n£mero de argumentos necesario.
|
||
* $EXAMPLES$
|
||
* Ver Test
|
||
* </fixed>
|
||
* $TESTS$
|
||
* FUNCTION Test( xExp )
|
||
* IF PCount() == 0
|
||
* ? "Esta funci¢n necesita un par metro"
|
||
* ELSE
|
||
* ? xExp
|
||
* ENDIF
|
||
* RETURN NIL
|
||
* </fixed>
|
||
* $STATUS$
|
||
* R
|
||
* $COMPLIANCE$
|
||
* PCOUNT() es totalmente compatible con CA-Clipper.
|
||
* $PLATFORMS$
|
||
* Todas.
|
||
* $FILES$
|
||
* La librer¡a asociada es vm
|
||
* $SEEALSO$
|
||
* HB_PVALUE()
|
||
* $END$
|
||
*/
|
||
|
||
/* $DOC$
|
||
* $FUNCNAME$
|
||
* __QUIT()
|
||
* $CATEGORY$
|
||
* Eventos
|
||
* $ONELINER$
|
||
* Termina una aplicaci¢n.
|
||
* $SYNTAX$
|
||
* __QUIT() --> NIL
|
||
* $ARGUMENTS$
|
||
* Ninguno
|
||
* $RETURNS$
|
||
* NIL
|
||
* $DESCRIPTION$
|
||
* Esta funci¢n termina la aplicaci¢n actual y retorna al sistema.
|
||
* $EXAMPLES$
|
||
* Ver Test
|
||
* </fixed>
|
||
* $TESTS$
|
||
* FUNCTION EndApp( lYesNo )
|
||
* IF lYesNo
|
||
* __Quit()
|
||
* ENDIF
|
||
* RETURN NIL
|
||
* </fixed>
|
||
* $STATUS$
|
||
* R
|
||
* $COMPLIANCE$
|
||
* __QUIT() es totalmente compatible con CA-Clipper.
|
||
* $PLATFORMS$
|
||
* Todas.
|
||
* $FILES$
|
||
* La librer¡a asociada es vm
|
||
* $SEEALSO$
|
||
* QUIT
|
||
* $END$
|
||
*/
|
||
|
||
/* $DOC$
|
||
* $FUNCNAME$
|
||
* CLIPINIT()
|
||
* $CATEGORY$
|
||
* Internal
|
||
* $ONELINER$
|
||
* Initializa varios subsistemas de Harbour
|
||
* $SYNTAX$
|
||
* CLIPINIT() --> NIL
|
||
* $ARGUMENTS$
|
||
* Ninguno
|
||
* $RETURNS$
|
||
* CLIPINIT() siempre devuelve NIL.
|
||
* $DESCRIPTION$
|
||
* CLIPINIT() es uno de los INIT PROCEDURE predefinidos y es ejecutado
|
||
* cuando el programa arranca. Este declara un array MEMVAR PUBLIC vac¡o
|
||
* llamado GetList que va a ser usado por el sistema Get.
|
||
* Este activa el manejador de error por defecto, y (al menos por el
|
||
* momento) llama a la funci¢n que establece la tecla de Ayuda por
|
||
* defecto (F1).
|
||
* $STATUS$
|
||
* R
|
||
* $COMPLIANCE$
|
||
* Se dice que CLIPINIT() no deber¡a llamar a la funci¢n que establece
|
||
* la tecla de Ayuda por defecto (F1) dado que CA-Clipper lo hace en
|
||
* otro lugar.
|
||
* $PLATFORMS$
|
||
* Todas.
|
||
* $SEEALSO$
|
||
* INIT PROCEDURE
|
||
* $END$
|
||
*/
|
||
|
||
/* $DOC$
|
||
* $FUNCNAME$
|
||
* __SetHelpK()
|
||
* $CATEGORY$
|
||
* Internal
|
||
* $ONELINER$
|
||
* Establece a <F1> como la tecla de Ayuda por defecto
|
||
* $SYNTAX$
|
||
* __SetHelpK() --> NIL
|
||
* $ARGUMENTS$
|
||
* Ninguno
|
||
* $RETURNS$
|
||
* __SetHelpK() siempre devuelve NIL
|
||
* $DESCRIPTION$
|
||
* Establece que al pulsar la tecla <F1>, se ejecute una funci¢n llamada
|
||
* HELP si tal funci¢n es enlazada dentro del programa.
|
||
* $STATUS$
|
||
* R
|
||
* $COMPLIANCE$
|
||
* __SetHelpK() trabaja exactamente como la funci¢n de CA-Clipper
|
||
* llamada __SetHelpK()
|
||
* $PLATFORMS$
|
||
* Todas.
|
||
* $FILES$
|
||
* La librer¡a asociada es vm
|
||
* $SEEALSO$
|
||
* __XHelp(),SET KEY,SETKEY()
|
||
* $END$
|
||
*/
|
||
|
||
/* $DOC$
|
||
* $FUNCNAME$
|
||
* BREAK()
|
||
* $CATEGORY$
|
||
* Error recovery
|
||
* $ONELINER$
|
||
* Sale de un bloque BEGIN SEQUENCE
|
||
* $SYNTAX$
|
||
* BREAK( <xExp> ) --> NIL
|
||
* $ARGUMENTS$
|
||
* <xExp> es cualquier expresi¢n v lida. Esta es requerida siempre
|
||
* Si Ud. no desea pasarle ning£n argumento, s¢lo use NIL.
|
||
* $RETURNS$
|
||
* NIL
|
||
* $DESCRIPTION$
|
||
* Esta funci¢n le pasa el control a la sentencia RECOVER en un bloque
|
||
* BEGIN SEQUENCE.
|
||
* $EXAMPLES$
|
||
* Break( NIL )
|
||
* </fixed>
|
||
* $STATUS$
|
||
* R
|
||
* $COMPLIANCE$
|
||
* BREAK() es totalmente compatible con CA-Clipper.
|
||
* $PLATFORMS$
|
||
* Todas.
|
||
* $FILES$
|
||
* La librer¡a asociada es vm
|
||
* $SEEALSO$
|
||
* BEGIN SEQUENCE
|
||
* $END$
|
||
*/
|
||
|
||
/* $DOC$
|
||
* $FUNCNAME$
|
||
* DO()
|
||
* $CATEGORY$
|
||
* Utility
|
||
* $ONELINER$
|
||
* Llama a un procedimiento ¢ a una funci¢n
|
||
* $SYNTAX$
|
||
* DO( <xFuncProc> [, <xArguments...>] )
|
||
* $ARGUMENTS$
|
||
* <xFuncProc> es tanto una cadena con un nombre de funci¢n ¢
|
||
* procedimiento a ser llamado, ¢ un codeblock a evaluar.
|
||
* <xArguments> argumentos pasados a la funci¢n ¢ procedimiento
|
||
* llamado ¢ a un codeblock.
|
||
* $RETURNS$
|
||
* A value that was returned from called function.
|
||
* $DESCRIPTION$
|
||
* Esta funci¢n puede ser llamada ¢ bien por el compilador Harbour ¢
|
||
* por el usuario.
|
||
* El compilador siempre siempre pasa el item de tipo IT_SYMBOL que
|
||
* almacena el nombre del procedimiento especificado en la sentencia
|
||
* DO <proc> WITH .
|
||
* Si el procedimiento/funci¢n no existe, entonces un error de tiempo
|
||
* de ejecuci¢n es generado.
|
||
* Esta funci¢n puede ser usada como reemplazo del operador macro.
|
||
* Esta es tambi‚n usada internamente para implementar:
|
||
* DO <proc> WITH <args...>
|
||
* En este caso <xFuncProc> es del tipo HB_SYMB.
|
||
* $EXAMPLES$
|
||
* cbCode ={|x| MyFunc( x )}
|
||
* DO( cbCode, 1 )
|
||
*
|
||
* cFunction := "MyFunc"
|
||
* xRetVal :=DO( cFunction, 2 )
|
||
*
|
||
* Old style (slower):
|
||
* DO &cFunction WITH 3
|
||
* </fixed>
|
||
* $PLATFORMS$
|
||
* Todas.
|
||
* $FILES$
|
||
* La librer¡a es rtl
|
||
* $SEEALSO$
|
||
*
|
||
* $END$
|
||
*/
|
||
|
||
/* $DOC$
|
||
* $FUNCNAME$
|
||
* __VMVARLGET()
|
||
* $CATEGORY$
|
||
* Variable Management
|
||
* $ONELINER$
|
||
* Obtiene una variable LOCAL de un nivel de procedimiento
|
||
* $SYNTAX$
|
||
* __VMVARLGET( <nProcLevel>, <nLocal> )
|
||
* $ARGUMENTS$
|
||
* <nProcLevel> Es el nivel de procedimiento, el mismo que el usado
|
||
* en PROCNAME() y PROCLINE(), desde el cual una variable
|
||
* local va a ser obtenida.
|
||
* <nLocal> Es la posici¢n ¢ ¡ndice de la variable local a recuperar
|
||
* $RETURNS$
|
||
* El contenido de la variable local especificada.
|
||
* $DESCRIPTION$
|
||
* Esta funci¢n es usada desde el depurador.
|
||
* $PLATFORMS$
|
||
* Todas.
|
||
* $FILES$
|
||
* La librer¡a asociada es vm
|
||
* $SEEALSO$
|
||
* PROCNAME()
|
||
* $END$
|
||
*/
|
||
|
||
|