91 lines
2.9 KiB
Plaintext
91 lines
2.9 KiB
Plaintext
/*
|
||
* $Id$
|
||
*/
|
||
|
||
/*
|
||
* Las siguientes partes son derechos adquiridos de sus autores individuales.
|
||
* www - http://www.harbour-project.org
|
||
*
|
||
* Copyright 2001 Ron Pinkas
|
||
* Documentaci¢n en Ingl‚s
|
||
*
|
||
* Copyright 2001 Alejandro de G rate <alex_degarate@hotmail.com>
|
||
* Traducci¢n al Espa¤ol de clipper.txt
|
||
*
|
||
* Vea doc/license.txt por los t‚rminos de la licencia.
|
||
*
|
||
*/
|
||
|
||
|
||
Este documento intenta describir las caracter¡sticas que separan
|
||
Harbour de Clipper.
|
||
|
||
/* TODO: @FuncPointer(), y todas las otras extensiones de Harbour. */
|
||
|
||
|
||
El Compilador de Macros de Harbour
|
||
----------------------------------
|
||
El Compilador de Macros de Harbour ofrece dos capas adicionales de
|
||
funcionalidad por medio de la funci¢n HB_SETMACRO()*, no disponible
|
||
en Clipper.
|
||
|
||
HB_SETMACRO( HB_SM_HARBOUR, TRUE ) habilitar compilaci¢n de macros
|
||
y evaluaci¢n de expresiones complejas, no soportadas por Clipper como:
|
||
|
||
- exp++, exp--, var += exp, (exp), etc..
|
||
- bloques de c¢digo (codeblocks) anidados.
|
||
- Expresiones m s largas de 254 caracteres.
|
||
|
||
|
||
HB_SETMACRO( HB_SM_XBASE, TRUE ) habilitar compilaci¢n de macros
|
||
y evaluaci¢n de listas separadas por comas, en todos los contextos
|
||
donde las listas son aceptadas por Clipper*, incluyendo:
|
||
|
||
- { &cMacro } // Literal de la lista de elementos de un array.
|
||
- SomeArray[ &cMacro ]// Lista de indices de un array.
|
||
- SomeFun( &cMacro ) // Lista de Argumentos de una funci¢n.
|
||
- ( &cMacro ) // Lista de expresiones parentizada.
|
||
|
||
*Clipper s¢lo soporta lista de macros dentro del contexto de bloques
|
||
de c¢digo (codeblocks).
|
||
|
||
Ambas capas extras estan activadas por defecto.
|
||
|
||
* Vea tambi‚n el switch -k del Compilador
|
||
|
||
|
||
Comando LIST
|
||
------------
|
||
|
||
LIST &cMacro
|
||
|
||
LIST en clipper soporta [superficialmente] macros de listas de
|
||
expresiones.
|
||
Ning£n error ser producido, y todas las expresiones en la lista ser n
|
||
evaluadas, pero *solamente* la *£ltima* expresion ser visualizada.
|
||
Esto no est documentado ni en el comando LIST, ni en la descripci¢n
|
||
del operador Macro (&), pero es el comportamiento por defecto en
|
||
todas las versiones de Clipper 5.x
|
||
|
||
Harbour en su lugar, no s¢lo eval£a todas las expresiones en esa
|
||
lista de macros, sino que tambi‚n visualiza todos aquellos valores.
|
||
Este comportamiento por defecto de Harbour, puede ser deshabilitado
|
||
HB_SETMACRO( HB_SM_XBASE, .F. )*
|
||
|
||
* Vea tambi‚n el switch -k del Compilador
|
||
|
||
|
||
INIT/EXIT y procedimientos de inicio
|
||
------------------------------------
|
||
|
||
En Clipper el procedimiento de inicio es siempre el primer procedimiento
|
||
/funci¢n del modulo principal, a£n si ese s¡mbolo es el s¡mbolo INIT
|
||
¢ EXIT. En tal caso el programa nunca ejecutar el s¡mbolo "main".
|
||
En Harbour el primer s¡mbolo que no sea INIT/EXIT, ser ejecutado como
|
||
el s¡mbolo "main" despu‚s que todos los procedimientos INIT hayan sido
|
||
ejecutados.
|
||
|
||
|
||
|
||
|