/* * $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 * 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.