/*************************************************************************************************************************************/ /* */ /* T E S T D E S F O N C T I O N S S U R C H A I N E D E C A R A C T E R E S : */ /* */ /* */ /* Author of '$xtKg/chaine.01$K' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 1987??????????). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* I N T E R F A C E ' listG ' : */ /* */ /* */ /* :Debut_listG: */ /* :Fin_listG: */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* D I R E C T I V E S S P E C I F I Q U E S D E C O M P I L A T I O N : */ /* */ /*************************************************************************************************************************************/ @define PRAGMA_CPP_____MODULE_NON_DERIVABLE /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* F I C H I E R S D ' I N C L U D E S : */ /* */ /*************************************************************************************************************************************/ #include INCLUDES_BASE /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* P A R A M E T R E S : */ /* */ /*************************************************************************************************************************************/ #define NOMBRE_DE_CHIFFRES_C \ PARE(20) #define NUMERO_TEST \ PARE(1234567) #define SEPARATEUR_DU_NUMERO \ C_POINT \ /* Limiteur... */ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* T E S T D E S F O N C T I O N S S U R C H A I N E D E C A R A C T E R E S : */ /* */ /*************************************************************************************************************************************/ BCommande(nombre_d_arguments,arguments) /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock DEFV(Schar,INIS(DTb0(chaine1),"vive ")); DEFV(Schar,INIS(DTb0(chaine2),"BULL...")); DEFV(Schar,INIS(DTb0(chaine3),"x=1 y=2 z=3")); DEFV(Schar,INIS(DTb0(chaine4),"x=1")); DEFV(Schar,INIS(DTb0(chaine5),"y=2")); DEFV(Schar,INIS(DTb0(chaine6),"z=3")); DEFV(Schar,INIS(DTb0(chaine7),"t=4")); DEFV(Schar,INIS(DTb0(chaine8),"image")); DEFV(Schar,INIS(DTb0(chaine9),"1234567890")); DEFV(CHAR,POINTERc(chaine_bull)); DEFV(CHAR,POINTERc(chaine)); DEFV(Int,INIT(taille,UNDEF)); DEFV(Int,INIT(index,UNDEF)); /* Nombre courant de chiffre a generer. */ DEFV(Int,INIT(numero_de_l_image,SEPT)); /*..............................................................................................................................*/ GET_ARGUMENTS_(nombre_d_arguments ,BLOC(VIDE;) ); CAL2(Prin1("copie (translation 0) = %s\n",chain_Acopie(chaine9))); EGAL(chain_copie_____index_du_premier_caractere_d_une_chaineA,SUCC(PREMIER_CARACTERE)); CAL2(Prin1("copie (translation 1) = %s\n",chain_Acopie(chaine9))); EGAL(chain_copie_____index_du_premier_caractere_d_une_chaineA,PREMIER_CARACTERE); CAL2(Prin1("chaine 1 = %s\n",chaine1)); CAL2(Prin1("taille de la chaine 1 = %d\n",chain_Xtaille(chaine1))); CAL2(Prin1(" = %d",chain_taille(chaine1))); CAL2(Prin1("chaine 2 = %s\n",chaine2)); CAL2(Prin1("taille de la chaine 2 = %d\n",chain_Xtaille(chaine2))); CAL2(Prin1(" = %d",chain_taille(chaine2))); EGAL(chaine_bull,chain_Aconcaten2(chaine1,chaine2)); CAL2(Prin1("chaine resultat = %s\n",chaine_bull)); CAL2(Prin1("taille de la chaine resultat = %d\n",chain_Xtaille(chaine_bull))); CAL2(Prin1(" = %d",chain_taille(chaine_bull))); Test(IFEQ_chaine(chaine1,chaine1)) Bblock CAL2(Prin2("'%s' et '%s' sont identiques\n",chaine1,chaine1)); Eblock ATes Bblock CAL2(Prin2("'%s' et '%s' sont differentes\n",chaine1,chaine1)); Eblock ETes Test(IFEQ_chaine(chaine1,chaine2)) Bblock CAL2(Prin2("'%s' et '%s' sont identiques\n",chaine1,chaine2)); Eblock ATes Bblock CAL2(Prin2("'%s' et '%s' sont differentes\n",chaine1,chaine2)); Eblock ETes DoIn(index,ZERO,NOMBRE_DE_CHIFFRES_C,I) Bblock EGAL(chaine,chain_Aconcaten2(chaine_bull,chain_numero(NUMERO_TEST,index))); CAL2(Prin1("taille du numero = %d\n",chain_Xtaille(chaine))); CAL2(Prin1(" = %d",chain_taille(chaine))); CAL2(Prin1(" numero = %s",chaine)); Eblock EDoI CAL2(Prin1("ADRESSE_UNDEF=%08X\n",ADRESSE_UNDEF)); CAL2(Prin1("chaine3 =%08X\n",chaine3)); CAL2(Prin1("chaine4 =%08X\n",chain_recherche(chaine3,chaine4))); CAL2(Prin1("chaine5 =%08X\n",chain_recherche(chaine3,chaine5))); CAL2(Prin1("chaine6 =%08X\n",chain_recherche(chaine3,chaine6))); CAL2(Prin1("chaine7 =%08X\n",chain_recherche(chaine3,chaine7))); CAL2(Prin1("chaine4 =%s\n",chain_recherche(chaine3,chaine4))); CAL2(Prin1("chaine5 =%s\n",chain_recherche(chaine3,chaine5))); CAL2(Prin1("chaine6 =%s\n",chain_recherche(chaine3,chaine6))); CAL2(Prin1("chaine7 =%s\n",chain_recherche(chaine3,chaine7))); EGAL(chaine,chain_Aconcaten2(chaine8,chaine8)); CAL2(Prin1("chaine8 =%s\n",chain_Aconcaten3(chaine ,SEPARATEUR_DU_NUMERO ,chain_numero(numero_de_l_image,NOMBRE_DE_CHIFFRES) ) ) ); CAL2(Prin0("\n")); RETU_Commande; Eblock ECommande