Le programme LNCCVTWCS permet de convertir la contenu d’une variable chaîne de caractères depuis, ou vers, le jeu de caractères Unicode de Windows.
Syntaxe
DCL |
VAR(&HANDLE) TYPE(*CHAR) LEN(50) |
DCL |
VAR(&DIRECTION) TYPE(*CHAR) LEN(10) |
DCL |
VAR(&WCS_VAR) TYPE(*CHAR) LEN(...) |
DCL |
VAR(&WCS_SIZE) TYPE(*DEC) LEN(5) |
DCL |
VAR(&CHAR_VAR) TYPE(*CHAR) LEN(...) |
DCL |
VAR(&CHAR_SIZE) TYPE(*DEC) LEN(5) |
DCL |
VAR(&CCSID) TYPE(*DEC) LEN(5) |
DCL |
VAR(&RES_SIZE) TYPE(*DEC) LEN(5) |
DCL |
VAR(&OPTION) TYPE(*CHAR) LEN(...) |
|
|
CALL |
PGM(LNCCVTWCS) PARM(&HANDLE &DIRECTION + &WCS_VAR &WCS_SIZE + &CHAR_VAR &CHAR_SIZE + &CCSID &RES_SIZE &OPTION) |
Paramètres
Paramètres |
|
&DIRECTION |
Ce
paramètre doit contenir : *FROM pour convertir le contenu de &WCS_VAR depuis le jeu de caractères Unicode de Windows, vers un autre jeu.
|
&WCS_VAR |
Entrée ou Sortie : Ce paramètre contient la chaîne de caractère en format Windows Unicode. Quand &DIRECTION=‘*TO’, &WCS_VAR contient le résultat de la conversion. Quand &DIRECTION=‘*FROM’, &WCS_VAR contient la chaîne à convertir.
|
&WCS_SIZE |
Taille en octets du paramètre &WCS_VAR. Quand &DIRECTION=‘*TO’,
&WCS_SIZE représente la taille de la variable &WCS_VAR.
|
&CHAR_VAR |
Entrée ou Sortie : Ce paramètre contient la chaîne de caractères codée dans le jeu de caractère spécifié par le paramètre &CCSID. Quand &DIRECTION=‘*TO’, &CHAR_VAR contient la chaîne à convertir. Quand &DIRECTION=‘*FROM’, &CHAR_VAR contient le résultat de la conversion.
|
&CHAR_SIZE |
Taille en octets du paramètre &CHAR_VAR. Quand &DIRECTION==‘*TO’,
&CHAR_SIZE représente la taille à convertir dans &WCS_VAR. |
&CCSID |
Jeu de caractère dans lequel est codé le contenu du paramètre &CHAR_VAR. Le contenu Unicode de &WCS_VAR sera converti depuis ou vers le jeu de caractère spécifié dans &CCSID. Si &CCSID vaut 0, c’est le CCSID du travail en cours qui est utilisé.
|
&RES_SIZE |
Sortie. Taille en octets du résultat de la conversion généré dans &WCS_VAR ou &CHAR_VAR.
|
&OPTION |
Les valeurs possibles sont : NZSTR : (Non zero string) Quand
&DIRECTION=’*TO’, le résultat Unicode n’est pas
terminé par un zéro de fin. Quand &DIRECTION=’*FROM’,
le caractère 0 éventuellement présent dans la chaîne Unicode, sera supprimé
durant la conversion.
|
|
|
Le jeu
de caractère Unicode Windows pris en compte par LNCCVTWCS
n’est pas le jeu de caractère UCS2 de l’OS/400.
Utilisé avec les commandes XLCELLS et WBOOKMARK de LAUNCHER Office, ce programme LNCCVTWCS permet de lire ou d’écrire des textes dans Word ou Excel, dans des jeux de caractères externes (Chinois, Coréen, …), et de gérer ces textes dans les polices DBCS correspondantes sur l’AS/400.
Exemples
|
/* Lire la valeur de la cellule B2 en Unicode Windows */ |
CHGVAR |
VAR(&CMD) VALUE('XLCELLS') |
CHGVAR |
VAR(&PARM1) VALUE('Ref="$B$2";GetText=True;Unicode=True') |
CHGVAR |
VAR(&PARM2) VALUE(' ') |
CALL |
PGM(LNCCMD) PARM(&HANDLE &CMD &OPT &PARM1 + &PARM2 &RESULT) |
|
/* &RESULT contient la
valeur de B2 en Unicode Windows */ |
|
/* Convertir &RESULT vers le CCSID chinois */ |
CHGVAR |
VAR(&WCS_LEN) VALUE(-1) |
CHGVAR |
VAR(&CCSID) VALUE(835) |
CHGVAR |
VAR(&CHINA_SIZE) VALUE(1000) |
CALL |
PGM(LNCCVTWCS) PARM(&HANDLE '*FROM ' &RESULT &WCS_LEN + &CHINA &CHINA_SIZE &CCSID &RES_SIZE) |