2004-05-25 22:37 UTC-0400 Alejandro de Garate <alex_degarate@hotmail.com> + doc/es/codestyl.txt + Added code style document file + doc/es/hb_apiln.txt + Added Lang API Document + doc/es/hb_vm.txt + Added VM API Document
628 lines
20 KiB
Plaintext
628 lines
20 KiB
Plaintext
/*
|
||
* $Id$
|
||
*/
|
||
|
||
/*
|
||
* Las siguientes partes son derechos adquiridos de sus autores individuales.
|
||
* www - http://www.harbour-project.org
|
||
*
|
||
* Copyright 2003 Alejandro de G rate <alex_degarate@hotmail.com>
|
||
* Documentaci¢n en Espa¤ol de:
|
||
* Readme, Archivo de cabecera para la API de Idiomas
|
||
* hb_langRegister(), hb_langDeRegister(), hb_langFind(), hb_langFindPos(),
|
||
* hb_langSelect(), hb_langSelectID(), hb_langDGetItem(), hb_langID(),
|
||
* hb_langName(), hb_langDGetErrorDesc(), HB_LANG_REQUEST()
|
||
*
|
||
* Copyright 1999 Victor Szakats <info@szelvesz.hu>
|
||
* Header file for the Language API
|
||
*
|
||
* Vea doc/license.txt por los t‚rminos de la licencia.
|
||
*
|
||
*/
|
||
|
||
/* $DOC$
|
||
* $FUNCNAME$
|
||
* Idiomas Soportados
|
||
* $CATEGORY$
|
||
* Documentaci¢n
|
||
* $ONELINER$
|
||
* L‚ame con las caracter¡sticas del manejo de Idiomas en Harbour
|
||
* $DESCRIPTION$
|
||
* Introducci¢n
|
||
* El m¢dulo de idiomas esta compuesto por una estructura de items que
|
||
* permite el uso de distintos Idiomas con Harbour de una forma
|
||
* unificada. Actualmente se definen un m ximo de 64 Idiomas.
|
||
* #define HB_LANG_MAX_ 64 // en ../source/rtl/langapi.c
|
||
*
|
||
* Se define tambi‚n un array que contiene los idiomas soportados.
|
||
* static PHB_LANG s_langList[ HB_LANG_MAX_ ];
|
||
*
|
||
* Todos los idiomas comparten una estructura com£n que facilita la
|
||
* portabilidad. Esta estructura es del tipo est tica (s_lang) y esta
|
||
* definida dentro de los archivos correspondientes a cada idioma, que
|
||
* se encuentran en el subdirectorio ../source/rtl/lang/*.c
|
||
* Por ejemplo ./source/rtl/lang/msges.c // Espa¤ol
|
||
*
|
||
* Esta estructura esta definida como un array (pItemList[]) de punteros
|
||
* a void y consta actualmente de 116 elementos (n£meros y cadenas de
|
||
* caracteres) divididos en unidades tem ticas: A, B, C, D, E, F
|
||
* typedef struct _HB_LANG
|
||
* {
|
||
* void * pItemList[ HB_LANG_ITEM_MAX_ ];
|
||
* } HB_LANG, * PHB_LANG, * HB_LANG_PTR;
|
||
*
|
||
* A. Identificador de Idioma [Offset 0-5]
|
||
* --------------------------
|
||
* [0] Dos caracteres ISO que caracterizan al idioma. Por ejemplo "ES"
|
||
* identifica al idioma espa¤ol.
|
||
* [1] El nombre del Idioma en Ingl‚s. Por ejemplo "Spanish".
|
||
* [2] El nombre del Idioma en su lengua nativa. Por ejemplo "Espa¤ol"
|
||
* [3] Identificaci¢n seg£n la RFC. Por ejemplo "ES"
|
||
* [4] P gina de C¢digos igual a las usadas en DOS y Windows.
|
||
* Por ejemplo 850, 437, etc.
|
||
* [5] N£mero de la Versi¢n en uso. Por ejemplo 1.5
|
||
*
|
||
*
|
||
* B. Nombre de meses [Offset 6-17]: "Enero", "Febrero", etc.
|
||
* ------------------
|
||
*
|
||
* C. Nombre de los d¡as [Offset 18-24]: "Domingo", "Lunes", etc.
|
||
* ---------------------
|
||
*
|
||
* D. Mensajes de naci¢n (natmsg) compatibles con Clipper [Offset 25-37]
|
||
* ---------------------
|
||
*
|
||
* E. Mensajes de error
|
||
* --------------------
|
||
* - Nombre con la descripci¢n de errores [Offset 38-88]:
|
||
* Por ejemplo: "Error de argumento"
|
||
*
|
||
* - Errores internos [Offset 89-111]:
|
||
* Por ejemplo: "hb_xgrab no puede asignar memoria"
|
||
*
|
||
* F. Diversos textos [Offset 112-115].
|
||
* ------------------
|
||
* Cada uno de estos elementos es accedido por su posici¢n en el array.
|
||
*
|
||
* Se define una macro para publicar un idioma tanto a nivel de C como
|
||
* de Harbour.
|
||
* #define HB_LANG_ANNOUNCE( id ) HB_FUNC( HB_LANG_##id ) {}
|
||
*
|
||
*
|
||
* Idioma por defecto
|
||
* ------------------
|
||
* Por defecto Harbour siempre enlaza el m¢dulo de Idioma Ingl‚s.
|
||
* Para setear un m¢dulo de Idioma por defecto a ser usado por Harbour
|
||
* se debe definir en el archivo ../include/hbsetup.h la macro
|
||
* HB_LANG_DEFAULT a un identificador de lenguaje v lido.
|
||
*
|
||
* (Notese que este puede tambi‚n estar bajo la forma de una macro).
|
||
* #ifndef HB_LANG_DEFAULT
|
||
* #define HB_LANG_DEFAULT EN
|
||
* #endif
|
||
*
|
||
* Funciones
|
||
* ---------
|
||
* Harbour implementa el uso de distintos Idiomas a trav‚s de funciones
|
||
* de bajo nivel en lenguaje C. Las cuales se describen m s abajo
|
||
* Estas funciones permiten acceder a estructuras que soportan los
|
||
* distintos datos que componen cada Idioma, generalmente pasando
|
||
* punteros a esas estructuras.
|
||
*
|
||
* /* Manejo de lista de lenguajes */
|
||
*
|
||
* extern BOOL hb_langRegister ( PHB_LANG lang );
|
||
* extern BOOL hb_langDeRegister ( char * pszID );
|
||
* extern int hb_langFindPos ( char * pszID )
|
||
* extern PHB_LANG hb_langFind ( char * pszID );
|
||
*
|
||
*
|
||
* /* Selecci¢n del lenguaje por defecto y b£squeda de datos */
|
||
*
|
||
* extern PHB_LANG hb_langSelect ( PHB_LANG lang );
|
||
* extern char * hb_langSelectID ( char * pszID );
|
||
* extern void * hb_langDGetItem ( int iIndex );
|
||
* extern char * hb_langID ( void );
|
||
* extern char * hb_langName ( void );
|
||
*
|
||
*
|
||
* /* Interfaz de Compatibilidad */
|
||
*
|
||
* extern char * hb_langDGetErrorDesc ( ULONG ulIndex );
|
||
*
|
||
* $SEEALSO$
|
||
* hb_langRegister(), hb_langDeRegister(), hb_langFind(), hb_langFindPos(),
|
||
* hb_langSelect(), hb_langSelectID(), hb_langDGetItem(), hb_langID(),
|
||
* hb_langName(), hb_langDGetErrorDesc(), HB_LANG_REQUEST()
|
||
* $END$
|
||
*/
|
||
|
||
/* $DOC$
|
||
* $FUNCNAME$
|
||
* hb_langRegister()
|
||
* $CATEGORY$
|
||
* API de Idiomas
|
||
* $ONELINER$
|
||
* Registra un Idioma por defecto.
|
||
* $SYNTAX$
|
||
* C Prototype
|
||
*
|
||
* #include <hbapilng.h>
|
||
* hb_langRegister( PHB_LANG lang ) --> ( BOOL )bResult
|
||
* $ARGUMENTS$
|
||
* <lang> es un puntero a la estructura del Idioma, que se va a
|
||
* registrar como idioma por defecto.
|
||
* $RETURNS$
|
||
* Retorna el valor l¢gico <bResult> indicando si fu‚ satisfactoria la
|
||
* operaci¢n.
|
||
* $DESCRIPTION$
|
||
* La funci¢n hb_langRegister() es una funci¢n de bajo nivel escrita
|
||
* en lenguaje C que permite registrar un idioma por defecto para ser
|
||
* usado con Harbour.
|
||
* $EXAMPLES$
|
||
* HB_LANG_ANNOUNCE( ES );
|
||
*
|
||
* HB_CALL_ON_STARTUP_BEGIN( hb_lang_Init_ES )
|
||
* hb_langRegister( &s_lang );
|
||
* HB_CALL_ON_STARTUP_END( hb_lang_Init_ES )
|
||
* $STATUS$
|
||
* R
|
||
* $COMPLIANCE$
|
||
* Compatibilidad no es aplicable a las llamadas a la API.
|
||
* $FILES$
|
||
* El archivo fuente es ../source/rtl/langapi.c
|
||
* La librer¡a asociada es lang
|
||
* $PLATFORMS$
|
||
* Todas
|
||
* $SEEALSO$
|
||
* hb_langDeRegister, hb_langSelect(), hb_langSelectID()
|
||
* $END$
|
||
*/
|
||
|
||
/* $DOC$
|
||
* $FUNCNAME$
|
||
* hb_langDeRegister()
|
||
* $CATEGORY$
|
||
* API de Idiomas
|
||
* $ONELINER$
|
||
* Elimina un Idioma registrado.
|
||
* $SYNTAX$
|
||
* C Prototype
|
||
*
|
||
* #include <hbapilng.h>
|
||
* hb_langDeRegister( char * pszID ) --> ( BOOL )bResult
|
||
* $ARGUMENTS$
|
||
* <pszID> Puntero a una cadena terminada con '\0' que contiene la
|
||
* identificaci¢n del idioma a ser removido.
|
||
* $RETURNS$
|
||
* Retorna el valor l¢gico <bResult> indicando si fu‚ satisfactoria la
|
||
* operaci¢n.
|
||
* $DESCRIPTION$
|
||
* La funci¢n hb_langDeRegister() es una funci¢n de bajo nivel en
|
||
* lenguaje C que permite eliminar un idioma de una lista para ser
|
||
* usado con Harbour.
|
||
* Para ello utiliza a la funci¢n hb_langFindPos( pszID ) que devuelve
|
||
* la posici¢n en una lista de idiomas (si existe) ¢ el valor -1 si no
|
||
* se pudo encontrar. Si se encontr¢ cambia su valor a NULL.
|
||
* $EXAMPLES$
|
||
* Vea langapi.c
|
||
* $STATUS$
|
||
* R
|
||
* $COMPLIANCE$
|
||
* Compatibilidad no es aplicable a las llamadas a la API.
|
||
* $FILES$
|
||
* El archivo fuente es ../source/rtl/langapi.c
|
||
* La librer¡a asociada es lang
|
||
* $PLATFORMS$
|
||
* Todas
|
||
* $SEEALSO$
|
||
* hb_langRegister(), hb_langSelect(), hb_langSelectID()
|
||
* $END$
|
||
*/
|
||
|
||
/* $DOC$
|
||
* $FUNCNAME$
|
||
* hb_langFindPos()
|
||
* $CATEGORY$
|
||
* API de Idiomas
|
||
* $ONELINER$
|
||
* Busca en una lista de idiomas por un identificador de Lenguaje.
|
||
* $SYNTAX$
|
||
* C Prototype
|
||
*
|
||
* #include <hbapilng.h>
|
||
* hb_langFindPos( char * pszID ) --> int iPos
|
||
* $ARGUMENTS$
|
||
* <pszID> Puntero a una cadena terminada con '\0' que contiene la
|
||
* identificaci¢n del idioma.
|
||
* $RETURNS$
|
||
* Retorna <iPos>, la posici¢n dentro de la estructura si existe ¢ -1
|
||
* en caso contrario.
|
||
* $DESCRIPTION$
|
||
* La funci¢n hb_langFindPos() es una funci¢n de bajo nivel en
|
||
* lenguaje C que realiza la b£squeda de un identificador de idioma de
|
||
* una lista. Para ello compara el par metro <pszID> con la cadena de
|
||
* caracteres que se encuentra en la posici¢n HB_LANG_ITEM_ID_ID del
|
||
* array pItemList.
|
||
* Esta devuelve la posici¢n en una lista de idiomas (si existe) ¢ el
|
||
* valor -1 si no se pudo encontrar. Si se encontr¢ cambia su valor a
|
||
* NULL.
|
||
* $EXAMPLES$
|
||
* Vea langapi.c
|
||
* $STATUS$
|
||
* R
|
||
* $COMPLIANCE$
|
||
* Compatibilidad no es aplicable a las llamadas a la API.
|
||
* $FILES$
|
||
* El archivo fuente es ../source/rtl/langapi.c
|
||
* La librer¡a asociada es lang
|
||
* $PLATFORMS$
|
||
* Todas
|
||
* $SEEALSO$
|
||
* hb_langFind(), hb_langSelectID()
|
||
* $END$
|
||
*/
|
||
|
||
/* $DOC$
|
||
* $FUNCNAME$
|
||
* hb_langFind()
|
||
* $CATEGORY$
|
||
* API de Idiomas
|
||
* $ONELINER$
|
||
* Busca en la lista de idiomas por un identificador de Lenguaje.
|
||
* $SYNTAX$
|
||
* C Prototype
|
||
*
|
||
* #include <hbapilng.h>
|
||
* hb_langFind( char * pszID ) --> ( PHB_LANG )pResult
|
||
* $ARGUMENTS$
|
||
* <pszID> Puntero a una cadena terminada con '\0' que contiene la
|
||
* identificaci¢n del idioma.
|
||
* $RETURNS$
|
||
* Retorna un puntero <pResult> a la estructura del idioma solicitado
|
||
* si lo encuentra ¢ NULL en caso contrario.
|
||
* $DESCRIPTION$
|
||
* La funci¢n hb_langFind() es una funci¢n de bajo nivel en lenguaje C
|
||
* que realiza la b£squeda de un identificador de idioma de una lista.
|
||
* Para ello utiliza a la funci¢n hb_langFindPos( pszID ) que devuelve
|
||
* la posici¢n en una lista de idiomas (si existe) ¢ el valor -1 si no
|
||
* se pudo encontrar.
|
||
* Si se encontr¢ hb_langFind() devuelve un puntero a esa estructura
|
||
* ¢ NULL si no se encontr¢.
|
||
* $EXAMPLES$
|
||
* Vea langapi.c
|
||
* $STATUS$
|
||
* R
|
||
* $COMPLIANCE$
|
||
* Compatibilidad no es aplicable a las llamadas a la API.
|
||
* $FILES$
|
||
* El archivo fuente es ../source/rtl/langapi.c
|
||
* La librer¡a asociada es lang
|
||
* $PLATFORMS$
|
||
* Todas
|
||
* $SEEALSO$
|
||
* hb_langFindPos(), hb_langID(), hb_langSelectID()
|
||
* $END$
|
||
*/
|
||
|
||
/* $DOC$
|
||
* $FUNCNAME$
|
||
* hb_langSelect()
|
||
* $CATEGORY$
|
||
* API de Idiomas
|
||
* $ONELINER$
|
||
* Selecciona un m¢dulo de mensajes espec¡fico a una nacionalidad.
|
||
* $SYNTAX$
|
||
* C Prototype
|
||
*
|
||
* #include <hbapilng.h>
|
||
* hb_langSelect( PHB_LANG lang ) --> ( PHB_LANG )pResult
|
||
* $ARGUMENTS$
|
||
* <lang> es un puntero a la estructura del nuevo Idioma que se esta
|
||
* tratando de seleccionar.
|
||
* $RETURNS$
|
||
* Retorna un puntero <pResult> a la estructura del Idioma actualmente
|
||
* en uso, antes de establecer el nuevo idioma solicitado .
|
||
* $DESCRIPTION$
|
||
* La funci¢n hb_langSelect() es una funci¢n de bajo nivel en lenguaje
|
||
* C que establece un nuevo idioma para su uso a trav‚s del pasaje de
|
||
* un puntero a la estructura del nuevo Idioma. Si el puntero no es
|
||
* v lido la funci¢n no hace nada.
|
||
* $EXAMPLES$
|
||
* Vea langapi.c
|
||
* $STATUS$
|
||
* R
|
||
* $COMPLIANCE$
|
||
* Compatibilidad no es aplicable a las llamadas a la API.
|
||
* $FILES$
|
||
* El archivo fuente es ../source/rtl/langapi.c
|
||
* La librer¡a asociada es lang
|
||
* $PLATFORMS$
|
||
* Todas
|
||
* $SEEALSO$
|
||
* hb_langSelectID(), hb_langID(), hb_langRegister()
|
||
* $END$
|
||
*/
|
||
|
||
/* $DOC$
|
||
* $FUNCNAME$
|
||
* hb_langSelectID()
|
||
* $CATEGORY$
|
||
* API de Idiomas
|
||
* $ONELINER$
|
||
* Selecciona un m¢dulo de mensajes correspondiente a un Idioma.
|
||
* $SYNTAX$
|
||
* C Prototype
|
||
*
|
||
* #include <hbapilng.h>
|
||
* hb_langSelectID( char * pszID ) --> ( char * )pszResult
|
||
* $ARGUMENTS$
|
||
* <pszID> Puntero a una cadena terminada con '\0' que contiene la
|
||
* identificaci¢n del idioma.
|
||
* $RETURNS$
|
||
*
|
||
* $DESCRIPTION$
|
||
* La funci¢n
|
||
* $EXAMPLES$
|
||
* Vea langapi.c
|
||
* $STATUS$
|
||
* R
|
||
* $COMPLIANCE$
|
||
* Compatibilidad no es aplicable a las llamadas a la API.
|
||
* $FILES$
|
||
* El archivo fuente es ../source/rtl/langapi.c
|
||
* La librer¡a asociada es lang
|
||
* $PLATFORMS$
|
||
* Todas
|
||
* $SEEALSO$
|
||
* hb_langSelect(), hb_langID()
|
||
* $END$
|
||
*/
|
||
|
||
/* $DOC$
|
||
* $FUNCNAME$
|
||
* hb_langDGetItem()
|
||
* $CATEGORY$
|
||
* API de Idiomas
|
||
* $ONELINER$
|
||
* Obtiene un elemento del array de items del Idioma.
|
||
* $SYNTAX$
|
||
* C Prototype
|
||
*
|
||
* #include <hbapilng.h>
|
||
* hb_langDGetItem( int iIndex ) --> ( void * )pResult
|
||
* $ARGUMENTS$
|
||
* <iIndex> es la posici¢n del elemento en el array del idioma.
|
||
* El valor de <iIndex> debe estar comprendido entre 0 y
|
||
* HB_LANG_ITEM_MAX_
|
||
* $RETURNS$
|
||
* Retorna un puntero <pResult> a void, que previo a su uso debe
|
||
* hacerse un casting al tipo apropiado. En general a: (char *)
|
||
* $DESCRIPTION$
|
||
* La funci¢n hb_langDGetItem() es una funci¢n de bajo nivel escrita
|
||
* en lenguaje C que devuelve un puntero de uso general con el dato
|
||
* solicitado del array de idioma.
|
||
* $EXAMPLES$
|
||
* Vea langapi.c
|
||
* if( s_lang )
|
||
* return ( char * ) hb_langDGetItem( HB_LANG_ITEM_BASE_ID +
|
||
* HB_LANG_ITEM_ID_ID );
|
||
* else
|
||
* return NULL;
|
||
*
|
||
* $STATUS$
|
||
* R
|
||
* $COMPLIANCE$
|
||
* Compatibilidad no es aplicable a las llamadas a la API.
|
||
* $FILES$
|
||
* El archivo fuente es ../source/rtl/langapi.c
|
||
* La librer¡a asociada es lang
|
||
* $PLATFORMS$
|
||
* Todas
|
||
* $SEEALSO$
|
||
* hb_langDGetErrorDesc(), hb_langID(), hb_langName()
|
||
* $END$
|
||
*/
|
||
|
||
/* $DOC$
|
||
* $FUNCNAME$
|
||
* hb_langID()
|
||
* $CATEGORY$
|
||
* API de Idiomas
|
||
* $ONELINER$
|
||
* Retorna el identificador ISO del idioma en uso.
|
||
* $SYNTAX$
|
||
* C Prototype
|
||
*
|
||
* #include <hbapilng.h>
|
||
* hb_langID( void ) --> ( char * )pszResult
|
||
* $ARGUMENTS$
|
||
* Ninguno.
|
||
* $RETURNS$
|
||
* Retorna un puntero <pszResult> a una cadena de caracteres terminada
|
||
* en '\0' con el identificador del idioma en uso.
|
||
* $DESCRIPTION$
|
||
* La funci¢n hb_langID() es una funci¢n de bajo nivel en lenguaje C
|
||
* que devuelve un puntero a una cadena de caracteres correspondiente
|
||
* al identificador de 2 caracteres (ISO) del idioma actualmente en
|
||
* uso.
|
||
* Esta funci¢n es llamada por la funci¢n de Harbour, HB_LANGSELECT()
|
||
* $EXAMPLES$
|
||
* Vea langapi.c
|
||
* HB_FUNC( HB_LANGSELECT )
|
||
* {
|
||
* hb_retc( hb_langID() );
|
||
*
|
||
* hb_langSelectID( hb_parc( 1 ) );
|
||
* }
|
||
*
|
||
* $STATUS$
|
||
* R
|
||
* $COMPLIANCE$
|
||
* Compatibilidad no es aplicable a las llamadas a la API.
|
||
* $FILES$
|
||
* El archivo fuente es ../source/rtl/langapi.c
|
||
* La librer¡a asociada es lang
|
||
* $PLATFORMS$
|
||
* Todas
|
||
* $SEEALSO$
|
||
* hb_langSelectID(), hb_langName()
|
||
* $END$
|
||
*/
|
||
|
||
/* $DOC$
|
||
* $FUNCNAME$
|
||
* hb_langName()
|
||
* $CATEGORY$
|
||
* API de Idiomas
|
||
* $ONELINER$
|
||
* Obtiene informaci¢n sobre el m¢dulo de lenguaje en uso.
|
||
* $SYNTAX$
|
||
* C Prototype
|
||
*
|
||
* #include <hbapilng.h>
|
||
* hb_langName( void ) --> ( char * )pszResult
|
||
* $ARGUMENTS$
|
||
* Ninguno.
|
||
* $RETURNS$
|
||
* Retorna un puntero <pszResult> a una cadena de caracteres terminada
|
||
* en '\0' con los datos del idioma actualmente en uso.
|
||
* La rutina llamadora debe encargarse de liberar el puntero pszName
|
||
* utilizado por esta funci¢n.
|
||
* $DESCRIPTION$
|
||
* La funci¢n hb_langName() es una funci¢n de bajo nivel en lenguaje
|
||
* C que devuelve una cadena de caracteres con los datos del idioma en
|
||
* uso en la forma "Harbour Language: %s1 %s2 (%s3)", donde:
|
||
*
|
||
* %s1 es un puntero a una cadena de caracteres terminada en '\0' que
|
||
* contiene el identificador del idioma en uso como resultado de
|
||
* la llamada a la funci¢n:
|
||
* hb_langDGetItem( HB_LANG_ITEM_ID_ID).
|
||
*
|
||
* %s2 es un puntero a una cadena de caracteres terminada en '\0' que
|
||
* contiene el nombre del idioma en uso (en Ingl‚s) como resultado
|
||
* de la llamada a la funci¢n:
|
||
* hb_langDGetItem( HB_LANG_ITEM_ID_NAME).
|
||
*
|
||
* %s3 es un puntero a una cadena de caracteres terminada en '\0' que
|
||
* contiene el nombre del idioma en uso (en lengua nativa) como
|
||
* resultado de la llamada a la funci¢n:
|
||
* hb_langDGetItem( HB_LANG_ITEM_ID_NAMENAT).
|
||
*
|
||
* Esta funci¢n es llamada por la funci¢n de Harbour HB_LANGNAME(),
|
||
* para realizar esta tarea. hb_langName() es meramente informativa.
|
||
* $EXAMPLES$
|
||
* Vea langapi.c
|
||
* HB_FUNC( HB_LANGNAME )
|
||
* {
|
||
* char * pszName = hb_langName();
|
||
* hb_retc( pszName );
|
||
* hb_xfree( pszName );
|
||
* }
|
||
* $STATUS$
|
||
* R
|
||
* $COMPLIANCE$
|
||
* Compatibilidad no es aplicable a las llamadas a la API.
|
||
* $FILES$
|
||
* El archivo fuente es ../source/rtl/langapi.c
|
||
* La librer¡a asociada es lang
|
||
* $PLATFORMS$
|
||
* Todas
|
||
* $SEEALSO$
|
||
* hb_langDGetItem()
|
||
* $END$
|
||
*/
|
||
|
||
/* $DOC$
|
||
* $FUNCNAME$
|
||
* hb_langDGetErrorDesc()
|
||
* $CATEGORY$
|
||
* API de Idiomas
|
||
* $ONELINER$
|
||
* Obtiene una descripci¢n de error para un ¡ndice del array de idioma.
|
||
* $SYNTAX$
|
||
* C Prototype
|
||
*
|
||
* #include <hbapilng.h>
|
||
* hb_langDGetErrorDesc( ULONG ulIndex ) --> ( char * )pszResult
|
||
* $ARGUMENTS$
|
||
* <ulIndex> es la posici¢n en el array del Idioma, como un (offset)
|
||
* desplazamiento a partir de HB_LANG_ITEM_BASE_ERRDESC.
|
||
* $RETURNS$
|
||
* Retorna un puntero <pszResult> a una cadena de caracteres terminada
|
||
* en '\0' con la descripci¢n del error solicitado.
|
||
* $DESCRIPTION$
|
||
* La funci¢n hb_langDGetErrorDesc() es una funci¢n de bajo nivel en
|
||
* lenguaje C que devuelve la descripci¢n del error solicitado,
|
||
* correspondiente a un valor num‚rico.
|
||
* La posici¢n del elemento que contiene la descripci¢n del error se
|
||
* calcula sumando a la macro HB_LANG_ITEM_BASE_ERRDESC el valor de
|
||
* <ulIndex>.
|
||
* La descripci¢n puede correponder a un error interno de Harbour ¢ a
|
||
* uno externo.
|
||
* $EXAMPLES$
|
||
* Vea langapi.c
|
||
* $STATUS$
|
||
* R
|
||
* $COMPLIANCE$
|
||
* Compatibilidad no es aplicable a las llamadas a la API.
|
||
* $FILES$
|
||
* El archivo fuente es ../source/rtl/langapi.c
|
||
* La librer¡a asociada es lang
|
||
* $PLATFORMS$
|
||
* Todas
|
||
* $SEEALSO$
|
||
* hb_langDGetItem()
|
||
* $END$
|
||
*/
|
||
|
||
/* $DOC$
|
||
* $FUNCNAME$
|
||
* HB_LANG_REQUEST()
|
||
* $CATEGORY$
|
||
* API de Idiomas
|
||
* $ONELINER$
|
||
* Pseudofunci¢n para usar un identificador de idioma, en forma de macro
|
||
* $SYNTAX$
|
||
* C Prototype (macro definition)
|
||
*
|
||
* #include <hbapilng.h>
|
||
* HB_LANG_REQUEST( id ) --> <see HB_LANG_REQUEST_( id )>
|
||
*
|
||
* // This hack is needed to force preprocessing if id is also a macro
|
||
* #define HB_LANG_REQUEST( id ) HB_LANG_REQUEST_( id )
|
||
* #define HB_LANG_REQUEST_( id ) extern HB_FUNC( HB_LANG_##id ); \
|
||
* void hb_lang_ForceLink( void ) \
|
||
* { \
|
||
* HB_FUNCNAME( HB_LANG_##id )(); \
|
||
* }
|
||
*
|
||
* // Macro to publish a specific language module, for both C
|
||
* // and Harbour level
|
||
* #define HB_LANG_ANNOUNCE( id ) HB_FUNC( HB_LANG_##id ) {}
|
||
* $ARGUMENTS$
|
||
* <id> Es el identificador del idioma a establecer
|
||
* $RETURNS$
|
||
* Nada.
|
||
* $DESCRIPTION$
|
||
* Este truco es necesario para forzar un pre-procesamiento si id es
|
||
* tambi‚n una macro.
|
||
* La macro termina ejecutando la funci¢n HB_FUNC( HB_LANG_##id ) para
|
||
* el identificador <id>.
|
||
* $EXAMPLES$
|
||
* Vea langapi.c, hbapilng.h
|
||
* $STATUS$
|
||
* R
|
||
* $COMPLIANCE$
|
||
* Compatibilidad no es aplicable a las llamadas a la API.
|
||
* $FILES$
|
||
* El archivo de cabecera es ../include/hbapilng.h
|
||
* $PLATFORMS$
|
||
* Todas
|
||
* $SEEALSO$
|
||
* HB_LANG_ANNOUNCE(), HB_LANG_REQUEST_()
|
||
* $END$
|
||
*/
|
||
|
||
|