PreviousNext
Help > Programmation avec LAUNCHER Office > Programmation avancée > Les programmes API avec un client AS400 > LNCCVTWCS - Programme API
LNCCVTWCS - Programme API

 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 :
*TO pour convertir le contenu du paramètre &CHAR_VAR vers le jeu de caractère Unicode de Windows.

*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.
Quand &DIRECTION=‘*FROM’, &WCS_SIZE représente la taille à convertir dans &WCS_VAR. Si &WCS_SIZE est égal à –1, alors la chaîne contenue dans &WCS_VAR doit se terminer par un zéro.

 

&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.
Quand &DIRECTION=‘*FROM’, &CHAR_SIZE représente la taille de la variable &CHAR_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.
Par défaut, un caractère 0 est ajouté à la fin de la chaîne Unicode, s’il n’y en avait pas dans la chaîne source.

Quand &DIRECTION=’*FROM’, le caractère 0 éventuellement présent dans la chaîne Unicode, sera supprimé durant la conversion.
Par défaut, si le caractère 0 est présent dans l’Unicode, il sera conservé et converti.

 

 

 

 

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 */
/* Terminé par un caractère 0 binaire */

 

 

/* 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)