Définitions des types

// Entete des définition de type et de constantes



#ifndef __GESBANQ_DEF

#define __GESBANQ_DEF



#define LONG_ENR0 65

#define LONG_ENR 71

#define LONG_VISU 80

#define LONG_CODE 10

#define LONG_CREDIT 8

#define LONG_DEBIT 9

#define LONG_LIB 30

#define LONG_LIB_AFF 25

#define LONG_TYPPAI 9

#define LONG_NOM_FICHIER 81

#define LONG_AFF_NOM_FICH 17

#define LONG_NUM_COMPTE 12

#define LONG_SOLDE 13



#define INVERSE 1+(7<<4)

#define NORMAL 15+(1<<4)



#define NOM_FICHIER "fichier"

#define EXT_COMPTE ".cpt"

#define EXT_AUTO ".aut"

#define VERSION "10.0b2"



#define __MINMAX_DEFINED

#define max(a,b)        (((a) > (b)) ? (a) : (b))

#define min(a,b)        (((a) < (b)) ? (a) : (b))



#include <classlib\date.h>

#include "montant.h"



typedef struct ctxt {

  char numero_compte[LONG_NUM_COMPTE+1];

  TDate date_creation;

  int suivant;

  int rang_max;

  TMontant solde_banque;

  TMontant solde_reel;

  TMontant solde_banque_init;

  TMontant solde_reel_init;

  TDate date_sys;

  long num_chq;

  TDate date_utilisation;

  int nb_op_auto;

  char Supplement[30];        // pour des évolutions futures sans conversion

  // Valeurs non sauvegardees

  int nb_code;

  int again;

  char nom_fichier[LONG_NOM_FICHIER];

  char nom_fich_code[LONG_NOM_FICHIER];

  char Nom_auto[LONG_NOM_FICHIER];

} ctxt, *pctxt;





#define TYPE_CHEQUE 0x80

#define TYPE_CB 0x81

#define TYPE_PREL 0x82

#define TYPE_VIR  0x83

#define TYPE_TIP  0x84

#define TYPE_AUTRE 0x85



typedef struct {

    long numero_chq;

    unsigned char type;

} Mode_Paiement, *PMode_Paiement;



#define ANNEE_NON_MARQ 1970



typedef struct {

  TDate Date_Op;

  Mode_Paiement mode_paiement;

  char libelle[LONG_LIB];

  TMontant montant;

  char code[LONG_CODE];

  TDate Date_Marquage;

} Fiche, *PFiche;



#define RET_VIDE -1

#define RET_ESCAPE -2



#endif