/*************************************************************************************************************************************/ /* */ /* A C C E S A U X F I C H I E R S F O R M A T T E S E N T I E R S : */ /* */ /* */ /* Author of '$xtKg/fileI.01$K' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 1992??????????). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* 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 : */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* F I C H I E R S D ' I N C L U D E S : */ /* */ /*************************************************************************************************************************************/ #include INCLUDES_MINI /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* P A R A M E T R E S : */ /* */ /*************************************************************************************************************************************/ #define NOMBRE_D_ELEMENTS \ SEIZE \ /* Nombre maximal d'elements dans le fichier. */ #define NOMBRE_D_ELEMENTS_A_SAUTER_EN_TETE \ ZERO \ /* Nombre d'elements a sauter en tete. */ #define NOMBRE_D_ELEMENTS_A_SAUTER \ ZERO \ /* Nombre d'elements a sauter periodiquement. */ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* M A C R O S U T I L E S : */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* A C C E S A U X F I C H I E R S F O R M A T T E S E N T I E R S : */ /* */ /*************************************************************************************************************************************/ BCommande(nombre_d_arguments,arguments) /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock DEFV(CHAR,INIC(POINTERc(nom_du_fichier),NOM_PIPE)); DEFV(Int,DTb1(fichier,NOMBRE_D_ELEMENTS)); /* Fichier flottant. */ DEFV(Int,INIT(nombre_d_elements,NOMBRE_D_ELEMENTS)); /* Nombre d'elements demandes. */ DEFV(Positive,INIT(nombre_d_elements_a_sauter_en_tete,NOMBRE_D_ELEMENTS_A_SAUTER_EN_TETE)); /* Nombre d'elements a sauter en tete. */ DEFV(Positive,INIT(nombre_d_elements_a_sauter,NOMBRE_D_ELEMENTS_A_SAUTER)); /* Nombre d'elements a sauter periodiquement. */ DEFV(Int,INIT(index,UNDEF)); /* Index d'edition. */ /*..............................................................................................................................*/ GET_ARGUMENTS_(nombre_d_arguments ,BLOC(GET_ARGUMENT_C("fichier=",nom_du_fichier); GET_ARGUMENT_I("nombre=",nombre_d_elements); GET_ARGUMENT_I("tete=",nombre_d_elements_a_sauter_en_tete); GET_ARGUMENT_I("saut=",nombre_d_elements_a_sauter); ) ); Test(IFET(IZGT(nombre_d_elements),IFLE(nombre_d_elements,NOMBRE_D_ELEMENTS))) Bblock CALS(Fload_fichier_formatte_Int(nom_du_fichier ,fichier ,nombre_d_elements ,nombre_d_elements_a_sauter_en_tete ,nombre_d_elements_a_sauter ,VRAI ,ZERO ,LE_NOM_DU_FICHIER_EST_CONVERTISSABLE_EN_UNE_VALEUR_NUMERIQUE ) ); /* Lecture du fichier de type 'Int'... */ DoIn(index,PREMIER_ELEMENT_D_UN_FICHIER,LSTX(PREMIER_ELEMENT_D_UN_FICHIER,nombre_d_elements),I) Bblock CAL2(Prin2("fichier(%d)=%d\n",index,ITb0(fichier,INDX(index,PREMIER_ELEMENT_D_UN_FICHIER)))); /* Et edition... */ Eblock EDoI Eblock ATes Bblock PRINT_ERREUR("le nombre d'elements est mauvais"); Eblock ETes RETU_Commande; Eblock ECommande