SYS(2300) - Agregar o quitar página de códigos

Agrega o quita una página de códigos de la lista de Compatibilidad con el idioma nacional (National Language Support, NLS).

SYS(2300, nCodePage [, nAction])

Valores devueltos

Numeric. 1 si nCodePage está en la lista; 0 si nCodePage no está en la lista.

Parámetros

  • nCodePage
    Especifica el valor entero de la página de códigos.
  • nAction
    Especifica la acción que se debe realizar en la página de códigos especificada. 0 quita la página de códigos; 1 agrega la página de códigos.

Observaciones

Cuando se incluye una página de códigos en la lista de páginas de códigos admitidas por Visual FoxPro, se utilizan las rutinas de NLS para indización, comparaciones de cadenas, secuencia de intercalación, etc. Con determinadas secuencias de intercalación (por ejemplo, las correspondientes a Ruso, Checo o Húngaro), las comparaciones de cadenas podrían producir valores inesperados, en función de la página de códigos establecida. Para asegurarse de que estas operaciones se realizan correctamente, puede utilizar SYS(2300) en las aplicaciones para determinar si está establecida la página de códigos correcta.

Si crea índices después de utilizar SYS(2300) para habilitar la compatibilidad con NLS para una página de códigos específica, observará un comportamiento extraño en las versiones anteriores de Visual FoxPro, que no ofrecen compatibilidad con NLS para esa página de códigos. Asegúrese de que todo el acceso a datos de Visual FoxPro se realiza desde clientes que tengan SYS(2300) configurada de forma similar.

La lista de NLS incluye 874, 932, 936, 949, 950, 1255 y 1256. Para obtener más información, vea Páginas de códigos compatibles con Visual FoxPro.

Ejemplo

La página de códigos 1250 no se incluye de manera predeterminada en la lista de NLS. Por tanto, algunas comparaciones de cadenas devolverán valores inesperados. Para ver esto, siga los pasos siguientes:

  1. Habilite la compatibilidad con la página de códigos 1250, no incluida en la lista de NLS, agregando la siguiente línea al archivo config.fpw:

    CODEPAGE = 1250
    
  2. Reinicie Visual FoxPro.

  3. Ejecute las siguientes líneas de código en un archivo de programa:

    SET COLLATE TO 'HUNGARY'  && Requires CODEPAGE = 1250 in config file
    CLEAR
    
    ? UPPER("B")=LOWER("B"), LOWER("B")=UPPER("B")
    ? UPPER("F")=LOWER("F"), LOWER("F")=UPPER("F")
    ? UPPER("H")=LOWER("H"), LOWER("H")=UPPER("H")
    
    =SYS(2300,1250,1)  && Add code page 1250 to NLS list
    
    ? UPPER("B")=LOWER("B"), LOWER("B")=UPPER("B")
    ? UPPER("F")=LOWER("F"), LOWER("F")=UPPER("F")
    ? UPPER("H")=LOWER("H"), LOWER("H")=UPPER("H")
    
    =SYS(2300,1250,0)  && Restore default setting for code page 1250
    RETURN
    

Con la configuración predeterminada, LOWER("B")=UPPER("B"), LOWER("F")=UPPER("F") y LOWER("H")=UPPER("H") devuelve .T..

Después de habilitar la compatibilidad con NLS para la página de códigos 1250, LOWER("B")=UPPER("B"), LOWER("F")=UPPER("F") y LOWER("H")=UPPER("H") devuelven .F..

Vea también

CPCURRENT( ) (Función) | CPCONVERT( ) (Función) | CPDBF( ) (Función) | SET COLLATE (Comando) | SET CPDIALOG (Comando)