documentacion
Publicado: Jue Sep 22, 2005 10:28 am
Ramón,
> Donde puedo hallar informacion acerca de STRINGTABLE?
En la documentación de MS y en MSDN
> STRINGTABLE LANGUAGE 0,0 <---- que es el 0, 0?
> {
> 9 "English" <---- por que empieza en
> 9?
> 10 "Español"
> }
No es que empiece en 9, sino que para MS el 9 es el código del inglés, y el
10 el del español. Otros idiomas tienen otros códigos. P.ej., el IDE tiene
esta tabla de idiomas:
STRINGTABLE LANGUAGE 0,0
{
3 "Català"
7 "Deutsch"
9 "English"
10 "Español"
12 "Français"
16 "Italiano"
22 "Portuguese (Portugal)"
86 "Galego"
}
> Igual no hallo nada sobre LT() y LT2(), estos pertenecen a Xailer?
Sí, son dos funciones de Xailer para el soporte de múltiples idiomas. La
sintaxis es:
LT( <nStringID> [, <cParam1>... <cParamN> ] )
- <nStringID> es el código de la cadena que se desea
- <cParam1>...<cParamN> son valores de cadena que sustituirán a las
secuencias %N que se encuentren dentro de la cadena de recursos. Es decir,
la cadena de recursos puede contener %1, %2, %3, etc, y serán sustituidos
por los parámetros que se pasen a esta función.
Ejemplo:
Supongamos una cadena de recursos con el código 1000: "Error %1 al abrir
el fichero %2"
Se llamaría así:
LT( 1000, LTrim( Str( DosError() ) ), cFileName )
La función LT2() es exactamente igual que LT(), con la excepción de que
elimina los caracteres & de la cadena. Es útil en los casos en que
utilizamos la misma cadena para, p.ej., una opción de un menú con shortcut y
el mismo título de la ventana que abre. El IDE hace esto mismo.
> Lo pregunto por que estoy checando el RichPad, pero no entiendo por que
> los valores de los datos que
> contienen empiezan a partir de 1000.
No hay ninguna razón específica para empezar con un valor o con otro.
> Igual quisiera saber si todos los datos de este se incluyen dentro del
> ejecutable o por aparte.
El actual soporte de mútiples idiomas requiere que crees en recursos una
tabla con los idiomas soportados (ver arriba), además de una tabla por cada
uno de esos idiomas. También es muy aconsejable usar un fichero de cabecera
(.ch) con los códigos de las cadenas en forma reconocible. P.ej.:
#define MSG_ERROR_ABRIR_FICHERO 1000
Este fichero de cabecera puedes incluirlo (#include) tanto en el fichero de
recursos donde tienes las cadenas como en los fuentes de tu programa donde
uses esas cadenas. Fíjate en RichPad.
--
Un saludo,
José F. Giménez
> Donde puedo hallar informacion acerca de STRINGTABLE?
En la documentación de MS y en MSDN
> STRINGTABLE LANGUAGE 0,0 <---- que es el 0, 0?
> {
> 9 "English" <---- por que empieza en
> 9?
> 10 "Español"
> }
No es que empiece en 9, sino que para MS el 9 es el código del inglés, y el
10 el del español. Otros idiomas tienen otros códigos. P.ej., el IDE tiene
esta tabla de idiomas:
STRINGTABLE LANGUAGE 0,0
{
3 "Català"
7 "Deutsch"
9 "English"
10 "Español"
12 "Français"
16 "Italiano"
22 "Portuguese (Portugal)"
86 "Galego"
}
> Igual no hallo nada sobre LT() y LT2(), estos pertenecen a Xailer?
Sí, son dos funciones de Xailer para el soporte de múltiples idiomas. La
sintaxis es:
LT( <nStringID> [, <cParam1>... <cParamN> ] )
- <nStringID> es el código de la cadena que se desea
- <cParam1>...<cParamN> son valores de cadena que sustituirán a las
secuencias %N que se encuentren dentro de la cadena de recursos. Es decir,
la cadena de recursos puede contener %1, %2, %3, etc, y serán sustituidos
por los parámetros que se pasen a esta función.
Ejemplo:
Supongamos una cadena de recursos con el código 1000: "Error %1 al abrir
el fichero %2"
Se llamaría así:
LT( 1000, LTrim( Str( DosError() ) ), cFileName )
La función LT2() es exactamente igual que LT(), con la excepción de que
elimina los caracteres & de la cadena. Es útil en los casos en que
utilizamos la misma cadena para, p.ej., una opción de un menú con shortcut y
el mismo título de la ventana que abre. El IDE hace esto mismo.
> Lo pregunto por que estoy checando el RichPad, pero no entiendo por que
> los valores de los datos que
> contienen empiezan a partir de 1000.
No hay ninguna razón específica para empezar con un valor o con otro.
> Igual quisiera saber si todos los datos de este se incluyen dentro del
> ejecutable o por aparte.
El actual soporte de mútiples idiomas requiere que crees en recursos una
tabla con los idiomas soportados (ver arriba), además de una tabla por cada
uno de esos idiomas. También es muy aconsejable usar un fichero de cabecera
(.ch) con los códigos de las cadenas en forma reconocible. P.ej.:
#define MSG_ERROR_ABRIR_FICHERO 1000
Este fichero de cabecera puedes incluirlo (#include) tanto en el fichero de
recursos donde tienes las cadenas como en los fuentes de tu programa donde
uses esas cadenas. Fíjate en RichPad.
--
Un saludo,
José F. Giménez