Émission d’un verbe de service courant

La procédure d’émission d’un FICHIER CSV est illustrée dans l’exemple de code suivant qui utilise CONVERT.

Pour émettre un CSV

  1. Créez une variable de structure à partir de la structure de bloc de contrôle de verbe (VCB) qui s’applique au verbe à émettre.

    #include <wincsv.h>  
        .  
        .  
    struct convert  conv_block;  
    
    

    Les structures VCB sont déclarées dans WINCSV. Fichier H ; l’une de ces structures est nommée CONVERT.

  2. Effacez (défini sur zéro) les variables au sein de la structure.

    memset( conv_block, '\0', sizeof( conv_block ) );  
    
    

    Cette procédure n’est pas obligatoire. Toutefois, il permet de déboguer et de lire le contenu de la mémoire. Il élimine également la possibilité que les versions futures d’un verbe soient sensibles aux champs qui sont ignorés dans la version actuelle.

  3. Attribuez des valeurs aux variables VCB requises.

    conv_block.opcode = SV_CONVERT;  
    conv_block.direction = SV_ASCII_TO_EBCDIC;  
    conv_block.char_set = SV_AE;  
    conv_block.len = sizeof(tpstart_name);  
    conv_block.source = (LPBYTE) tpstart_name;  
    conv_block.target = (LPBYTE) tpstart.tp_name;  
    
    

    Les valeurs SV_CONVERT, SV_ASCII_TO_EBCDIC et SV_AE sont des constantes symboliques représentant des entiers. Ces constantes sont définies dans WINCSV. Fichier H.

    Le tableau de caractères TPSTART_NAME contient une chaîne ASCII à convertir en EBCDIC et à placer dans le tableau de caractères TPSTART. TP_NAME.

  4. Appelez le verbe. Le seul paramètre est un pointeur vers l’adresse de la structure contenant le VCB pour le verbe.

    ACSSVC((LONG) &conv_block);  
    
    

    Vous pouvez également utiliser l’instruction suivante :

    ACSSVC_C((LONG) &conv_block);  
    
    
  5. Utilisez les valeurs retournées par le verbe.

    if( conv_block.primary_rc == SV_OK ) {  
    /* other statements */  
        .  
        .  
        .