#include #define BLANCO EGA_WHITE #define ENCUADRE 3 #define SEC_OPTAR 5 #define VOTANTES 1 #define ACOGIDOS_CUOT 2 #define RECIBE_NOTIFIC 3 #define PAPELETAS_SITIO 4 #define GRAL_HERM_RAP 5 #define GRAL_HERMANOS 6 #define TUNICA_HDAD 7 #define FACTURAS 8 #define ETIQUETAS 9 #define ALTAS 1 #define BAJAS 2 #define CONSULTAS 3 #define REORDENAR 4 #define HERMANOS 0 #define HERMANAS 1 #define NORMAL 1 #define INTENSO 0 #define BLANCO EGA_WHITE #define NEGRO 0 #define ROJO EGA_RED #define AZUL EGA_BLUE #define GRIS_CLARO EGA_LIGHTGRAY // Acceso a las funciones internas de MAKE_BOTON struct Make_Boton { /* unsigned */ int Up, Left, Down, Right; unsigned char Cdf, Cb1, Cb2; unsigned char Ab, Pb; unsigned char Isc, Sc; }; extern struct Make_Boton far *Botones; // Puntero a estructura extern int Secuencias, *n_Botones_Secuencia; extern void Imprime_Boton(int D_Bord, struct Make_Boton Bot_Imp); void Error(char *cError); struct VARIOS { unsigned int CuotaFam : 1; // Acogido a cuota familiar unsigned int Notific : 1; // Recibe notificaciones unsigned int PuedVotar: 1; // Puede Votar unsigned int TunicaHd : 1; // Posse Tunica de Hermandad unsigned int RealPenit: 1; // Realizo est. de penitencia unsigned int CtoVirgen: 1; // Cristo o Virgen unsigned int Reserva : 1; // Futura ampliacion unsigned int FA2 : 1; // Futura ampliaci˘n }; typedef struct { long NHno; // N§ de hermano char Nombre[15+1]; // Nombre 15 dig. char Apellido1[15+1]; // 1er Apellido 15 dig. char Apellido2[15+1]; // 2er Apellido 15 dig. char Direccion[29+1]; // Direccion 20 dig. char Num[3+1]; // N§ 3 dig. char Piso[5+1]; // Piso/Letra 5 dig. long CodP; // C.P. char Poblacion[15+1]; // Poblacion 15 dig. char Provincia[15+1]; // Provincia 15 dig. char Telefono1[15+1]; // Telefono 1 15 dig. char Telefono2[15+1]; // Telefono 2 15 dig. struct date FechaN; // Fecha de Nacimiento struct date Antig; // Antigedad char Posicion[15+1]; // Posici˘n char Insignia; // Insignia long NTunica; // n§ tunica de hermandad char Comentario[6][50]; struct VARIOS Varios; // Campos varios } HermStruct; // Estructura donde estan contenidas las insignias typedef struct { char NInsignia[29+1]; long Suplemento; } INSIGNIAS; // Esta es la structura donde se guarda la configuraci˘n del programa typedef struct { char config_color; // Configura que paleta usa char item_ordenado[2]; // item por el que esta ordenado int TiempoBorrados; // Tiempo que hay que mantener los items, borrados long NHnoHna[2]; // Numero de Hermanos, Hermanas int LineasImpresion; INSIGNIAS Insignia[40]; // 20 Para Virgen y 20 Cristo char ImpNormal[20]; char ImpCompr[20]; long CuotaBaseFam[2]; int MesVotacion; char HoraSalida[10]; char FA[100]; } CONFIG; typedef struct { long NHerm; struct date FechaBorrado; } HERMBORRADOS; int Optar( int optar, ... ); int InputCadenaG_T5(char *s, int numalp, int lmax, int cc, int cf, int X0, int Y0, int X1, int Y1); int Comprueba_Impresora(void); int file_exists(char *filename);