First commit 25/09/1997
This commit is contained in:
		
							
								
								
									
										1360
									
								
								ALUMMM.CPP
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1360
									
								
								ALUMMM.CPP
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										465
									
								
								ALUMNUM.CPP
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										465
									
								
								ALUMNUM.CPP
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,465 @@
 | 
				
			|||||||
 | 
					#include <dos.h>
 | 
				
			||||||
 | 
					#include <math.h>
 | 
				
			||||||
 | 
					#include <conio.h>
 | 
				
			||||||
 | 
					#include <ctype.h>
 | 
				
			||||||
 | 
					#include <stdio.h>
 | 
				
			||||||
 | 
					#include <string.h>
 | 
				
			||||||
 | 
					#include <graphics.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//#include "alum_def.h"
 | 
				
			||||||
 | 
					extern void Error( int code, char *MensajeError );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					char *ptr_char;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					char far *VidRam = (char far *)MK_FP( 0xA000, 0);
 | 
				
			||||||
 | 
					void far PutPixel(unsigned int x, unsigned int y, int c_elec );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					  int x, y;
 | 
				
			||||||
 | 
					  char ndigitos;
 | 
				
			||||||
 | 
					  char AX, AY;
 | 
				
			||||||
 | 
					  char C1, C2, C3;
 | 
				
			||||||
 | 
					 } p_graphics;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					  int x, y;             // Coordenadas iniciales de muestreo
 | 
				
			||||||
 | 
					  char ndigitos;        // n<>mero de digitos a mostrar
 | 
				
			||||||
 | 
					  char AX, AY;          // factor de espaciado
 | 
				
			||||||
 | 
					  char C1, C2, C3;      // colores de fondo, texto, borde
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Datos privados y uso interno exclusivamente
 | 
				
			||||||
 | 
					  unsigned int  Flen;   // longitud de la frase actual
 | 
				
			||||||
 | 
					  char BitByte;         // bit del byte por el que va en el recorrido
 | 
				
			||||||
 | 
					  char currByte;        // byte actual dentro de la frase
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 } p_Ampliada;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int Numero_Digital( long numero,  p_graphics *ND );
 | 
				
			||||||
 | 
					void Fuente_Amplia( char *Frase, p_graphics *FA );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 /**************************************************************************\
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|* Numero_Digital                                                           *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|* Descripcion:                                                             *|
 | 
				
			||||||
 | 
					|*             Muestra un numero, con forma digital en pantalla,            *|
 | 
				
			||||||
 | 
					|*             escalandolo seg<65>n los factores indicados en p_graphics       *|
 | 
				
			||||||
 | 
					|*             ( 9 digitos como m<>ximo )                                    *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|* Entradas:                                                                *|
 | 
				
			||||||
 | 
					|*             N<>mero y estructura de muestreo                              *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|* Salidas:    (ninguna)                                                    *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					 \**************************************************************************/
 | 
				
			||||||
 | 
					int Numero_Digital( long numero,  p_graphics *ND )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					// Son 9 digitos VARIABLES
 | 
				
			||||||
 | 
					//        0
 | 
				
			||||||
 | 
					//    _________     _________   _________   _________   _________   _________   _________
 | 
				
			||||||
 | 
					//   |\______ /|   |\______ /| |\______ /| |\______ /| |\______ /| |\______ /| |\______ /|
 | 
				
			||||||
 | 
					//   | |     | |   | |     | | | |     | | | |     | | | |     | | | |     | | | |     | |
 | 
				
			||||||
 | 
					//3  | |  1  | | 5 | |     | | | |     | | | |     | | | |     | | | |     | | | |     | |
 | 
				
			||||||
 | 
					//   | /-----\ |   | /-----\ | | /-----\ | | /-----\ | | /-----\ | | /-----\ | | /-----\ |
 | 
				
			||||||
 | 
					//   | \-----/ |   | \-----/ | | \-----/ | | \-----/ | | \-----/ | | \-----/ | | \-----/ |
 | 
				
			||||||
 | 
					//4  | |     | | 6 | |     | | | |     | | | |     | | | |     | | | |     | | | |     | |
 | 
				
			||||||
 | 
					//   | |_____| |   | |_____| | | |_____| | | |_____| | | |_____| | | |_____| | | |_____| |
 | 
				
			||||||
 | 
					//   |/_______\|   |/_______\| |/_______\| |/_______\| |/_______\| |/_______\| |/_______\|
 | 
				
			||||||
 | 
					//        2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 static char dnumero[9] = { -1, -1, -1, -1, -1, -1, -1, -1, -1 };
 | 
				
			||||||
 | 
					 static char Dn[9]      =   {  0, 0, 0, 0, 0, 0, 0, 0, 0 };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 static char vez = 0;
 | 
				
			||||||
 | 
					 static p_graphics ND1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 char dnum=0, i, j, digital;
 | 
				
			||||||
 | 
					 int punto[10];
 | 
				
			||||||
 | 
					 int CONST = 0;
 | 
				
			||||||
 | 
					 char DnTmp[2];
 | 
				
			||||||
 | 
					 char signo = 0;
 | 
				
			||||||
 | 
					 static old_signo = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 // Si ha cambiado la posicion, el n<> de digitos, o el factor de escala
 | 
				
			||||||
 | 
					 // habr<62> que recalcularlo todo.
 | 
				
			||||||
 | 
					 if (
 | 
				
			||||||
 | 
					      ND1.x        != ND -> x          ||    ND1.y != ND -> y   ||
 | 
				
			||||||
 | 
					      ND1.ndigitos != ND -> ndigitos   ||
 | 
				
			||||||
 | 
					      ND1.AX       != ND -> AX         ||    ND1.AY != ND -> AY
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					   dnumero[0] = -1; dnumero[1] = -1; dnumero[2] = -1;
 | 
				
			||||||
 | 
					   dnumero[3] = -1; dnumero[4] = -1; dnumero[5] = -1;
 | 
				
			||||||
 | 
					   dnumero[6] = -1; dnumero[7] = -1; dnumero[8] = -1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Dn[0] = 0; Dn[1] = 0; Dn[2] = 0;
 | 
				
			||||||
 | 
					   Dn[3] = 0; Dn[4] = 0; Dn[5] = 0;
 | 
				
			||||||
 | 
					   Dn[6] = 0; Dn[7] = 0; Dn[8] = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   //ndigitos1 = ndigitos;
 | 
				
			||||||
 | 
					   ND1 = *ND;
 | 
				
			||||||
 | 
					   vez = 0;
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 // Miramos el signo del n<>mero
 | 
				
			||||||
 | 
					 if ( numero < 0 )
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					  numero *= -1;
 | 
				
			||||||
 | 
					  signo = 1;
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 if ( signo != old_signo ) vez = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 setcolor(ND -> C3);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 // Miro todas las cifras que componen el n<>mero
 | 
				
			||||||
 | 
					 for( i=0; i < ND -> ndigitos; i++ )
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					   dnum = numero % 10;
 | 
				
			||||||
 | 
					   digital = numero;
 | 
				
			||||||
 | 
					   numero /= 10;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   // Si el n<>mero pintado con anterioridad es distinto al actual, lo dibujamos
 | 
				
			||||||
 | 
					   if ( dnumero[ ND -> ndigitos - 1 - i] != dnum || digital == 0 || vez == 0 )
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					     // digital = dnumero[5 - i];
 | 
				
			||||||
 | 
					     dnumero[ND -> ndigitos - 1  - i] = dnum;
 | 
				
			||||||
 | 
					     //////// Esta parte del c<>digo imprime el digito en pantalla
 | 
				
			||||||
 | 
					     CONST = 12*ND -> AX*(ND -> ndigitos - 1  - i);
 | 
				
			||||||
 | 
					     DnTmp[1] = Dn[ND -> ndigitos - 1 -i];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     //  Antes de nada, eliminamos los cero a la izquierda
 | 
				
			||||||
 | 
					     if ( digital == 0 && i != 0  ) { Dn[ND -> ndigitos - 1 -i] = 0; dnumero[ND -> ndigitos - 1  - i] = -1; } else
 | 
				
			||||||
 | 
					     switch( dnum )
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					       case 0:
 | 
				
			||||||
 | 
					              Dn[ND -> ndigitos - 1 -i] = 0x7D;      // 0111 1101
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
 | 
					       case 1:
 | 
				
			||||||
 | 
					              Dn[ND -> ndigitos - 1 -i] = 0x60;      // 0110 0000
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
 | 
					       case 2:
 | 
				
			||||||
 | 
					              Dn[ND -> ndigitos - 1 -i] = 0x37;      // 0011 0111
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
 | 
					       case 3:
 | 
				
			||||||
 | 
					              Dn[ND -> ndigitos - 1 -i] = 0x67;      // 0110 0111
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
 | 
					       case 4:
 | 
				
			||||||
 | 
					              Dn[ND -> ndigitos - 1 -i] = 0x6A;      // 0110 1010
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
 | 
					       case 5:
 | 
				
			||||||
 | 
					              Dn[ND -> ndigitos - 1 -i] = 0x4F;      // 0100 1111
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
 | 
					       case 6:
 | 
				
			||||||
 | 
						      Dn[ND -> ndigitos - 1 -i] = 0x5F;      // 0101 1111
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
 | 
					       case 7:
 | 
				
			||||||
 | 
					              Dn[ND -> ndigitos - 1 -i] = 0x61;      // 0110 0001
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
 | 
					       case 8:
 | 
				
			||||||
 | 
					              Dn[ND -> ndigitos - 1 -i] = 0x7F;      // 0111 1111
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
 | 
					       case 9:
 | 
				
			||||||
 | 
					              Dn[ND -> ndigitos - 1 -i] = 0x6F;      // 0110 1111
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      DnTmp[0] = Dn[ND -> ndigitos - 1 -i];
 | 
				
			||||||
 | 
					     for( j=0; j<7; j++ )
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					       if ( DnTmp[1]%2 != DnTmp[0]%2 || vez == 0 )
 | 
				
			||||||
 | 
					       {
 | 
				
			||||||
 | 
					        if ( DnTmp[0]%2 )
 | 
				
			||||||
 | 
					         setfillstyle(SOLID_FILL, ND -> C1);
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
						 setfillstyle(SOLID_FILL, ND -> C2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						switch( j )
 | 
				
			||||||
 | 
						 {
 | 
				
			||||||
 | 
						  case 0:
 | 
				
			||||||
 | 
					                 punto[0] =  0*ND -> AX + CONST + ND -> x;   punto[1] =  0*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 punto[2] = 10*ND -> AX + CONST + ND -> x;   punto[3] =  0*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 punto[4] =  8*ND -> AX + CONST + ND -> x;   punto[5] =  2*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 punto[6] =  2*ND -> AX + CONST + ND -> x;   punto[7] =  2*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 punto[8] =  0*ND -> AX + CONST + ND -> x;   punto[9] =  0*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 fillpoly( 5, punto );
 | 
				
			||||||
 | 
					               break;
 | 
				
			||||||
 | 
					          case 3:
 | 
				
			||||||
 | 
					                 punto[0] =  0*ND -> AX + CONST + ND -> x;   punto[1] =  0*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 punto[2] =  2*ND -> AX + CONST + ND -> x;   punto[3] =  2*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
							 punto[4] =  2*ND -> AX + CONST + ND -> x;   punto[5] =  9*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 punto[6] =  1*ND -> AX + CONST + ND -> x;   punto[7] = 10*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 punto[8] =  0*ND -> AX + CONST + ND -> x;   punto[9] =  9*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 fillpoly( 5, punto );
 | 
				
			||||||
 | 
						      break;
 | 
				
			||||||
 | 
					          case 5:
 | 
				
			||||||
 | 
					                 punto[0] = 10*ND -> AX + CONST + ND -> x;   punto[1] =  0*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 punto[2] = 10*ND -> AX + CONST + ND -> x;   punto[3] =  9*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 punto[4] =  9*ND -> AX + CONST + ND -> x;   punto[5] = 10*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
							 punto[6] =  8*ND -> AX + CONST + ND -> x;   punto[7] =  9*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 punto[8] =  8*ND -> AX + CONST + ND -> x;   punto[9] =  2*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 fillpoly( 5, punto );
 | 
				
			||||||
 | 
					               break;
 | 
				
			||||||
 | 
					          case 1:
 | 
				
			||||||
 | 
					                 int punto1[12];
 | 
				
			||||||
 | 
					                 punto1[0] =  1*ND -> AX + CONST + ND -> x;   punto1[1] = 10*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 punto1[2] =  2*ND -> AX + CONST + ND -> x;   punto1[3] =  9*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 punto1[4] =  8*ND -> AX + CONST + ND -> x;   punto1[5] =  9*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 punto1[6] =  9*ND -> AX + CONST + ND -> x;   punto1[7] = 10*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 punto1[8] =  8*ND -> AX + CONST + ND -> x;   punto1[9] = 11*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
							 punto1[10] = 2*ND -> AX + CONST + ND -> x;   punto1[11] = 11*ND -> AY +ND -> y;
 | 
				
			||||||
 | 
					                 fillpoly( 6, punto1 );
 | 
				
			||||||
 | 
					               break;
 | 
				
			||||||
 | 
					          case 4:
 | 
				
			||||||
 | 
							 punto[0] =  1*ND -> AX + CONST + ND -> x;   punto[1] = 10*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 punto[2] =  2*ND -> AX + CONST + ND -> x;   punto[3] = 11*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 punto[4] =  2*ND -> AX + CONST + ND -> x;   punto[5] = 18*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 punto[6] =  0*ND -> AX + CONST + ND -> x;   punto[7] = 20*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 punto[8] =  0*ND -> AX + CONST + ND -> x;   punto[9] = 11*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
							 fillpoly( 5, punto );
 | 
				
			||||||
 | 
					               break;
 | 
				
			||||||
 | 
					          case 6:
 | 
				
			||||||
 | 
					                 punto[0] =  9*ND -> AX + CONST + ND -> x;   punto[1] = 10*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 punto[2] = 10*ND -> AX + CONST + ND -> x;   punto[3] = 11*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 punto[4] = 10*ND -> AX + CONST + ND -> x;   punto[5] = 20*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 punto[6] =  8*ND -> AX + CONST + ND -> x;   punto[7] = 18*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 punto[8] =  8*ND -> AX + CONST + ND -> x;   punto[9] = 11*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 fillpoly( 5, punto );
 | 
				
			||||||
 | 
					               break;
 | 
				
			||||||
 | 
					          case 2:
 | 
				
			||||||
 | 
							 punto[0] =  2*ND -> AX + CONST + ND -> x;   punto[1] = 18*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 punto[2] =  8*ND -> AX + CONST + ND -> x;   punto[3] = 18*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 punto[4] = 10*ND -> AX + CONST + ND -> x;   punto[5] = 20*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
							 punto[6] =  0*ND -> AX + CONST + ND -> x;   punto[7] = 20*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
							 punto[8] =  2*ND -> AX + CONST + ND -> x;   punto[9] = 18*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					                 fillpoly( 5, punto );
 | 
				
			||||||
 | 
					               break;
 | 
				
			||||||
 | 
					          default:
 | 
				
			||||||
 | 
					               break;
 | 
				
			||||||
 | 
						 }
 | 
				
			||||||
 | 
					       }
 | 
				
			||||||
 | 
					        DnTmp[0] /= 2;
 | 
				
			||||||
 | 
					        DnTmp[1] /= 2;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 if ( signo != old_signo )
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					       if ( (old_signo = signo) == 1 )
 | 
				
			||||||
 | 
					       {
 | 
				
			||||||
 | 
					        setfillstyle(SOLID_FILL, ND -> C1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        int punto1[12];
 | 
				
			||||||
 | 
					        punto1[0] =  1*ND -> AX + ND -> x;   punto1[1] = 10*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					        punto1[2] =  2*ND -> AX + ND -> x;   punto1[3] =  9*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					        punto1[4] =  8*ND -> AX + ND -> x;   punto1[5] =  9*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					        punto1[6] =  9*ND -> AX + ND -> x;   punto1[7] = 10*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
					        punto1[8] =  8*ND -> AX + ND -> x;   punto1[9] = 11*ND -> AY + ND -> y;
 | 
				
			||||||
 | 
						punto1[10] = 2*ND -> AX + ND -> x;   punto1[11] = 11*ND -> AY +ND -> y;
 | 
				
			||||||
 | 
					        fillpoly( 6, punto1 );
 | 
				
			||||||
 | 
					       }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 vez = 1;
 | 
				
			||||||
 | 
					 return 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					////////////////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					void far PutPixel(unsigned int x, unsigned int y, int c_elec )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  if ( x < 320 && y < 200 )
 | 
				
			||||||
 | 
					             *(VidRam + (x + y*320) ) = c_elec;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void LeeFuentes(char *file)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					FILE *fich;
 | 
				
			||||||
 | 
						/* Reservamos 4 Kb. para cargar la fuente en memoria */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/* Abrimos el fichero de la fuente */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ((fich=fopen(file,"rb"))==NULL) {
 | 
				
			||||||
 | 
					                printf("\a\nArchivo %s no encontrado.\n",file);
 | 
				
			||||||
 | 
							Error(0, "No se encuentra el archivo de fuentes");
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						fseek(fich, SEEK_SET, 0);	/* Nos colocamos al principio del fichero     */
 | 
				
			||||||
 | 
					        fread(ptr_char,1,4096,fich);      /* Cargamos en memoria 4096 bytes del fichero */
 | 
				
			||||||
 | 
						fclose(fich);					/* Cerramos el fichero 								 */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define TAMx 8
 | 
				
			||||||
 | 
					#define TAMy 8
 | 
				
			||||||
 | 
					void Fuente_Amplia( char *Frase, p_Ampliada far *FA )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 int  i, j, k;           // Variables de avance
 | 
				
			||||||
 | 
					 int  c_elec;            // Color en el momento de imprimir
 | 
				
			||||||
 | 
					 int  PosX, PosY;        // Posicion fisica final
 | 
				
			||||||
 | 
					 char LCaract;           // Caracter de linea a tratar
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 if ( FA->Flen != _fstrlen( Frase ) ) // Reseteamos las variables de control interno
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					  // Obtenemos la longitud de la frase. ( En d<>gitos )
 | 
				
			||||||
 | 
					  FA -> Flen = _fstrlen( Frase );
 | 
				
			||||||
 | 
					  // Contador de digito actual a cero
 | 
				
			||||||
 | 
					  FA -> BitByte  = 0;
 | 
				
			||||||
 | 
					  // Posicion dentro de la frase
 | 
				
			||||||
 | 
					  FA -> currByte = 0;
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 // Avance horizontal de bit's ( avance de digitos )
 | 
				
			||||||
 | 
					 for ( i = 0; i < ( TAMx * (FA -> ndigitos) ); i++ )
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					  k = ( (unsigned char)Frase[ ( (i+FA->BitByte)/TAMx + FA -> currByte ) % FA->Flen ] ) << 4;
 | 
				
			||||||
 | 
					  LCaract = ( (char)0x01 << (7 - (i+FA->BitByte)%TAMx) );
 | 
				
			||||||
 | 
					  PosX = FA -> x + FA->AX   * i;         // Posicion f<>sica horizontal
 | 
				
			||||||
 | 
					  // Avance vertical de bit's
 | 
				
			||||||
 | 
					  for ( j = 0; j < TAMy; j ++ )
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    PosY = FA -> y + FA->AY * j;         // Posicion f<>sica vertical
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if ( ptr_char[ k + j ] & LCaract )
 | 
				
			||||||
 | 
					      c_elec = FA->C2;
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      c_elec = FA->C1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    putpixel ( PosX, PosY, c_elec );
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					 // Tenemos en cuenta el avance dentro de la frase
 | 
				
			||||||
 | 
					 if ( ( FA -> BitByte ++ ) >= 7 )
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					  FA -> BitByte = 0; FA -> currByte ++;
 | 
				
			||||||
 | 
					  if ( FA -> currByte >= FA -> Flen )
 | 
				
			||||||
 | 
					     FA -> currByte = 0;
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#undef TAMy
 | 
				
			||||||
 | 
					#undef TAMx
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define TAMx  8
 | 
				
			||||||
 | 
					#define TAMy 16
 | 
				
			||||||
 | 
					void Fuente_Amplia3( char *Frase, p_Ampliada far *FA )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 int  i, j, k;           // Variables de avance
 | 
				
			||||||
 | 
					 int  c_elec;            // Color en el momento de imprimir
 | 
				
			||||||
 | 
					 int  PosX, PosY;        // Posicion fisica final
 | 
				
			||||||
 | 
					 char LCaract;           // Caracter de linea a tratar
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 if ( FA->Flen != _fstrlen( Frase ) ) // Reseteamos las variables de control interno
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					  // Obtenemos la longitud de la frase. ( En d<>gitos )
 | 
				
			||||||
 | 
					  FA -> Flen = _fstrlen( Frase );
 | 
				
			||||||
 | 
					  // Contador de digito actual a cero
 | 
				
			||||||
 | 
					  FA -> BitByte  = 0;
 | 
				
			||||||
 | 
					  // Posicion dentro de la frase
 | 
				
			||||||
 | 
					  FA -> currByte = 0;
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 // Avance horizontal de bit's ( avance de digitos )
 | 
				
			||||||
 | 
					 for ( i = 0; i < ( TAMx * (FA -> ndigitos) ); i++ )
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					  k = ( (unsigned char)Frase[ ( (i+FA->BitByte)/TAMx + FA -> currByte ) % FA->Flen ] ) << 4;
 | 
				
			||||||
 | 
					  LCaract = ( (char)0x01 << (7 - (i+FA->BitByte)%TAMx) );
 | 
				
			||||||
 | 
					  PosX = FA -> x + FA->AX   * i;         // Posicion f<>sica horizontal
 | 
				
			||||||
 | 
					  // Avance vertical de bit's
 | 
				
			||||||
 | 
					  for ( j = 0; j < TAMy; j ++ )
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    PosY = FA -> y + FA->AY * j;         // Posicion f<>sica vertical
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if ( ptr_char[ k + j ] & LCaract )
 | 
				
			||||||
 | 
					      c_elec = FA->C2;
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      c_elec = FA->C1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    putpixel ( PosX, PosY, c_elec );
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					 // Tenemos en cuenta el avance dentro de la frase
 | 
				
			||||||
 | 
					 if ( ( FA -> BitByte ++ ) >= 7 )
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					  FA -> BitByte = 0; FA -> currByte ++;
 | 
				
			||||||
 | 
					  if ( FA -> currByte >= FA -> Flen )
 | 
				
			||||||
 | 
					     FA -> currByte = 0;
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#undef TAMy
 | 
				
			||||||
 | 
					#undef TAMx
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/////<2F><>/////////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					////<2F>/////////////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					/////<2F><>/////<2F>///////////////////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					//////<2F>///<2F>////<2F>/<2F>//////////////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					///////<2F>/<2F>///<2F>//////////////////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					////////<2F>//<2F>////<2F>///////////////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					/////////<2F>////<2F>/////////////////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					///////////<2F>////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					#define TAMx  8
 | 
				
			||||||
 | 
					#define TAMy 16
 | 
				
			||||||
 | 
					void FuenteAmplia( char *Frase, p_Ampliada far *FA )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 int  i, j, k;           // Variables de avance
 | 
				
			||||||
 | 
					 int  c_elec;            // Color en el momento de imprimir
 | 
				
			||||||
 | 
					 int  PosX, PosY;        // Posicion fisica final
 | 
				
			||||||
 | 
					 int  LCaract;           // Caracter de linea a tratar
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 if ( FA->C3 == -1 || FA->Flen != _fstrlen( Frase ) )              // Reseteamos las variables de control interno
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					  // Obtenemos la longitud de la frase. ( En d<>gitos )
 | 
				
			||||||
 | 
					  FA -> Flen = _fstrlen( Frase );
 | 
				
			||||||
 | 
					  // Contador de digito actual a cero
 | 
				
			||||||
 | 
					  FA -> BitByte  = 0;
 | 
				
			||||||
 | 
					  // Posicion dentro de la frase
 | 
				
			||||||
 | 
					  FA -> currByte = 0;
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 // Avance horizontal de bit's ( avance de digitos )
 | 
				
			||||||
 | 
					 for ( i = 0; i < ( TAMx * (FA -> ndigitos) ); i++ )
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					  k = ( (unsigned char)Frase[ ( (i+FA->BitByte)/TAMx + FA -> currByte ) % FA->Flen ] ) << 4;
 | 
				
			||||||
 | 
					  LCaract = ( (char)0x01 << (7 - (i+FA->BitByte)%TAMx) );
 | 
				
			||||||
 | 
					  PosX = FA -> x + FA->AX   * i;         // Posicion f<>sica horizontal
 | 
				
			||||||
 | 
					  // Avance vertical de bit's
 | 
				
			||||||
 | 
					  for ( j = 0; j < TAMy; j ++ )
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    PosY = FA -> y + FA->AY * j;         // Posicion f<>sica vertical
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if ( ptr_char[ k + j ] & LCaract )
 | 
				
			||||||
 | 
					      c_elec = FA->C2;
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      c_elec = FA->C1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    PutPixel ( PosX, PosY, c_elec );
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					 // Tenemos en cuenta el avance dentro de la frase
 | 
				
			||||||
 | 
					 if ( ( FA -> BitByte ++ ) >= 7 )
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					  FA -> BitByte = 0; FA -> currByte ++;
 | 
				
			||||||
 | 
					  if ( FA -> currByte >= FA -> Flen )
 | 
				
			||||||
 | 
					     FA -> currByte = 0;
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#undef TAMy
 | 
				
			||||||
 | 
					#undef TAMx
 | 
				
			||||||
							
								
								
									
										957
									
								
								ALUM_CFG.CPP
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										957
									
								
								ALUM_CFG.CPP
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,957 @@
 | 
				
			|||||||
 | 
					#include <dos.h>
 | 
				
			||||||
 | 
					#include <math.h>
 | 
				
			||||||
 | 
					#include <time.h>
 | 
				
			||||||
 | 
					#include <alloc.h>
 | 
				
			||||||
 | 
					#include <conio.h>
 | 
				
			||||||
 | 
					#include <string.h>
 | 
				
			||||||
 | 
					#include <stdlib.h>
 | 
				
			||||||
 | 
					#include <graphics.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "c:\program\src_dos\libs\make_bot\make_bot.h"
 | 
				
			||||||
 | 
					#include "c:\program\src_dos\libs\bdatos\bdatos.hh"
 | 
				
			||||||
 | 
					#include "alum_def.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CONFIG Config = {
 | 
				
			||||||
 | 
					                  LTBKSLASH_FILL, EGA_BLUE, EGA_BLACK,
 | 
				
			||||||
 | 
					                  EGA_RED, EGA_BLACK, EGA_DARKGRAY,
 | 
				
			||||||
 | 
					                  EGA_LIGHTRED, EGA_DARKGRAY,
 | 
				
			||||||
 | 
					                  EGA_WHITE, EGA_RED, EGA_BLACK, EGA_WHITE,
 | 
				
			||||||
 | 
					                  { 0, { "PrnFile.out" }, 66, "", "", { "\0", "\0", "\0", "\0" },
 | 
				
			||||||
 | 
					                                                      { "\0", "\0", "\0", "\0" } },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                  // Horas inicio, y fin
 | 
				
			||||||
 | 
					                  {
 | 
				
			||||||
 | 
					                   { {  0,  0 }, {  0,  0 }, {  0,  0 }, {  0,  0 }, {  0,  0 } },
 | 
				
			||||||
 | 
					                   { {  0,  0 }, {  0,  0 }, {  0,  0 }, {  0,  0 }, {  0,  0 } },
 | 
				
			||||||
 | 
					                   5, // 5 de la ma<6D>ana ( cambio horario )
 | 
				
			||||||
 | 
					                   0,
 | 
				
			||||||
 | 
					                   0
 | 
				
			||||||
 | 
					                  },
 | 
				
			||||||
 | 
					                  // Impr. Ticket / Cobro Completo / InicioCaja
 | 
				
			||||||
 | 
					                  { 0, 0, 6, 0 },
 | 
				
			||||||
 | 
					                  0,
 | 
				
			||||||
 | 
					                  // Tiempo para lanzar el protector de pantalla (en sg.)
 | 
				
			||||||
 | 
					                  120,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                  "fonts\\prot_ptl.fnt",
 | 
				
			||||||
 | 
					                  "fonts\\vent_msg.fnt",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                  { 8, 12, 16, 20, 24, 4 },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                  1, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BDatos BConfig;
 | 
				
			||||||
 | 
					BDatos BThemes;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void PreviewEntorno( void );
 | 
				
			||||||
 | 
					void NoStandard( int BPush );
 | 
				
			||||||
 | 
					void MuestraCFG( int Campo, int Item, char como );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//  <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
					// <20>                     Parte principal del m<>dulo                       <20>
 | 
				
			||||||
 | 
					//  <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
					#define CFG_BASE   120
 | 
				
			||||||
 | 
					#define CFG_BASEd    3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define FUENTES   0x00
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define COLOR     0x01
 | 
				
			||||||
 | 
					#define FONDO     0x02
 | 
				
			||||||
 | 
					#define TAMANO    0x04
 | 
				
			||||||
 | 
					#define FUENTE    0x08
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 char Elementos[40];
 | 
				
			||||||
 | 
					 char Propiedades;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 char Color, Fondo;
 | 
				
			||||||
 | 
					 char Tamano, Fuente[40];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} ELEMENTOS;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 char Tema[40];
 | 
				
			||||||
 | 
					 ELEMENTOS Elementos[7];
 | 
				
			||||||
 | 
					} THEMES;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 // Cada elemento tiene unas propiedades, de las cuales depende el poder usar
 | 
				
			||||||
 | 
					 // los distintos pulsadores o no.
 | 
				
			||||||
 | 
					 THEMES  Tema = {
 | 
				
			||||||
 | 
					                  "Combinaci<EFBFBD>n standard",
 | 
				
			||||||
 | 
					                         {
 | 
				
			||||||
 | 
					                          { "Fondo de pantalla",         COLOR | FONDO | FUENTE },
 | 
				
			||||||
 | 
					                          { "Texto normal",              COLOR | FONDO          },
 | 
				
			||||||
 | 
					                          { "Texto se<73>alado",            COLOR | FONDO          },
 | 
				
			||||||
 | 
					                          { "Digitos (numeros grandes)", COLOR | FONDO          },
 | 
				
			||||||
 | 
					                          { "Digitos (borde del n<>mero)",COLOR                  },
 | 
				
			||||||
 | 
					                          { "Fuente del Protector",                      FUENTE },
 | 
				
			||||||
 | 
					                          { "Letrero digital",           COLOR | FONDO | FUENTE }
 | 
				
			||||||
 | 
					                          // A<>ADIR NUEVOS ELEMENTOS ( RESPETANDO NO SOLAPAR LAS <20>^
 | 
				
			||||||
 | 
					                         }
 | 
				
			||||||
 | 
					                };
 | 
				
			||||||
 | 
					char Elementos[][40] = {
 | 
				
			||||||
 | 
					                          { "Fondo de pantalla"          },
 | 
				
			||||||
 | 
					                          { "Texto normal"               },
 | 
				
			||||||
 | 
					                          { "Texto se<73>alado"             },
 | 
				
			||||||
 | 
					                          { "Digitos (numeros grandes)"  },
 | 
				
			||||||
 | 
					                          { "Digitos (borde del n<>mero)" },
 | 
				
			||||||
 | 
					                          { "Fuente del Protector"       },
 | 
				
			||||||
 | 
					                          { "Letrero digital"            }
 | 
				
			||||||
 | 
					                          // A<>ADIR NUEVOS ELEMENTOS ( RESPETANDO NO SOLAPAR LAS <20>^
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                       };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int NumElementos = 7, NumFuentes, NumCombinaciones;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int  ListaDesplegable( char Texto[][40], int NumEtos, int DesX, int DesY, char POS );
 | 
				
			||||||
 | 
					void CargaFuentesElemento( int NumElemento );
 | 
				
			||||||
 | 
					void MuestraElemento( int CurrElemento );
 | 
				
			||||||
 | 
					int  ObtenTamano( int TOld );
 | 
				
			||||||
 | 
					int  ObtenColor( void );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void EditCFG( int Campo, int Item, char como );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 /**************************************************************************\
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  ConfigurarEntorno                                                       *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  Descripci<63>n:                                                            *|
 | 
				
			||||||
 | 
					|*              Permite cambiar las opciones de configuraci<63>n...            *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  Entradas: (ninguna)                                                     *|
 | 
				
			||||||
 | 
					|*  Salidas:  (ninguna)                                                     *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					 \**************************************************************************/
 | 
				
			||||||
 | 
					char Combinaciones[50][40], Fuentes[50][40];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void ConfigurarEntorno( void )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 int CurrCombinacion, CurrElemento, CurrFuente, i, BPush, ok, oldTmp;
 | 
				
			||||||
 | 
					 int CurrRow, key;
 | 
				
			||||||
 | 
					 char buffer[80];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					char NumItems[] = { 7, 2 };
 | 
				
			||||||
 | 
					char ItemActual =     0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 CurrCombinacion = 0;
 | 
				
			||||||
 | 
					 CurrElemento    = 0;
 | 
				
			||||||
 | 
					 CurrFuente      = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 // Rellenamos la pantalla con un fondo atractivo...
 | 
				
			||||||
 | 
					 setfillstyle( Config.FillBgS, Config.FillBgC );
 | 
				
			||||||
 | 
					 bar( 0, 0, 640, 480 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 Imprime_Estaticos( CFG_BASE+0, "systm\\alum.img");     // Imprime botones estaticos 'Seccion 1'
 | 
				
			||||||
 | 
					 // Flecha hacia abajo
 | 
				
			||||||
 | 
					 ponicono( 184, 276, flecha, 2 );
 | 
				
			||||||
 | 
					 ponicono( 184, 331, flecha, 2 );
 | 
				
			||||||
 | 
					 ponicono( 184, 386, flecha, 2 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 if ( BThemes.AbrirReg( "datos\\themes.cfg", sizeof( THEMES ) ) == ERROR )
 | 
				
			||||||
 | 
					                                                             Error( 1, BThemes.cError);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 // Inicializamos el tema por defecto
 | 
				
			||||||
 | 
					 if ( BThemes.Registros() == 0 )
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					  Tema.Elementos[0].Fondo  = Config.FillBgF;
 | 
				
			||||||
 | 
					  Tema.Elementos[0].Color  = Config.FillBgC;  Tema.Elementos[0].Tamano = Config.FillBgS;
 | 
				
			||||||
 | 
					  Tema.Elementos[1].Color  = Config.TxtFgN ;  Tema.Elementos[1].Fondo  = Config.TxtBgN ;
 | 
				
			||||||
 | 
					  Tema.Elementos[2].Color  = Config.TxtFgI ;  Tema.Elementos[2].Fondo  = Config.TxtBgI ;
 | 
				
			||||||
 | 
					  Tema.Elementos[3].Color  = Config.NumFg  ;  Tema.Elementos[3].Fondo  = Config.NumBg  ;
 | 
				
			||||||
 | 
					  Tema.Elementos[4].Color  = Config.NumLn  ;
 | 
				
			||||||
 | 
					  strcpy( Tema.Elementos[5].Fuente, Config.Prot_fnt );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  Tema.Elementos[6].Color  = Config.DigFg  ;  Tema.Elementos[6].Fondo  = Config.DigBg  ;
 | 
				
			||||||
 | 
					  strcpy( Tema.Elementos[6].Fuente, Config.Vent_msg );
 | 
				
			||||||
 | 
					  if ( BThemes.InsReg( (void *)&Tema, 0, ARRIBA ) == ERROR )
 | 
				
			||||||
 | 
					                                              Error( 1, BThemes.cError);
 | 
				
			||||||
 | 
					 } else
 | 
				
			||||||
 | 
					  if ( BThemes.LeeReg( (void *)&Tema, CurrCombinacion ) == ERROR )
 | 
				
			||||||
 | 
					                                              Error( 1, BThemes.cError);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 CargaFuentesElemento( CurrElemento );
 | 
				
			||||||
 | 
					 MuestraElemento( CurrElemento );
 | 
				
			||||||
 | 
					 PreviewEntorno();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 Imprime_Estaticos( ItemActual+125, "systm\\alum.img");     // Imprime botones estaticos 'Seccion 1'
 | 
				
			||||||
 | 
					 for ( CurrRow = 0; CurrRow < NumItems[ ItemActual ]; CurrRow ++ )
 | 
				
			||||||
 | 
					       MuestraCFG( CurrRow, ItemActual, NORMAL );
 | 
				
			||||||
 | 
					 CurrRow = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 ok = 0;
 | 
				
			||||||
 | 
					 do {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      MuestraCFG( CurrRow, ItemActual, INTENSO );
 | 
				
			||||||
 | 
					      BPush = Comprueba_Secuencia( CFG_BASEd, NULL );
 | 
				
			||||||
 | 
					      MuestraCFG( CurrRow, ItemActual, NORMAL );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      switch ( BPush )
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					       case  0:				  // No se pulso ningun BOTON
 | 
				
			||||||
 | 
						       while( kbhit() ) getch();  // Limpiamos posibles teclas en BUFFER
 | 
				
			||||||
 | 
						       break;
 | 
				
			||||||
 | 
					       case -2:				  // Hay una tecla normal en BUFFER
 | 
				
			||||||
 | 
					               if ( (key=getch()) != 27 && key != 13 )
 | 
				
			||||||
 | 
					                                  ungetch( key );
 | 
				
			||||||
 | 
					               EditCFG( CurrRow, ItemActual, NORMAL );
 | 
				
			||||||
 | 
						       while( kbhit() ) getch();  // Limpiamos posibles teclas en BUFFER
 | 
				
			||||||
 | 
						       break;
 | 
				
			||||||
 | 
					       case -1:				  // Hay una tecla especial en BUFFER
 | 
				
			||||||
 | 
					               switch( getch() )
 | 
				
			||||||
 | 
					               {
 | 
				
			||||||
 | 
					                 // Flecha Izquierda
 | 
				
			||||||
 | 
					                 case  75:
 | 
				
			||||||
 | 
					                 case  15:
 | 
				
			||||||
 | 
					                 // Flecha Arriba
 | 
				
			||||||
 | 
					                 case  72:
 | 
				
			||||||
 | 
					                       CurrRow--; if ( CurrRow < 0 ) CurrRow = NumItems[ItemActual] - 1;
 | 
				
			||||||
 | 
					                       break;
 | 
				
			||||||
 | 
					                 // Flecha Derecha
 | 
				
			||||||
 | 
					                 case  77:
 | 
				
			||||||
 | 
					                 case   9:
 | 
				
			||||||
 | 
					                // Flecha Abajo
 | 
				
			||||||
 | 
					                case  80:
 | 
				
			||||||
 | 
					                       CurrRow++; if ( CurrRow >= NumItems[ItemActual] ) CurrRow = 0;
 | 
				
			||||||
 | 
					                       break;
 | 
				
			||||||
 | 
					                // Inicio
 | 
				
			||||||
 | 
					                case  71:
 | 
				
			||||||
 | 
					                       CurrRow = 0;
 | 
				
			||||||
 | 
					                       break;
 | 
				
			||||||
 | 
					                // Fin
 | 
				
			||||||
 | 
					                case  79:
 | 
				
			||||||
 | 
					                       CurrRow = NumItems[ItemActual];
 | 
				
			||||||
 | 
					                       break;
 | 
				
			||||||
 | 
					               }
 | 
				
			||||||
 | 
						       break;
 | 
				
			||||||
 | 
					       // Men<65> Principal
 | 
				
			||||||
 | 
					       case  1:
 | 
				
			||||||
 | 
					               ok = 1;
 | 
				
			||||||
 | 
						       break;
 | 
				
			||||||
 | 
					       // Combinaciones
 | 
				
			||||||
 | 
					       case  2:
 | 
				
			||||||
 | 
						       break;
 | 
				
			||||||
 | 
					       // Guardar combinaci<63>n
 | 
				
			||||||
 | 
					       case  3:
 | 
				
			||||||
 | 
					//               GuardaCombinacion();
 | 
				
			||||||
 | 
						       break;
 | 
				
			||||||
 | 
					       // Eliminar combinaci<63>n
 | 
				
			||||||
 | 
					       case  4:
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					               if ( CurrCombinacion != 0 && Optar( 1, "Eliminar combinaci<63>n", "Confirme la eliminaci<63>n", "de la combinaci<63>n actual.", NULL ) )
 | 
				
			||||||
 | 
					               {
 | 
				
			||||||
 | 
					                if ( BThemes.DelReg( CurrCombinacion ) == ERROR )
 | 
				
			||||||
 | 
					                                                              Error( 1, BThemes.cError);
 | 
				
			||||||
 | 
					                CurrCombinacion --;
 | 
				
			||||||
 | 
					                if ( BThemes.LeeReg( (void *)&Config, CurrCombinacion ) == ERROR )
 | 
				
			||||||
 | 
					                                                             Error( 1, BThemes.cError);
 | 
				
			||||||
 | 
					                PreviewEntorno();
 | 
				
			||||||
 | 
					               }
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
						       break;
 | 
				
			||||||
 | 
					       // Elementos
 | 
				
			||||||
 | 
					       case  5:
 | 
				
			||||||
 | 
					               oldTmp = CurrElemento;
 | 
				
			||||||
 | 
					               CurrElemento = ListaDesplegable( Elementos, NumElementos, 5, 330, ARRIBA );
 | 
				
			||||||
 | 
					               if ( oldTmp != CurrElemento )
 | 
				
			||||||
 | 
					               {
 | 
				
			||||||
 | 
					                     CargaFuentesElemento( CurrElemento );
 | 
				
			||||||
 | 
					                     MuestraElemento( CurrElemento );
 | 
				
			||||||
 | 
					                     PreviewEntorno();
 | 
				
			||||||
 | 
					               }
 | 
				
			||||||
 | 
						       break;
 | 
				
			||||||
 | 
					       // Fuentes
 | 
				
			||||||
 | 
					       case  6:
 | 
				
			||||||
 | 
					               if ( Tema.Elementos[CurrElemento].Propiedades & FUENTE )
 | 
				
			||||||
 | 
					               {
 | 
				
			||||||
 | 
					                oldTmp = CurrFuente;
 | 
				
			||||||
 | 
					                CurrFuente = ListaDesplegable( Fuentes, NumFuentes, 5, 385, ARRIBA );
 | 
				
			||||||
 | 
					                if ( oldTmp != CurrFuente )
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                  if ( CurrElemento == 0 )
 | 
				
			||||||
 | 
					                     Tema.Elementos[CurrElemento].Tamano =  CurrFuente;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                  strcpy( Tema.Elementos[CurrElemento].Fuente, Fuentes[CurrFuente] );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                  PreviewEntorno();
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					               }
 | 
				
			||||||
 | 
						       break;
 | 
				
			||||||
 | 
					       // Color
 | 
				
			||||||
 | 
					       case  7:
 | 
				
			||||||
 | 
					               if ( Tema.Elementos[CurrElemento].Propiedades & COLOR )
 | 
				
			||||||
 | 
					               {
 | 
				
			||||||
 | 
					                Tema.Elementos[CurrElemento].Color = ObtenColor();
 | 
				
			||||||
 | 
					                PreviewEntorno();
 | 
				
			||||||
 | 
					                setfillstyle( SOLID_FILL, Tema.Elementos[CurrElemento].Color );
 | 
				
			||||||
 | 
					                bar( 292, 332, 308,  348 );
 | 
				
			||||||
 | 
					               }
 | 
				
			||||||
 | 
						       break;
 | 
				
			||||||
 | 
					       // Fondo
 | 
				
			||||||
 | 
					       case  8:
 | 
				
			||||||
 | 
					               if ( Tema.Elementos[CurrElemento].Propiedades & FONDO )
 | 
				
			||||||
 | 
					               {
 | 
				
			||||||
 | 
					                Tema.Elementos[CurrElemento].Fondo = ObtenColor();
 | 
				
			||||||
 | 
					                PreviewEntorno();
 | 
				
			||||||
 | 
					                setfillstyle( SOLID_FILL, Tema.Elementos[CurrElemento].Fondo );
 | 
				
			||||||
 | 
					                bar( 292, 360, 308,  376 );
 | 
				
			||||||
 | 
					               }
 | 
				
			||||||
 | 
						       break;
 | 
				
			||||||
 | 
					       // Tama<6D>o
 | 
				
			||||||
 | 
					       case  9:
 | 
				
			||||||
 | 
					               if ( Tema.Elementos[CurrElemento].Propiedades & TAMANO )
 | 
				
			||||||
 | 
					               {
 | 
				
			||||||
 | 
					                Tema.Elementos[CurrElemento].Tamano = ObtenTamano( Tema.Elementos[CurrElemento].Tamano );
 | 
				
			||||||
 | 
					                PreviewEntorno();
 | 
				
			||||||
 | 
					                setfillstyle( SOLID_FILL, EGA_LIGHTGRAY );
 | 
				
			||||||
 | 
					                bar( 264, 387, 308, 403 );
 | 
				
			||||||
 | 
					                sprintf( buffer, "%3d", Tema.Elementos[CurrElemento].Tamano );
 | 
				
			||||||
 | 
					                outtextxy( 264, 387, buffer );
 | 
				
			||||||
 | 
					               }
 | 
				
			||||||
 | 
					      	       break;
 | 
				
			||||||
 | 
					       // Impresora
 | 
				
			||||||
 | 
					       // Ventas
 | 
				
			||||||
 | 
					       // Varios...
 | 
				
			||||||
 | 
					       case 10:
 | 
				
			||||||
 | 
					       case 11:
 | 
				
			||||||
 | 
					       case 12:
 | 
				
			||||||
 | 
					               ItemActual  = BPush - 10;
 | 
				
			||||||
 | 
					               Imprime_Estaticos( ItemActual+125, "systm\\alum.img");     // Imprime botones estaticos 'Seccion 1'
 | 
				
			||||||
 | 
					               for ( CurrRow = 0; CurrRow < NumItems[ ItemActual ]; CurrRow ++ )
 | 
				
			||||||
 | 
					                MuestraCFG( CurrRow, ItemActual, NORMAL );
 | 
				
			||||||
 | 
					               CurrRow = 0;
 | 
				
			||||||
 | 
					               break;
 | 
				
			||||||
 | 
					       default:
 | 
				
			||||||
 | 
					               NoStandard( BPush );
 | 
				
			||||||
 | 
						       break;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 } while( !ok );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 // Copiamos el Tema actual a las opciones de configuracion
 | 
				
			||||||
 | 
					                                           Config.FillBgF= Tema.Elementos[0].Fondo;
 | 
				
			||||||
 | 
					 Config.FillBgC= Tema.Elementos[0].Color;  Config.FillBgS= Tema.Elementos[0].Tamano;
 | 
				
			||||||
 | 
					 Config.TxtFgN = Tema.Elementos[1].Color;  Config.TxtBgN = Tema.Elementos[1].Fondo;
 | 
				
			||||||
 | 
					 Config.TxtFgI = Tema.Elementos[2].Color;  Config.TxtBgI = Tema.Elementos[2].Fondo;
 | 
				
			||||||
 | 
					 Config.NumFg  = Tema.Elementos[3].Color;  Config.NumBg  = Tema.Elementos[3].Fondo;
 | 
				
			||||||
 | 
					 Config.NumLn  = Tema.Elementos[4].Color;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 strcpy( Config.Prot_fnt, Tema.Elementos[5].Fuente );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 Config.DigFg = Tema.Elementos[6].Color  ;  Config.DigBg = Tema.Elementos[6].Fondo  ;
 | 
				
			||||||
 | 
					 strcpy( Config.Vent_msg, Tema.Elementos[6].Fuente );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 // Salvamos la configuraci<63>n
 | 
				
			||||||
 | 
					 if ( BConfig.EscribeReg( (void *)&Config, 0 ) == ERROR )
 | 
				
			||||||
 | 
					                                             Error( 1, BConfig.cError);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 // Salvamos la configuraci<63>n
 | 
				
			||||||
 | 
					 if ( BThemes.EscribeReg( (void *)&Tema, CurrCombinacion ) == ERROR )
 | 
				
			||||||
 | 
					                                              Error( 1, BThemes.cError);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 BThemes.CerrarReg();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 /**************************************************************************\
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  PreviewPantalla                                                         *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  Descripci<63>n:                                                            *|
 | 
				
			||||||
 | 
					|*              Realiza el preview de la mini-pantalla                      *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  Entradas: (ninguna)                                                     *|
 | 
				
			||||||
 | 
					|*  Salidas:  (ninguna)                                                     *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					 \**************************************************************************/
 | 
				
			||||||
 | 
					void PreviewEntorno( void )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// setbkcolor( Tema.Elementos[0].Fondo );
 | 
				
			||||||
 | 
					 setfillstyle( Tema.Elementos[0].Tamano, Tema.Elementos[0].Color );
 | 
				
			||||||
 | 
					 bar( 6, 36, 309, 239 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 Imprime_Estaticos( CFG_BASE+1, "systm\\alum.img" );
 | 
				
			||||||
 | 
					 settextstyle( SMALL_FONT, HORIZ_DIR, 4 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 // Campos
 | 
				
			||||||
 | 
					 setfillstyle( SOLID_FILL, Tema.Elementos[1].Fondo );
 | 
				
			||||||
 | 
					 bar(  51, 55, 179, 63 );
 | 
				
			||||||
 | 
					 bar(  41, 67,  84, 75 ); bar( 121, 67, 179, 75 );
 | 
				
			||||||
 | 
					 bar(  51, 79,  99, 87 ); bar( 141, 79, 179, 87 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 // Visualizaci<63>n R<>pida
 | 
				
			||||||
 | 
					 bar(  12, 119,  68, 221 );
 | 
				
			||||||
 | 
					 bar(  74, 119, 214, 221 );
 | 
				
			||||||
 | 
					 bar( 220, 119, 243, 221 );
 | 
				
			||||||
 | 
					 bar( 249, 119, 303, 221 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 // Texto Iluminado
 | 
				
			||||||
 | 
					 setfillstyle( SOLID_FILL, Tema.Elementos[2].Fondo );
 | 
				
			||||||
 | 
					 setcolor( Tema.Elementos[2].Color );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 bar( 15, 122, 67, 129 );
 | 
				
			||||||
 | 
					 outtextxy( 11, 120, "  000124 " );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 setcolor( Tema.Elementos[1].Color );
 | 
				
			||||||
 | 
					 outtextxy( 11, 120, "            Albaranes de compra " );
 | 
				
			||||||
 | 
					 outtextxy( 11, 130, "  000136    Aliados en el juego " );
 | 
				
			||||||
 | 
					 outtextxy( 11, 140, "  000250    Baticoco de mono    " );
 | 
				
			||||||
 | 
					 outtextxy( 11, 150, "  000045    Garganta profunda   " );
 | 
				
			||||||
 | 
					  outtextxy(  8, 120, "                                    003     1.500 " );
 | 
				
			||||||
 | 
					  outtextxy(  8, 130, "                                    045     9.999 " );
 | 
				
			||||||
 | 
					  outtextxy(  8, 140, "                                    009       415 " );
 | 
				
			||||||
 | 
					  outtextxy(  8, 150, "                                    010     2.250 " );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 setcolor( EGA_WHITE );
 | 
				
			||||||
 | 
					 outtextxy( 10, 224, " C<>digo de la descripci<63>n." );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 Imprime_Estaticos( CFG_BASE+2, "systm\\alum.img" );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void MuestraElemento( int CurrElemento )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 char buffer[80];
 | 
				
			||||||
 | 
					 settextstyle( SMALL_FONT, HORIZ_DIR, 5 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 setfillstyle( SOLID_FILL, Config.TxtBgN );
 | 
				
			||||||
 | 
					 setcolor( Config.TxtFgN );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 // Nombre del elemento
 | 
				
			||||||
 | 
					 bar( 7, 332, 178, 348 );
 | 
				
			||||||
 | 
					 outtextxy( 10, 332, Tema.Elementos[CurrElemento].Elementos );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 // Fuente
 | 
				
			||||||
 | 
					 bar( 7, 387, 178, 403 );
 | 
				
			||||||
 | 
					 if ( Tema.Elementos[CurrElemento].Propiedades & FUENTE )
 | 
				
			||||||
 | 
					     outtextxy( 10, 387, Tema.Elementos[CurrElemento].Fuente );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 // Color
 | 
				
			||||||
 | 
					 if ( Tema.Elementos[CurrElemento].Propiedades & COLOR )
 | 
				
			||||||
 | 
					    setfillstyle( SOLID_FILL, Tema.Elementos[CurrElemento].Color );
 | 
				
			||||||
 | 
					 else
 | 
				
			||||||
 | 
					    setfillstyle( SOLID_FILL, EGA_LIGHTGRAY );
 | 
				
			||||||
 | 
					 bar( 292, 332, 308,  348 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 // Fondo
 | 
				
			||||||
 | 
					 if ( Tema.Elementos[CurrElemento].Propiedades & FONDO )
 | 
				
			||||||
 | 
					    setfillstyle( SOLID_FILL, Tema.Elementos[CurrElemento].Fondo );
 | 
				
			||||||
 | 
					 else
 | 
				
			||||||
 | 
					    setfillstyle( SOLID_FILL, EGA_LIGHTGRAY );
 | 
				
			||||||
 | 
					 bar( 292, 360, 308,  376 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 // Tamano
 | 
				
			||||||
 | 
					 setfillstyle( SOLID_FILL, EGA_LIGHTGRAY );
 | 
				
			||||||
 | 
					 bar( 264, 387, 308, 403 );
 | 
				
			||||||
 | 
					 sprintf( buffer, "%3d", Tema.Elementos[CurrElemento].Tamano );
 | 
				
			||||||
 | 
					 if ( Tema.Elementos[CurrElemento].Propiedades & TAMANO )
 | 
				
			||||||
 | 
					                                          outtextxy( 264, 387, buffer );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int ObtenTamano( int TOld )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 char buffer[80];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 sprintf ( buffer, "%d", TOld );
 | 
				
			||||||
 | 
					 if (  ( InputCadenaG( buffer, 1, 4, Config.TxtBgN, Config.TxtFgN, 264, 387, 308,  403 ) >> 8 ) )
 | 
				
			||||||
 | 
					    itoa( TOld, buffer, 10 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 return atoi(buffer);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void CargaFuentesElemento( int NumElemento )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					       // Cargamos el tipo de fuente necesario
 | 
				
			||||||
 | 
					       switch( NumElemento )
 | 
				
			||||||
 | 
					       {
 | 
				
			||||||
 | 
					        // Fondo de pantalla
 | 
				
			||||||
 | 
					        case 0:
 | 
				
			||||||
 | 
					             strcpy( Fuentes[ 0], "Sin Fondo" );
 | 
				
			||||||
 | 
					             strcpy( Fuentes[ 1], "Fondo Solido" );
 | 
				
			||||||
 | 
					             strcpy( Fuentes[ 2], "Lineas Horizontales" );
 | 
				
			||||||
 | 
					             strcpy( Fuentes[ 3], "Lineas Inclinadas ////" );
 | 
				
			||||||
 | 
					             strcpy( Fuentes[ 4], "Lineas Inclinadas2 ////" );
 | 
				
			||||||
 | 
					             strcpy( Fuentes[ 5], "Lineas Inclinadas3 \\\\\\\\" );
 | 
				
			||||||
 | 
					             strcpy( Fuentes[ 6], "Lineas Inclinadas4 \\\\\\\\" );
 | 
				
			||||||
 | 
					             strcpy( Fuentes[ 7], "Crusado suave" );
 | 
				
			||||||
 | 
					             strcpy( Fuentes[ 8], "Crusado Grueso" );
 | 
				
			||||||
 | 
					             strcpy( Fuentes[ 9], "Lineas intercaladas" );
 | 
				
			||||||
 | 
					             strcpy( Fuentes[10], "Punteado" );
 | 
				
			||||||
 | 
					             strcpy( Fuentes[11], "Lineas semi-juntas" );
 | 
				
			||||||
 | 
					             NumFuentes = 12;
 | 
				
			||||||
 | 
					             break;
 | 
				
			||||||
 | 
					        // Fuente del Protector
 | 
				
			||||||
 | 
					        // Letrero digital
 | 
				
			||||||
 | 
					        case 5:
 | 
				
			||||||
 | 
					        case 6:
 | 
				
			||||||
 | 
					             // Realizamos una recopilaci<63>n de fuentes .FNT
 | 
				
			||||||
 | 
					//             NumFuentes = AdquirirArchivos( Fuentes, "FONTS\*.FNT" );
 | 
				
			||||||
 | 
					                NumFuentes = 0;
 | 
				
			||||||
 | 
					             break;
 | 
				
			||||||
 | 
					        default:
 | 
				
			||||||
 | 
					                NumFuentes = 0;
 | 
				
			||||||
 | 
					       }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					//////////////////////C O N F I G U R A C I O N/////////////////////////
 | 
				
			||||||
 | 
					////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					char ColorR[18*18+10], ColorG[18*18+10], ColorB[18*18+10];
 | 
				
			||||||
 | 
					void RecuadraRGB( int Color );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int ObtenColor( void )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 char BPush, ok, Reg;
 | 
				
			||||||
 | 
					 int CurrCol, R, G, B;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 Optar( ENCUADRE, "Elija Color, o definal<61>:", NULL );
 | 
				
			||||||
 | 
					 Imprime_Estaticos( CFG_BASE+3, "systm\\alum.img" );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 CurrCol = 1;
 | 
				
			||||||
 | 
					 RecuadraRGB( CurrCol );
 | 
				
			||||||
 | 
					 ok = 0;
 | 
				
			||||||
 | 
					 do {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Imprime_Bordes( CFG_BASEd + 1, ( CurrCol + 2 ),  11 );
 | 
				
			||||||
 | 
					    BPush = Comprueba_Secuencia( CFG_BASEd + 1, /*RatonParaColor*/NULL );
 | 
				
			||||||
 | 
					    Imprime_Bordes( CFG_BASEd + 1, ( CurrCol + 2 ),  -1 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    switch ( BPush )
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					       case  0:				  // No se pulso ningun BOTON
 | 
				
			||||||
 | 
						       while( kbhit() ) getch();  // Limpiamos posibles teclas en BUFFER
 | 
				
			||||||
 | 
						       break;
 | 
				
			||||||
 | 
					       case -2:				  // Hay una tecla normal en BUFFER
 | 
				
			||||||
 | 
						       while( kbhit() ) getch();  // Limpiamos posibles teclas en BUFFER
 | 
				
			||||||
 | 
						       break;
 | 
				
			||||||
 | 
					       case -1:				  // Hay una tecla especial en BUFFER
 | 
				
			||||||
 | 
						       while( kbhit() ) getch();  // Limpiamos posibles teclas en BUFFER
 | 
				
			||||||
 | 
						       break;
 | 
				
			||||||
 | 
					       // Aceptar
 | 
				
			||||||
 | 
					       case  1:
 | 
				
			||||||
 | 
					               Reg = 0;
 | 
				
			||||||
 | 
					               ok = 1;
 | 
				
			||||||
 | 
						       break;
 | 
				
			||||||
 | 
					       // Cancelar
 | 
				
			||||||
 | 
					       case  2:
 | 
				
			||||||
 | 
					               Reg = 1;
 | 
				
			||||||
 | 
					               ok = 1;
 | 
				
			||||||
 | 
					               break;
 | 
				
			||||||
 | 
					       default:
 | 
				
			||||||
 | 
					               if ( BPush >=2 && BPush <= 18 )
 | 
				
			||||||
 | 
					               {
 | 
				
			||||||
 | 
					                                CurrCol = BPush - 2;
 | 
				
			||||||
 | 
					                                putimage( 413, 295 - R - 18,  ColorR, COPY_PUT );
 | 
				
			||||||
 | 
					                                putimage( 428, 295 - G - 18,  ColorG, COPY_PUT );
 | 
				
			||||||
 | 
					                                putimage( 443, 295 - B - 18,  ColorB, COPY_PUT );
 | 
				
			||||||
 | 
					                                RecuadraRGB( CurrCol );
 | 
				
			||||||
 | 
					               }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 } while( !ok );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 if ( Reg == 1 )
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					  // Restauro los registros anteriores
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 Optar( ENCUADRE, "Elija Color, o definal<61>:", NULL );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 return (CurrCol - 1);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void RecuadraRGB( int Color )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 char R, G, B;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 R = G = B = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 getimage( 413, 295 - R - 18, 413 + 18, 295 - R, ColorR );
 | 
				
			||||||
 | 
					 getimage( 428, 295 - G - 18, 428 + 18, 295 - G, ColorG );
 | 
				
			||||||
 | 
					 getimage( 443, 295 - B - 18, 443 + 18, 295 - B, ColorB );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 ponicono( 413, 295 - R - 18, led_off, 1);
 | 
				
			||||||
 | 
					 ponicono( 428, 295 - G - 18, led_off, 1);
 | 
				
			||||||
 | 
					 ponicono( 443, 295 - B - 18, led_off, 1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int ListaDesplegable( char Texto[][40], int NumEtos, int DesX, int DesY, char POS )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 static int PorDonde, NumEl = -1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 if ( NumEl != NumEtos )
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					    NumEl = NumEtos;    PorDonde = 0;
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					 PorDonde ++; if ( PorDonde >= NumEtos ) PorDonde = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 // Fuente
 | 
				
			||||||
 | 
					 setfillstyle( SOLID_FILL, Config.TxtBgN );
 | 
				
			||||||
 | 
					 setcolor( Config.TxtFgN );
 | 
				
			||||||
 | 
					 bar( DesX+2, DesY+2, DesX + 175, DesY + 18 );
 | 
				
			||||||
 | 
					 outtextxy( DesX + 5, DesY + 2, Texto[PorDonde] );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 return PorDonde;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
					//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
					//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A partir de aqui, ya no es standard...<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
					//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
					//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
					void MuestraCFG( int Campo, int Item, char como )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 int X0, Y0, X1, Y1;
 | 
				
			||||||
 | 
					 char buffer[80], draw;
 | 
				
			||||||
 | 
					 int i;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  draw = 1;
 | 
				
			||||||
 | 
					  switch( Item )
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					   case 0:
 | 
				
			||||||
 | 
					        switch ( Campo )
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					         // Imprimir en un archivo ( SI/NO )
 | 
				
			||||||
 | 
					         case 0:
 | 
				
			||||||
 | 
					              draw = 0;
 | 
				
			||||||
 | 
					              X0 = 350; Y0 = 95; X1 = 370; Y1 = 115;
 | 
				
			||||||
 | 
					              setfillstyle( SOLID_FILL, ( como == NORMAL ) ? EGA_LIGHTGRAY : EGA_RED );
 | 
				
			||||||
 | 
					              bar( X0, Y0, X1, Y1 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              if ( !Config.Impresora.Printer )
 | 
				
			||||||
 | 
					                       ponicono( X0+5, Y0+5, led_on, 1 );
 | 
				
			||||||
 | 
					              else
 | 
				
			||||||
 | 
					                       ponicono( X0+5, Y0+5, led_off, 1 );
 | 
				
			||||||
 | 
					              break;
 | 
				
			||||||
 | 
					         // Archivo donde imprimir
 | 
				
			||||||
 | 
					         case 1:
 | 
				
			||||||
 | 
					              X0 = 541; Y0 = 99; X1 = 629; Y1 = 116;
 | 
				
			||||||
 | 
					              sprintf( buffer, "%s", Config.Impresora.PrintTo );
 | 
				
			||||||
 | 
					              break;
 | 
				
			||||||
 | 
					         // Numero de lineas
 | 
				
			||||||
 | 
					         case 2:
 | 
				
			||||||
 | 
					              X0 = 541; Y0 = 124; X1 = 629; Y1 = 141;
 | 
				
			||||||
 | 
					              sprintf( buffer, "%d", Config.Impresora.Lineas );
 | 
				
			||||||
 | 
					              break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					         // Imprimir normal
 | 
				
			||||||
 | 
					         case 3:
 | 
				
			||||||
 | 
					              X0 = 466; Y0 = 176; X1 = 629; Y1 = 193;
 | 
				
			||||||
 | 
					              sprintf( buffer, "%s", Config.Impresora.Normal );
 | 
				
			||||||
 | 
					              break;
 | 
				
			||||||
 | 
					         // Imprimir Condensado
 | 
				
			||||||
 | 
					         case 4:
 | 
				
			||||||
 | 
					              X0 = 466; Y0 = 201; X1 = 631; Y1 = 218;
 | 
				
			||||||
 | 
					              sprintf( buffer, "%s", Config.Impresora.Condensado );
 | 
				
			||||||
 | 
					              break;
 | 
				
			||||||
 | 
					         // Comentario inicial ( Tickets ventas )
 | 
				
			||||||
 | 
					         case 5:
 | 
				
			||||||
 | 
					              draw = 0;
 | 
				
			||||||
 | 
					              X0 = 421; Y0 = 250; X1 = 629; Y1 = 310;
 | 
				
			||||||
 | 
					              setfillstyle( SOLID_FILL, ( como == NORMAL ) ? Config.TxtBgN : Config.TxtBgI );
 | 
				
			||||||
 | 
					              bar( X0, Y0, X1, Y1 );
 | 
				
			||||||
 | 
					              setcolor ( ( como == NORMAL ) ? Config.TxtFgN : Config.TxtFgI );
 | 
				
			||||||
 | 
					              for ( i=0; i<4; i++)
 | 
				
			||||||
 | 
					               outtextxy( X0+3, Y0 + i*15, &Config.Impresora.PrincipioTickets[i][0] );
 | 
				
			||||||
 | 
					              break;
 | 
				
			||||||
 | 
					         // Comentario inicial ( Tickets ventas )
 | 
				
			||||||
 | 
					         case 6:
 | 
				
			||||||
 | 
					              draw = 0;
 | 
				
			||||||
 | 
					              X0 = 421; Y0 = 321; X1 = 629; Y1 = 381;
 | 
				
			||||||
 | 
					              setfillstyle( SOLID_FILL, ( como == NORMAL ) ? Config.TxtBgN : Config.TxtBgI );
 | 
				
			||||||
 | 
					              bar( X0, Y0, X1, Y1 );
 | 
				
			||||||
 | 
					              setcolor ( ( como == NORMAL ) ? Config.TxtFgN : Config.TxtFgI );
 | 
				
			||||||
 | 
					              for ( i=0; i<4; i++)
 | 
				
			||||||
 | 
					               outtextxy( X0+3, Y0 + i*15, &Config.Impresora.FinTickets[i][0] );
 | 
				
			||||||
 | 
					              break;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
 | 
					   case 1:
 | 
				
			||||||
 | 
					        switch( Campo )
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					         case 0:
 | 
				
			||||||
 | 
					            X0 = 541; Y0 = 39; X1 = 629; Y1 = 56;
 | 
				
			||||||
 | 
					           {
 | 
				
			||||||
 | 
					            auto char TipoProtector[3][10+1] = { "FUTURA", "AMPLIACION", "F.A." };
 | 
				
			||||||
 | 
					            sprintf( buffer, "%s", TipoProtector[Config.TProtector] );
 | 
				
			||||||
 | 
					           }
 | 
				
			||||||
 | 
					           break;
 | 
				
			||||||
 | 
					        case 1:
 | 
				
			||||||
 | 
					            X0 = 541; Y0 = 64; X1 = 629; Y1 = 81;
 | 
				
			||||||
 | 
					            sprintf( buffer, "       %04d", (int)Config.Protector );
 | 
				
			||||||
 | 
					           break;
 | 
				
			||||||
 | 
					        case 2:
 | 
				
			||||||
 | 
					            X0 = 541; Y0 = 120; X1 = 629; Y1 = 134;
 | 
				
			||||||
 | 
					            sprintf( buffer, "        %02d", (int)Config.VProductos.CambioHorario );
 | 
				
			||||||
 | 
					           break;
 | 
				
			||||||
 | 
					        case 3:
 | 
				
			||||||
 | 
					        case 4:
 | 
				
			||||||
 | 
					        case 5:
 | 
				
			||||||
 | 
					        case 6:
 | 
				
			||||||
 | 
					        case 7:
 | 
				
			||||||
 | 
					        case 8:
 | 
				
			||||||
 | 
					            X0 = 352; Y0 = 181 + 20*(Campo-3); X1 = 379; Y1 = Y0 + 16;
 | 
				
			||||||
 | 
					            setfillstyle( SOLID_FILL, EGA_LIGHTGRAY );
 | 
				
			||||||
 | 
					            bar( /*X0+*/381, Y0, /*X1+*/500, Y1 );
 | 
				
			||||||
 | 
					            sprintf( buffer, "    :00  >-> %02d:00", (int)Config.HorasMedicion[ ( Campo - 3 + 1 ) % 6 ] );
 | 
				
			||||||
 | 
					            TextoDoble( X0, Y0, buffer );
 | 
				
			||||||
 | 
					            sprintf( buffer, " %02d", (int)Config.HorasMedicion[Campo-3] );
 | 
				
			||||||
 | 
					           break;
 | 
				
			||||||
 | 
					        case  9:
 | 
				
			||||||
 | 
					        case 10:
 | 
				
			||||||
 | 
					        case 11:
 | 
				
			||||||
 | 
					        case 12:
 | 
				
			||||||
 | 
					            X0 = 352; Y0 = 331 + 20*(Campo-9); X1 = 379; Y1 = Y0 + 16;
 | 
				
			||||||
 | 
					            setfillstyle( SOLID_FILL, EGA_LIGHTGRAY );
 | 
				
			||||||
 | 
					            bar( /*X0+*/381, Y0, /*X1+*/500, Y1 );
 | 
				
			||||||
 | 
					            sprintf( buffer, "    :00  >-> %02d:00", (int)Config.VProductos.HoraIni[ ( Campo - 9 + 1 ) % 4 ].hora );
 | 
				
			||||||
 | 
					            TextoDoble( X0, Y0, buffer );
 | 
				
			||||||
 | 
					            sprintf( buffer, " %02d", (int)Config.VProductos.HoraIni[ ( Campo - 9 ) % 4 ].hora );
 | 
				
			||||||
 | 
					           break;
 | 
				
			||||||
 | 
					        // Permitir modificar P.C en compras ?
 | 
				
			||||||
 | 
					        case 13:
 | 
				
			||||||
 | 
					            X0 = 581; Y0 = 424; X1 = 629; Y1 = 441;
 | 
				
			||||||
 | 
					            sprintf( buffer, "%s", Config.VProductos.CambioPC == 1 ? "SI" : "NO" );
 | 
				
			||||||
 | 
					           break;
 | 
				
			||||||
 | 
					        // Reloj
 | 
				
			||||||
 | 
					        case 14:
 | 
				
			||||||
 | 
					           break;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 if ( draw )
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					  setfillstyle( SOLID_FILL, ( como == NORMAL ) ? Config.TxtBgN : Config.TxtBgI );
 | 
				
			||||||
 | 
					  bar( X0, Y0, X1, Y1 );
 | 
				
			||||||
 | 
					  setcolor ( ( como == NORMAL ) ? Config.TxtFgN : Config.TxtFgI );
 | 
				
			||||||
 | 
					  outtextxy( X0+2, Y0, buffer );
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void EditCFG( int Campo, int Item, char como )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 int X0, Y0, X1, Y1;
 | 
				
			||||||
 | 
					 char buffer[80], draw;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  draw = 1;
 | 
				
			||||||
 | 
					  switch( Item )
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					   case 0:
 | 
				
			||||||
 | 
					        switch ( Campo )
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					         // Imprimir en un archivo ( SI/NO )
 | 
				
			||||||
 | 
					         case 0:
 | 
				
			||||||
 | 
					              draw = 0;
 | 
				
			||||||
 | 
					              X0 = 350; Y0 = 95; X1 = 370; Y1 = 115;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              Config.Impresora.Printer = !Config.Impresora.Printer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              while( kbhit() ) getch();
 | 
				
			||||||
 | 
					              break;
 | 
				
			||||||
 | 
					         // Archivo donde imprimir
 | 
				
			||||||
 | 
					         case 1:
 | 
				
			||||||
 | 
					              X0 = 541; Y0 = 99; X1 = 629; Y1 = 116;
 | 
				
			||||||
 | 
					              strcpy( buffer, Config.Impresora.PrintTo );
 | 
				
			||||||
 | 
					              if ( !( InputCadenaG( buffer, 0,  20, Config.TxtBgN, Config.TxtFgN, X0, Y0, X1, Y1) >> 8 ) )
 | 
				
			||||||
 | 
					                 strcpy( Config.Impresora.PrintTo, buffer );
 | 
				
			||||||
 | 
					              break;
 | 
				
			||||||
 | 
					         // Numero de lineas
 | 
				
			||||||
 | 
					         case 2:
 | 
				
			||||||
 | 
					              X0 = 541; Y0 = 124; X1 = 629; Y1 = 141;
 | 
				
			||||||
 | 
					              sprintf( buffer, "%d", Config.Impresora.Lineas );
 | 
				
			||||||
 | 
					              if ( !( InputCadenaG( buffer, 1,  3, Config.TxtBgN, Config.TxtFgN, X0, Y0, X1, Y1) >> 8 ) )
 | 
				
			||||||
 | 
					                Config.Impresora.Lineas = atoi( buffer );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              Config.Impresora.Lineas = Config.Impresora.Lineas < 30 ? 30 : Config.Impresora.Lineas;
 | 
				
			||||||
 | 
					              break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					         // Imprimir normal
 | 
				
			||||||
 | 
					         case 3:
 | 
				
			||||||
 | 
					              X0 = 466; Y0 = 176; X1 = 629; Y1 = 193;
 | 
				
			||||||
 | 
					              strcpy( buffer, Config.Impresora.Normal );
 | 
				
			||||||
 | 
					              if ( !( InputCadenaG( buffer, 0,  20, Config.TxtBgN, Config.TxtFgN, X0, Y0, X1, Y1) >> 8 ) )
 | 
				
			||||||
 | 
					                 strcpy( Config.Impresora.Normal, buffer );
 | 
				
			||||||
 | 
					              break;
 | 
				
			||||||
 | 
					         // Imprimir Condensado
 | 
				
			||||||
 | 
					         case 4:
 | 
				
			||||||
 | 
					              X0 = 466; Y0 = 201; X1 = 631; Y1 = 218;
 | 
				
			||||||
 | 
					              strcpy( buffer, Config.Impresora.Condensado );
 | 
				
			||||||
 | 
					              if ( !( InputCadenaG( buffer, 0,  20, Config.TxtBgN, Config.TxtFgN, X0, Y0, X1, Y1) >> 8 ) )
 | 
				
			||||||
 | 
					                 strcpy( Config.Impresora.Condensado, buffer );
 | 
				
			||||||
 | 
					              break;
 | 
				
			||||||
 | 
					         // Comentario inicial ( Tickets ventas )
 | 
				
			||||||
 | 
					         case 5:
 | 
				
			||||||
 | 
					              X0 = 424; Y0 = 250; X1 = 629; Y1 = 310;
 | 
				
			||||||
 | 
					              EditComentario( (char *)(&Config.Impresora.PrincipioTickets[0][0]), 3, 25, Config.TxtBgN, Config.TxtFgN, X0, Y0, X1, Y1, 15 );
 | 
				
			||||||
 | 
					              break;
 | 
				
			||||||
 | 
					         // Comentario inicial ( Tickets ventas )
 | 
				
			||||||
 | 
					         case 6:
 | 
				
			||||||
 | 
					              X0 = 424; Y0 = 321; X1 = 629; Y1 = 381;
 | 
				
			||||||
 | 
					              EditComentario( (char *)(&Config.Impresora.FinTickets[0][0]), 3, 25, Config.TxtBgN, Config.TxtFgN, X0, Y0, X1, Y1, 15 );
 | 
				
			||||||
 | 
					              break;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
 | 
					   case 1:
 | 
				
			||||||
 | 
					        switch( Campo )
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					         case 0:
 | 
				
			||||||
 | 
					            Config.TProtector = (++Config.TProtector)%3;
 | 
				
			||||||
 | 
					           break;
 | 
				
			||||||
 | 
					        case 1:
 | 
				
			||||||
 | 
					            X0 = 541; Y0 = 64; X1 = 629; Y1 = 81;
 | 
				
			||||||
 | 
					            sprintf( buffer, "%d", (int)Config.Protector );
 | 
				
			||||||
 | 
					            if ( !( InputCadenaG( buffer, 1,  4, Config.TxtBgN, Config.TxtFgN, X0, Y0, X1, Y1) >> 8 ) )
 | 
				
			||||||
 | 
					                 Config.Protector = atof( buffer );
 | 
				
			||||||
 | 
					           break;
 | 
				
			||||||
 | 
					        case 2:
 | 
				
			||||||
 | 
					            X0 = 541; Y0 = 120; X1 = 629; Y1 = 134;
 | 
				
			||||||
 | 
					            sprintf( buffer, "%d", (int)Config.VProductos.CambioHorario );
 | 
				
			||||||
 | 
					            if ( !( InputCadenaG( buffer, 1,  2, Config.TxtBgN, Config.TxtFgN, X0, Y0, X1, Y1) >> 8 ) )
 | 
				
			||||||
 | 
					                Config.VProductos.CambioHorario = atoi( buffer ) % 25;
 | 
				
			||||||
 | 
					           break;
 | 
				
			||||||
 | 
					        case 3:
 | 
				
			||||||
 | 
					        case 4:
 | 
				
			||||||
 | 
					        case 5:
 | 
				
			||||||
 | 
					        case 6:
 | 
				
			||||||
 | 
					        case 7:
 | 
				
			||||||
 | 
					        case 8:
 | 
				
			||||||
 | 
					            X0 = 352; Y0 = 181 + 20*(Campo-3); X1 = 379; Y1 = Y0 + 16;
 | 
				
			||||||
 | 
					            sprintf( buffer, "%d", (int)Config.HorasMedicion[Campo-3] );
 | 
				
			||||||
 | 
					            if ( !( InputCadenaG( buffer, 1,  2, Config.TxtBgN, Config.TxtFgN, X0, Y0, X1, Y1) >> 8 ) )
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                Config.HorasMedicion[Campo-3] = atoi( buffer ) % 25;
 | 
				
			||||||
 | 
					                MuestraCFG( ( ( Campo - 1) < 3 ) ? 8 : ( Campo - 1), Item, NORMAL );
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					           break;
 | 
				
			||||||
 | 
					        case  9:
 | 
				
			||||||
 | 
					        case 10:
 | 
				
			||||||
 | 
					        case 11:
 | 
				
			||||||
 | 
					        case 12:
 | 
				
			||||||
 | 
					            X0 = 352; Y0 = 331 + 20*(Campo-9); X1 = 379; Y1 = Y0 + 16;
 | 
				
			||||||
 | 
					            sprintf( buffer, "%d", (int)Config.VProductos.HoraIni[Campo-9].hora );
 | 
				
			||||||
 | 
					            if ( !( InputCadenaG( buffer, 1,  2, Config.TxtBgN, Config.TxtFgN, X0, Y0, X1, Y1) >> 8 ) )
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                Config.VProductos.HoraIni[Campo-9].hora = atoi( buffer ) % 25;
 | 
				
			||||||
 | 
					                MuestraCFG( ( (Campo - 1) < 0 ) ? 12 : ( Campo - 1), Item, NORMAL );
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					           break;
 | 
				
			||||||
 | 
					        // Permitir modificar P.C en compras ?
 | 
				
			||||||
 | 
					        case 13:
 | 
				
			||||||
 | 
					            X0 = 581; Y0 = 424; X1 = 629; Y1 = 441;
 | 
				
			||||||
 | 
					            Config.VProductos.CambioPC = !Config.VProductos.CambioPC;
 | 
				
			||||||
 | 
					           break;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 while( kbhit() ) getch();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					void MuestraCFG( int Campo, int Item, char como )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 int X0, Y0, X1, Y1;
 | 
				
			||||||
 | 
					 char buffer[80], draw;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  draw = 1;
 | 
				
			||||||
 | 
					  switch( Item )
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					   case 0:
 | 
				
			||||||
 | 
					        switch ( Campo )
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					         // Imprimir en un archivo ( SI/NO )
 | 
				
			||||||
 | 
					         case 0:
 | 
				
			||||||
 | 
					              draw = 0;
 | 
				
			||||||
 | 
					              X0 = 350; Y0 = 95; X1 = 370; Y1 = 115;
 | 
				
			||||||
 | 
					              setfillstyle( SOLID_FILL, ( como == NORMAL ) ? EGA_LIGHTGRAY : EGA_RED );
 | 
				
			||||||
 | 
					              bar( X0, Y0, X1, Y1 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              if ( !Config.Impresora.Printer )
 | 
				
			||||||
 | 
					                       ponicono( X0+5, Y0+5, led_on, 1 );
 | 
				
			||||||
 | 
					              else
 | 
				
			||||||
 | 
					                       ponicono( X0+5, Y0+5, led_off, 1 );
 | 
				
			||||||
 | 
					              break;
 | 
				
			||||||
 | 
					         // Archivo donde imprimir
 | 
				
			||||||
 | 
					         case 1:
 | 
				
			||||||
 | 
					              X0 = 541; Y0 = 99; X1 = 629; Y1 = 116;
 | 
				
			||||||
 | 
					              sprintf( buffer, "%s", Config.Impresora.PrintTo );
 | 
				
			||||||
 | 
					              break;
 | 
				
			||||||
 | 
					         // Numero de lineas
 | 
				
			||||||
 | 
					         case 2:
 | 
				
			||||||
 | 
					              X0 = 541; Y0 = 124; X1 = 629; Y1 = 141;
 | 
				
			||||||
 | 
					              sprintf( buffer, "%d", Config.Impresora.Lineas );
 | 
				
			||||||
 | 
					              break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					         // Imprimir normal
 | 
				
			||||||
 | 
					         case 3:
 | 
				
			||||||
 | 
					              X0 = 466; Y0 = 324; X1 = 629; Y1 = 341;
 | 
				
			||||||
 | 
					              sprintf( buffer, "%s", Config.Impresora.Normal );
 | 
				
			||||||
 | 
					              break;
 | 
				
			||||||
 | 
					         // Imprimir Condensado
 | 
				
			||||||
 | 
					         case 4:
 | 
				
			||||||
 | 
					              X0 = 466; Y0 = 349; X1 = 631; Y1 = 366;
 | 
				
			||||||
 | 
					              sprintf( buffer, "%s", Config.Impresora.Condensado );
 | 
				
			||||||
 | 
					              break;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 if ( draw )
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					  setfillstyle( SOLID_FILL, ( como == NORMAL ) ? Config.TxtBgN : Config.TxtBgI );
 | 
				
			||||||
 | 
					  bar( X0, Y0, X1, Y1 );
 | 
				
			||||||
 | 
					  setcolor ( ( como == NORMAL ) ? Config.TxtFgN : Config.TxtFgI );
 | 
				
			||||||
 | 
					  outtextxy( X0+2, Y0, buffer );
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 /**************************************************************************\
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  NoStandard                                                              *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  Descripci<63>n:                                                            *|
 | 
				
			||||||
 | 
					|*              Opciones no standard de esta configuraci<63>n...               *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  Entradas: N<> de opci<63>n seleccionada                                     *|
 | 
				
			||||||
 | 
					|*  Salidas:  (ninguna)                                                     *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					 \**************************************************************************/
 | 
				
			||||||
 | 
					void NoStandard( int BPush )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										209
									
								
								ALUM_DEF.H
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										209
									
								
								ALUM_DEF.H
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,209 @@
 | 
				
			|||||||
 | 
					#include <dos.h>                // Estructuras varias
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Para generar una demostraci<63>n: activar la macro generadora.
 | 
				
			||||||
 | 
					//   la demostraci<63>n excluir<69> suficiente c<>digo como para no
 | 
				
			||||||
 | 
					//     poder generar el programa completo a travez de ASM.
 | 
				
			||||||
 | 
					//#define DEMOSTRACION
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define NORMAL         0
 | 
				
			||||||
 | 
					#define INTENSO        1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define ELIMINAR      -1
 | 
				
			||||||
 | 
					#define INSERTAR       1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define ATRAS         -1
 | 
				
			||||||
 | 
					#define NUEVA_BUSQUEDA 0
 | 
				
			||||||
 | 
					#define ADELANTE       1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define SEC_OPTAR      2
 | 
				
			||||||
 | 
					#define ENCUADRE       3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Niveles de acceso al programa
 | 
				
			||||||
 | 
					#define TOTAL          0
 | 
				
			||||||
 | 
					#define USUARIO        1
 | 
				
			||||||
 | 
					#define NINGUNO        2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 /**************************************************************************\
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|* Estructura para el informe de datos varios...                            *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					 \**************************************************************************/
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    // Empresas
 | 
				
			||||||
 | 
					    int  NumAlum;        // N<>mero de antiguos alumnos
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Datos de interes vario
 | 
				
			||||||
 | 
					    long EspacioCon;     // Espacio consumido por el progr.
 | 
				
			||||||
 | 
					    long EspacioLib;     // Espacio libre en disco.
 | 
				
			||||||
 | 
					} DatosInformativos;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct hora
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 char min;                      // Minutos y hora
 | 
				
			||||||
 | 
					 char hora;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct VentaProductos
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 struct hora HoraIni[5];
 | 
				
			||||||
 | 
					 struct hora HoraFin[5];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 char CambioHorario;
 | 
				
			||||||
 | 
					 char CambioPC;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 char ProcentajeMesa;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 char Printer;
 | 
				
			||||||
 | 
					 char PrintTo[80];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 char Lineas;
 | 
				
			||||||
 | 
					 char Normal[80], Condensado[80];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 char PrincipioTickets[4][25+1];
 | 
				
			||||||
 | 
					 char FinTickets[4][25+1];
 | 
				
			||||||
 | 
					} IMPRESORA;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct CajaDia
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  char ImprimirTickets;
 | 
				
			||||||
 | 
					  char CobroCompleto;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  char PorcentajeMesa;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  char SaltarInicio;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 char FillBgS, FillBgC, FillBgF;
 | 
				
			||||||
 | 
					 char NumFg, NumBg, NumLn;
 | 
				
			||||||
 | 
					 char DigFg, DigBg;
 | 
				
			||||||
 | 
					 char TxtBgN, TxtBgI, TxtFgN, TxtFgI;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 IMPRESORA Impresora;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 struct VentaProductos VProductos;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 struct CajaDia OpcionesCaja;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 char   TProtector;
 | 
				
			||||||
 | 
					 double Protector;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 char Prot_fnt[80];
 | 
				
			||||||
 | 
					 char Vent_msg[80];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 char HorasMedicion[6];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 long UltimaEmpresa;
 | 
				
			||||||
 | 
					 char Intentos;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} CONFIG;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct CuentaBancaria
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 int    Oficina;                //  4 dig.
 | 
				
			||||||
 | 
					 int    Sucursal;               //  4 dig.
 | 
				
			||||||
 | 
					 char   DigControl;             //  2 dig.
 | 
				
			||||||
 | 
					 double NumCuenta;              // 10 dig.
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 long CodigoR;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 char Nombre[15+1];
 | 
				
			||||||
 | 
					 char Apellidos[30+1];
 | 
				
			||||||
 | 
					// char Apellido2[15+1];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 char Direccion[28+1];
 | 
				
			||||||
 | 
					 char Localidad[15+1];
 | 
				
			||||||
 | 
					 char Provincia[15+1];
 | 
				
			||||||
 | 
					 unsigned long CodPostal;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 char Telefono1[15+1];
 | 
				
			||||||
 | 
					 char Fax[15+1];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 struct CuentaBancaria CC;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 char Notas[4][37+1];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 char FuturaAmpliacion[1024];
 | 
				
			||||||
 | 
					} AntiguosAlumnos;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
					//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
					//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
					//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					  int x, y;
 | 
				
			||||||
 | 
					  char ndigitos;
 | 
				
			||||||
 | 
					  char AX, AY;
 | 
				
			||||||
 | 
					  char C1, C2, C3;
 | 
				
			||||||
 | 
					 } p_graphics;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int Numero_Digital( long numero,  p_graphics *ND );
 | 
				
			||||||
 | 
					void LeeFuentes(char *file);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					  int x, y;             // Coordenadas iniciales de muestreo
 | 
				
			||||||
 | 
					  char ndigitos;        // n<>mero de digitos a mostrar
 | 
				
			||||||
 | 
					  char AX, AY;          // factor de espaciado
 | 
				
			||||||
 | 
					  char C1, C2, C3;      // colores de fondo, texto, borde
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Datos privados y uso interno exclusivamente
 | 
				
			||||||
 | 
					  unsigned int  Flen;   // longitud de la frase actual
 | 
				
			||||||
 | 
					  char BitByte;         // bit del byte por el que va en el recorrido
 | 
				
			||||||
 | 
					  char currByte;        // byte actual dentro de la frase
 | 
				
			||||||
 | 
					 } p_Ampliada;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void Fuente_Amplia( char *Frase, p_Ampliada far *FA );
 | 
				
			||||||
 | 
					void FuenteAmplia( char *Frase, p_Ampliada far *FA );
 | 
				
			||||||
 | 
					void Fuente_Amplia3( char *Frase, p_Ampliada *FA );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					extern struct date FechaGestionActual;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					extern CONFIG Config;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					extern char led_on [18] [18];
 | 
				
			||||||
 | 
					extern char led_off [18] [18];
 | 
				
			||||||
 | 
					extern char flecha  [18] [18];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int  Optar( int optar, ... );
 | 
				
			||||||
 | 
					void ponicono(int x,int y,char matriz[18][18], char pos);
 | 
				
			||||||
 | 
					void formatea_u_long( unsigned long Numero, char *Inter_Chg);
 | 
				
			||||||
 | 
					void formatea_long( long Numero, char *Inter_Chg);
 | 
				
			||||||
 | 
					int  InputCadenaG(char *s, int numalp, int lmax, int cc, int cf, int X0, int Y0, int X1, int Y1);
 | 
				
			||||||
 | 
					int  EditComentario( char *Comentario, int Lineas, int Columnas, int cc, int cf, int X0, int Y0, int X1, int Y1, int Inc );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TextoDoble( int x, int y, char *texto );
 | 
				
			||||||
 | 
					void AnulaInterrupcion(void);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					extern char IntVect;
 | 
				
			||||||
 | 
					extern char VisualMode;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void Error( int code, char *MensajeError );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					extern int far RatonVentas(void);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Cambia las opciones de configuraci<63>n.
 | 
				
			||||||
 | 
					void ConfigurarEntorno( void );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Gestion de Alumnos
 | 
				
			||||||
 | 
					void GstAlumnos(void);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int Comprueba_Impresora(void);
 | 
				
			||||||
							
								
								
									
										1557
									
								
								ALUM_GST.CPP
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1557
									
								
								ALUM_GST.CPP
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										792
									
								
								ALUM_UTL.CPP
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										792
									
								
								ALUM_UTL.CPP
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,792 @@
 | 
				
			|||||||
 | 
					#include <dos.h>
 | 
				
			||||||
 | 
					#include <conio.h>
 | 
				
			||||||
 | 
					#include <ctype.h>
 | 
				
			||||||
 | 
					#include <stdio.h>
 | 
				
			||||||
 | 
					#include <alloc.h>
 | 
				
			||||||
 | 
					#include <string.h>
 | 
				
			||||||
 | 
					#include <stdarg.h>
 | 
				
			||||||
 | 
					#include <graphics.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "c:\program\src_dos\libs\make_bot\make_bot.h"
 | 
				
			||||||
 | 
					#include "c:\program\src_dos\libs\bdatos\bdatos.hh"
 | 
				
			||||||
 | 
					#include "alum_def.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define BLANCO EGA_WHITE
 | 
				
			||||||
 | 
					#define ENCUADRE       3
 | 
				
			||||||
 | 
					#define SEC_OPTAR      2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void BEEP(void);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 /**************************************************************************\
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  InputCadenaG                                                            *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  Descripci<63>n:                                                            *|
 | 
				
			||||||
 | 
					|*              Edita una cadena en formato gr<67>fico                         *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  Entradas:                                                               *|
 | 
				
			||||||
 | 
					|*            Puntero a los datos editados                                  *|
 | 
				
			||||||
 | 
					|*            0 alfanumerico   1 numerico                                   *|
 | 
				
			||||||
 | 
					|*            longitud de la cadena (TEXTO/NUMERO)                          *|
 | 
				
			||||||
 | 
					|*            color del texto                                               *|
 | 
				
			||||||
 | 
					|*            color de fondo                                                *|
 | 
				
			||||||
 | 
					|*            Limites de acotacion                                          *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  Salidas:  (ninguna)                                                     *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					 \**************************************************************************/
 | 
				
			||||||
 | 
					int InputCadenaG(char *s, int numalp, int lmax, int cc, int cf, int X0, int Y0, int X1, int Y1)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  // A todas las y les sumaba antes +RoW*12 parametro que indica la linea
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  int  ls;                                      // longitud cadena
 | 
				
			||||||
 | 
					  char Status = 0;
 | 
				
			||||||
 | 
					  char *s1;                                     // puntero a cadena inicial
 | 
				
			||||||
 | 
					  int c, ok;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  s1 = s;                                       // inicio cadena
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                setfillstyle(SOLID_FILL, cf);
 | 
				
			||||||
 | 
					                bar(X0, Y0, X1, Y1);
 | 
				
			||||||
 | 
					                setcolor(cc);		outtextxy( X0, Y0, s1 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ls = strlen ( s );                            // Longitud de actual
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if ( ls < lmax ) {
 | 
				
			||||||
 | 
							setcolor(BLANCO);
 | 
				
			||||||
 | 
							outtextxy( X0+textwidth( s1 ), Y0, "<EFBFBD>");
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  s += ls;                                      // se coloca en el final
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  do{
 | 
				
			||||||
 | 
						c = getch();                            // obtiene tecla
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ( c == 27 ) Status = 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						ok = ( c == 27 || c == 13 || c == 0);              // 13 = INTRO || Especiales
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if ( c == 8  && ls > 0 && !ok ) {       //  8 = Back Space
 | 
				
			||||||
 | 
							ls--;
 | 
				
			||||||
 | 
							s--;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							*s = '\0';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							setfillstyle(SOLID_FILL, cf);
 | 
				
			||||||
 | 
					                bar(X0, Y0, X1, Y1);
 | 
				
			||||||
 | 
					                setcolor(cc);		outtextxy( X0, Y0, s1 );
 | 
				
			||||||
 | 
							setcolor(BLANCO);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							outtextxy( X0+textwidth( s1 ), Y0, "<EFBFBD>");
 | 
				
			||||||
 | 
							setcolor(cc);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							if ( !numalp && c >= 32 && c <= 254  && ls < lmax) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								*s++ = c;
 | 
				
			||||||
 | 
								ls++;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								*s = '\0';
 | 
				
			||||||
 | 
					                        setfillstyle(SOLID_FILL, cf);
 | 
				
			||||||
 | 
					                        bar(X0, Y0, X1, Y1);
 | 
				
			||||||
 | 
					                        setcolor(cc);		outtextxy( X0, Y0, s1 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								if ( ls < lmax ) {
 | 
				
			||||||
 | 
									setcolor(BLANCO);
 | 
				
			||||||
 | 
									outtextxy( X0+textwidth( s1 ), Y0, "<EFBFBD>");
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							} else {
 | 
				
			||||||
 | 
								if ( numalp && isdigit(c)  && ls < lmax) {
 | 
				
			||||||
 | 
									*s++ = c;
 | 
				
			||||||
 | 
									ls++;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									*s = '\0';                              // Cero final
 | 
				
			||||||
 | 
					                                setfillstyle(SOLID_FILL, cf);
 | 
				
			||||||
 | 
					                                bar(X0, Y0, X1, Y1);
 | 
				
			||||||
 | 
					                                setcolor(cc);		outtextxy( X0, Y0, s1 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									if ( ls < lmax ) {
 | 
				
			||||||
 | 
										setcolor(BLANCO);
 | 
				
			||||||
 | 
										outtextxy( X0+textwidth( s1 ), Y0, "<EFBFBD>");
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
 | 
				
			||||||
 | 
							else if( c == 27 ) {*s='\0'; ok = 1; }
 | 
				
			||||||
 | 
							/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
 | 
				
			||||||
 | 
							else BEEP();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					     }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  }while(!ok);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ok = 1;
 | 
				
			||||||
 | 
					  *s = ' ';
 | 
				
			||||||
 | 
					  while( ok && ls >= 0 ) {
 | 
				
			||||||
 | 
							if(*s==' ') { *s = '\0'; s--; ls--;
 | 
				
			||||||
 | 
							} else { s++; ok = 0; }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  *s = '\0';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  while(kbhit()) getch();              // Vacia Buffer impidiendo falsas
 | 
				
			||||||
 | 
										//  pulsaciones...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  return ( (Status<<8) + (ls&0x00FF) );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void BEEP(void)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						sound(440);
 | 
				
			||||||
 | 
						delay(50);
 | 
				
			||||||
 | 
						nosound();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void formatea_long( long Numero, char *Inter_Chg)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 char Buffer1[80];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 int c;
 | 
				
			||||||
 | 
					 char Nmc = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 if ( Numero < 0 ) { Numero *= -1; Nmc = 1; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 sprintf(Buffer1, "%lu", Numero );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 Inter_Chg[0]='\0';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 strrev(Buffer1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 c = strlen( Buffer1 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 while( c >= 3 )
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					    c -= 3;
 | 
				
			||||||
 | 
					    strncat( Inter_Chg, Buffer1, 3);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    strrev(Buffer1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Buffer1[c] = '\0';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    strrev(Buffer1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if(strlen(Buffer1)!=0)
 | 
				
			||||||
 | 
								strcat( Inter_Chg, "." );
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 strcat( Inter_Chg, Buffer1);
 | 
				
			||||||
 | 
					 if ( Nmc == 1 )
 | 
				
			||||||
 | 
					     strcat( Inter_Chg, "-" );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 strrev(Inter_Chg);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*// return Buffer2;*/
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void formatea_u_long( unsigned long Numero, char *Inter_Chg)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 char Buffer1[80];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 int c;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 sprintf(Buffer1, "%lu", Numero);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 Inter_Chg[0]='\0';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 strrev(Buffer1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 c = strlen( Buffer1 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 while( c >= 3 )
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    c -= 3;
 | 
				
			||||||
 | 
					    strncat( Inter_Chg, Buffer1, 3);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    strrev(Buffer1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Buffer1[c] = '\0';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    strrev(Buffer1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if(strlen(Buffer1)!=0)
 | 
				
			||||||
 | 
								strcat( Inter_Chg, "." );
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 strcat( Inter_Chg, Buffer1);
 | 
				
			||||||
 | 
					 strrev(Inter_Chg);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*// return Buffer2;*/
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int Optar( int optar, ... )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 static void far *fondo, far *fd_aceptar, far *fd_cancelar;
 | 
				
			||||||
 | 
					 static char Memoria = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 int DEV = 0, ok = 0, linea = 0;
 | 
				
			||||||
 | 
					 int Center; char *buff;
 | 
				
			||||||
 | 
					 struct textsettingstype texttypeinfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 va_list ap;
 | 
				
			||||||
 | 
					 va_start( ap, &optar );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 if ( Memoria == 1 )
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					  putimage( 170, 165, fondo      , COPY_PUT );
 | 
				
			||||||
 | 
					  putimage( 170, 320, fd_aceptar , COPY_PUT );
 | 
				
			||||||
 | 
					  putimage( 370, 320, fd_cancelar, COPY_PUT );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  farfree( fondo       );
 | 
				
			||||||
 | 
					  farfree( fd_aceptar  );
 | 
				
			||||||
 | 
					  farfree( fd_cancelar );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  Memoria = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if ( optar == ENCUADRE ) return DEV;
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 if ( ( fondo       = farmalloc( JD_imagesize( 170, 165, 470, 315 ) ) ) != NULL &&
 | 
				
			||||||
 | 
					      ( fd_aceptar  = farmalloc( JD_imagesize( 170, 320, 270, 350 ) ) ) != NULL &&
 | 
				
			||||||
 | 
					      ( fd_cancelar = farmalloc( JD_imagesize( 370, 320, 470, 350 ) ) ) != NULL   )
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					   Memoria = 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   getimage( 170, 165, 470, 315, fondo      );
 | 
				
			||||||
 | 
					   getimage( 170, 320, 270, 350, fd_aceptar );
 | 
				
			||||||
 | 
					   getimage( 370, 320, 470, 350, fd_cancelar);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   gettextsettings( &texttypeinfo );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Imprime_Estaticos( 100, "systm\\alum.img" );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   settextstyle( SMALL_FONT, HORIZ_DIR, 6 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   setcolor( 63 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   while ( (buff = va_arg(ap, char *)) != NULL )
 | 
				
			||||||
 | 
					   {
 | 
				
			||||||
 | 
					     Center = (296 - textwidth( buff ) ) / 2;
 | 
				
			||||||
 | 
					     outtextxy( 172+Center, ( (linea == 0 ) ? 167 : 200 + 20*linea ), buff );
 | 
				
			||||||
 | 
					     linea++;
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   va_end(ap);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   settextstyle( texttypeinfo.font, texttypeinfo.direction, texttypeinfo.charsize );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   if ( optar != ENCUADRE )
 | 
				
			||||||
 | 
					   {
 | 
				
			||||||
 | 
					    ok = 0;   	       while( kbhit() ) getch();  // Limpiamos posibles teclas en BUFFER
 | 
				
			||||||
 | 
					    do {
 | 
				
			||||||
 | 
					      switch( Comprueba_Secuencia( SEC_OPTAR, NULL ) )
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        case  0:				  // No se pulso ningun BOTON
 | 
				
			||||||
 | 
					        case -2:
 | 
				
			||||||
 | 
					        case -1:
 | 
				
			||||||
 | 
						       while( kbhit() ) getch();  // Limpiamos posibles teclas en BUFFER
 | 
				
			||||||
 | 
					               if ( optar == 0 ) ok = 1;
 | 
				
			||||||
 | 
						       break;
 | 
				
			||||||
 | 
					        case  1:
 | 
				
			||||||
 | 
					                DEV = 1; ok = 1;
 | 
				
			||||||
 | 
					                break;
 | 
				
			||||||
 | 
					        case  2:
 | 
				
			||||||
 | 
					                DEV = 0; ok = 1;
 | 
				
			||||||
 | 
					                break;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }while( !ok );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    putimage( 170, 165, fondo      , COPY_PUT );
 | 
				
			||||||
 | 
					    putimage( 170, 320, fd_aceptar , COPY_PUT );
 | 
				
			||||||
 | 
					    putimage( 370, 320, fd_cancelar, COPY_PUT );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   farfree( fondo       );
 | 
				
			||||||
 | 
					   farfree( fd_aceptar  );
 | 
				
			||||||
 | 
					   farfree( fd_cancelar );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Memoria = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 } else {
 | 
				
			||||||
 | 
					     farfree( fondo       );
 | 
				
			||||||
 | 
					     farfree( fd_aceptar  );
 | 
				
			||||||
 | 
					     farfree( fd_cancelar );
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 return DEV;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 char led_off [18] [18] =
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					  { 3,3,3,0,0,0,0,3,3,3,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 3,3,0,7,7,7,7,0,3,3,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 3,0,7,4,12,12,4,7,0,3,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 0,7,4,12,4,4,4,4,8,0,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 0,7,4,4,4,4,4,4,8,0,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 0,7,4,4,4,4,4,12,8,0,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 0,7,4,4,4,4,12,12,8,0,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 3,0,8,4,12,12,12,8,0,3,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 3,3,0,8,8,8,8,0,3,3,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 3,3,3,0,0,0,0,3,3,3,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 }
 | 
				
			||||||
 | 
					 };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 char led_on [18] [18] =
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					  { 3,3,3,0,0,0,0,3,3,3,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 3,3,0,7,7,7,7,0,3,3,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 3,0,7,11,13,13,11,7,0,3,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 0,7,11,13,11,11,11,11,8,0,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 0,7,11,11,11,11,11,11,8,0,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 0,7,11,11,11,11,11,13,8,0,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 0,7,11,11,11,11,13,13,8,0,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 3,0,8,11,13,13,13,8,0,3,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 3,3,0,8,8,8,8,0,3,3,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 3,3,3,0,0,0,0,3,3,3,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 },
 | 
				
			||||||
 | 
					  { 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 }
 | 
				
			||||||
 | 
					 };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 char flecha [18] [18] =
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					  3,3,3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,3,
 | 
				
			||||||
 | 
					  3,3,3,3,3,3,3,3,0,4,0,3,3,3,3,3,3,3,
 | 
				
			||||||
 | 
					  3,3,3,3,3,3,3,0,4,4,4,0,3,3,3,3,3,3,
 | 
				
			||||||
 | 
					  3,3,3,3,3,3,0,4,4,4,4,4,0,3,3,3,3,3,
 | 
				
			||||||
 | 
					  3,3,3,3,3,0,4,4,4,4,4,4,4,0,3,3,3,3,
 | 
				
			||||||
 | 
					  3,3,3,3,0,4,4,4,4,4,4,4,4,4,0,3,3,3,
 | 
				
			||||||
 | 
					  3,3,3,0,4,4,4,4,4,4,4,4,4,4,4,0,3,3,
 | 
				
			||||||
 | 
					  3,3,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,3,
 | 
				
			||||||
 | 
					  3,3,3,3,3,3,0,4,4,4,4,4,0,3,3,3,3,3,
 | 
				
			||||||
 | 
					  3,3,3,3,3,3,0,4,4,4,4,4,0,3,3,3,3,3,
 | 
				
			||||||
 | 
					  3,3,3,3,3,3,0,4,4,4,4,4,0,3,3,3,3,3,
 | 
				
			||||||
 | 
					  3,3,3,3,3,3,0,4,4,4,4,4,0,3,3,3,3,3,
 | 
				
			||||||
 | 
					  3,3,3,3,3,3,0,4,4,4,4,4,0,3,3,3,3,3,
 | 
				
			||||||
 | 
					  3,3,3,3,3,3,0,4,4,4,4,4,0,3,3,3,3,3,
 | 
				
			||||||
 | 
					  3,3,3,3,3,3,0,4,4,4,4,4,0,3,3,3,3,3,
 | 
				
			||||||
 | 
					  3,3,3,3,3,3,0,4,4,4,4,4,0,3,3,3,3,3,
 | 
				
			||||||
 | 
					  3,3,3,3,3,3,0,4,4,4,4,4,0,3,3,3,3,3,
 | 
				
			||||||
 | 
					  3,3,3,3,3,3,0,0,0,0,0,0,0,3,3,3,3,3
 | 
				
			||||||
 | 
					 };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 /**************************************************************************\
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  poicono                                                                 *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  Descripci<63>n:                                                            *|
 | 
				
			||||||
 | 
					|*              Dibuja el bitmap que se encuentra en matriz, en <20>a pos x,y  *|
 | 
				
			||||||
 | 
					|*              y segun un angulo de rotacion definido en pos.              *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  Entradas: Coordenadas x, y                                              *|
 | 
				
			||||||
 | 
					|*            Matriz del bitmap y ( 0: Normal 1: 90<39> ...                    *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  Salidas:  (ninguna)                                                     *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					 \**************************************************************************/
 | 
				
			||||||
 | 
					void ponicono(int x,int y,char matriz[18][18], char pos)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 int veces1,veces2;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 for (veces1=0;veces1<=17;veces1++)
 | 
				
			||||||
 | 
					     {
 | 
				
			||||||
 | 
					     for (veces2=0;veces2<=17;veces2++)
 | 
				
			||||||
 | 
						 {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          switch( pos )
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					           case 1:
 | 
				
			||||||
 | 
					                   if ( matriz[veces1][veces2] != 3 )
 | 
				
			||||||
 | 
					           	    putpixel(x+veces1,y+veces2,matriz[veces1][veces2]);
 | 
				
			||||||
 | 
					                   break;
 | 
				
			||||||
 | 
					           case 2:
 | 
				
			||||||
 | 
					                   if ( matriz[17-veces2][veces1] != 3 )
 | 
				
			||||||
 | 
					           	    putpixel(x+veces1,y+veces2,matriz[17-veces2][veces1]);
 | 
				
			||||||
 | 
					                   break;
 | 
				
			||||||
 | 
					           case 3:
 | 
				
			||||||
 | 
					                   if ( matriz[17-veces1][veces2] != 3 )
 | 
				
			||||||
 | 
					           	    putpixel(x+veces1,y+veces2,matriz[17-veces1][veces2]);
 | 
				
			||||||
 | 
					                   break;
 | 
				
			||||||
 | 
					           case 4:
 | 
				
			||||||
 | 
					                   if ( matriz[veces2][veces1] != 3 )
 | 
				
			||||||
 | 
					           	    putpixel(x+veces1,y+veces2,matriz[veces2][veces1]);
 | 
				
			||||||
 | 
					                   break;
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
						 }
 | 
				
			||||||
 | 
					     }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 /**************************************************************************\
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  CalculaAjusteDia                                                        *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  Descripci<63>n:                                                            *|
 | 
				
			||||||
 | 
					|*              Calcula el ajuste necesario para el comienzo de los dias    *|
 | 
				
			||||||
 | 
					|*              y el n<>mero de dias que tiene el mes en curso.              *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  Entradas: Retorno del Ajuste, y Dias del Mes                            *|
 | 
				
			||||||
 | 
					|*            Mes para iniciar c<>lculos                                     *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  Salidas:  OK      Todo ha ido bien                                      *|
 | 
				
			||||||
 | 
					|*            ERROR                                                         *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					 \**************************************************************************/
 | 
				
			||||||
 | 
					int CalculaAjusteDias( char *Ajuste, char *DiasMes, char Mes, int Anyo )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 int dev, n, b, dsem, dia;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 // Dias de los meses, si el a<>o no es bisiesto
 | 
				
			||||||
 | 
					 char DiasMeses[12] = { 31, 00, 31, 30, 31, 30,
 | 
				
			||||||
 | 
					                        31, 31, 30, 31, 30, 31 };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 // Ajusta febrero si es bisiesto el a<>o
 | 
				
			||||||
 | 
					 DiasMeses[1] = (Anyo%4 == 0) ? 29 : 28;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 dev = ERROR;
 | 
				
			||||||
 | 
					 // Solo si la entrada es correcta
 | 
				
			||||||
 | 
					 if ( Mes >= 1 && Mes <=12 )
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					   dev = OK;
 | 
				
			||||||
 | 
					   // Obtenemos que dia, ( 0 - 365 ), es el 1<> del mes
 | 
				
			||||||
 | 
					   dia = 0;
 | 
				
			||||||
 | 
					   for ( n = 0; n < 12 && n < (Mes-1); n++ )
 | 
				
			||||||
 | 
					                            dia += DiasMeses[n];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   n     = Anyo-1988;                          // a<>os para bisiesto
 | 
				
			||||||
 | 
					   b     = (n+3)/4;                            // a<>os bisies. pasados
 | 
				
			||||||
 | 
					   dsem  = 4;                                  // 1o. Ene 1988: Viernes
 | 
				
			||||||
 | 
					   dsem += (n*365+b);                          // 1o. Ene actual
 | 
				
			||||||
 | 
					   dsem  = (dsem+dia)%7;                       // d<>a seleccionado
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   *Ajuste  = dsem;
 | 
				
			||||||
 | 
					   *DiasMes = DiasMeses[ Mes - 1 ];
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 return dev;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 /**************************************************************************\
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  TextoDoble                                                              *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  Descripci<63>n:                                                            *|
 | 
				
			||||||
 | 
					|*              Muestra el texto, con doble letra, en las coordenadas dadas *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  Entradas: X, Y, texto                                                   *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  Salidas: (ninguna)                                                      *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					 \**************************************************************************/
 | 
				
			||||||
 | 
					void TextoDoble( int x, int y, char *texto )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  setcolor( EGA_BLACK );
 | 
				
			||||||
 | 
					  outtextxy( x, y, texto );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  setcolor( EGA_WHITE );
 | 
				
			||||||
 | 
					  outtextxy( x+1, y+1, texto );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/////// EDITAR COMENTARIO....
 | 
				
			||||||
 | 
					int EditComentario( char *Comentario, int Lineas, int Columnas, int cc, int cf, int X0, int Y0, int X1, int Y1, int Inc )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  int  ls;                                       // longitud cadena
 | 
				
			||||||
 | 
					  char *s1, *s, *s_tmp, *s_tmp1;                 // puntero a cadena inicial
 | 
				
			||||||
 | 
					  int key, ok, Linea = 0, Columna = 0, lmax;
 | 
				
			||||||
 | 
					  char Buffer[80];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  lmax = Columnas;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  setfillstyle(SOLID_FILL, cf);                 // selecciona los atributos de
 | 
				
			||||||
 | 
					  setcolor(cc);                                 // devuelve el color a su estado
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  for ( ok = 0; ok < Lineas; ok ++ )
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    bar( X0, Y0+Linea*Inc, X1, Y0+Linea*Inc + Inc); // relleno, y Borra el campo
 | 
				
			||||||
 | 
					    outtextxy( X0, Y0+ok*Inc, &Comentario[ (lmax+1)*Linea ] );		 // e imprime la cadena.
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ok = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  s_tmp1 = s_tmp = s = s1 = &Comentario[0 + (lmax+1)*Linea ];                        // inicio cadena
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  s += lmax ; *s = '\0';
 | 
				
			||||||
 | 
					  s = s_tmp;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					do {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  setfillstyle(SOLID_FILL, cf);                 // selecciona los atributos de
 | 
				
			||||||
 | 
					  bar( X0, Y0+Linea*Inc, X1, Y0+Linea*Inc + Inc); // relleno, y Borra el campo
 | 
				
			||||||
 | 
					  setcolor(cc);                                 // devuelve el color a su estado
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  outtextxy( X0, Y0+Linea*Inc, s1 );		 // e imprime la cadena.
 | 
				
			||||||
 | 
					//  ls = strlen ( s );                           // Longitud de la cadena actual
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if ( Columna < lmax ) {			 // Muestra cursor si es posible
 | 
				
			||||||
 | 
						strncpy( Buffer, s1, Columna );
 | 
				
			||||||
 | 
						Buffer[Columna] = '\0';
 | 
				
			||||||
 | 
						setcolor(BLANCO);
 | 
				
			||||||
 | 
						outtextxy( X0 + textwidth( Buffer ), Y0+Linea*Inc+2, "<EFBFBD>");
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  switch ( ( key = getch() ) ) {                 // obtiene tecla
 | 
				
			||||||
 | 
					      // Intro o Return
 | 
				
			||||||
 | 
					      case 13:
 | 
				
			||||||
 | 
							 if( Linea < Lineas  ) {
 | 
				
			||||||
 | 
							  setfillstyle(SOLID_FILL, cf);               // selecciona los atributos de
 | 
				
			||||||
 | 
							  bar( X0, Y0+Linea*Inc, X1, Y0+Linea*Inc + Inc); // relleno, y Borra el campo
 | 
				
			||||||
 | 
							  setcolor(cc);                                // devuelve el color a su estado
 | 
				
			||||||
 | 
							  outtextxy( X0, Y0+Linea*Inc, s1 );		 // e imprime la cadena.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							  Linea++;
 | 
				
			||||||
 | 
							  s_tmp1 = s_tmp = s = s1 = &Comentario[/*Linea + */(lmax+1)*Linea ];            // inicio cadena
 | 
				
			||||||
 | 
							  s += lmax; *s = '\0';
 | 
				
			||||||
 | 
							  Columna = 0;
 | 
				
			||||||
 | 
							  s = s_tmp1 =  s_tmp = s1;
 | 
				
			||||||
 | 
							 }
 | 
				
			||||||
 | 
						  break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    case  0:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  switch ( key = getch() ) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						   // F. Arriba
 | 
				
			||||||
 | 
						   case  72:
 | 
				
			||||||
 | 
							 if( Linea >  0 ) {
 | 
				
			||||||
 | 
							  setfillstyle(SOLID_FILL, cf);               // selecciona los atributos de
 | 
				
			||||||
 | 
							  bar( X0, Y0+Linea*Inc, X1, Y0+Linea*Inc + Inc); // relleno, y Borra el campo
 | 
				
			||||||
 | 
							  setcolor(cc);                                // devuelve el color a su estado
 | 
				
			||||||
 | 
							  outtextxy( X0, Y0+Linea*Inc, s1 );		 // e imprime la cadena.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							  Linea--;
 | 
				
			||||||
 | 
							  s_tmp1 = s_tmp = s = s1 = &Comentario[/*Linea + */(lmax+1)*Linea ];            // inicio cadena
 | 
				
			||||||
 | 
							  s += lmax; *s = '\0';
 | 
				
			||||||
 | 
							  if ( Columna < strlen( s1 ) )  s_tmp += Columna; else { Columna = 0;
 | 
				
			||||||
 | 
							   s_tmp = s1; }
 | 
				
			||||||
 | 
							  s = s_tmp1 = s_tmp;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							  break;
 | 
				
			||||||
 | 
						   // F. Abajo
 | 
				
			||||||
 | 
						   case  80:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							 if( Linea < Lineas  ) {
 | 
				
			||||||
 | 
							  setfillstyle(SOLID_FILL, cf);                 // selecciona los atributos de
 | 
				
			||||||
 | 
							  bar( X0, Y0+Linea*Inc, X1, Y0+Linea*Inc + Inc); // relleno, y Borra el campo
 | 
				
			||||||
 | 
							  setcolor(cc);                                 // devuelve el color a su estado
 | 
				
			||||||
 | 
							  outtextxy( X0, Y0+Linea*Inc, s1 );		 // e imprime la cadena.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							  Linea++;
 | 
				
			||||||
 | 
							  s_tmp1 = s_tmp = s = s1 = &Comentario[/*Linea + */(lmax+1)*Linea ];            // inicio cadena
 | 
				
			||||||
 | 
							  s += lmax; *s = '\0';
 | 
				
			||||||
 | 
							  if ( Columna < strlen( s1 ) )  s_tmp += Columna; else { Columna = 0;
 | 
				
			||||||
 | 
					                   s_tmp = s1; }
 | 
				
			||||||
 | 
							  s = s_tmp1 =  s_tmp;
 | 
				
			||||||
 | 
							 }
 | 
				
			||||||
 | 
							  break;
 | 
				
			||||||
 | 
						   // F. Derecha
 | 
				
			||||||
 | 
						   case  77:
 | 
				
			||||||
 | 
						   case   9:
 | 
				
			||||||
 | 
							  if ( Columna < strlen(s1) ) { Columna++; s++; }
 | 
				
			||||||
 | 
							  break;
 | 
				
			||||||
 | 
						   // F. Izquierda
 | 
				
			||||||
 | 
						   case  75:
 | 
				
			||||||
 | 
						   case  11:
 | 
				
			||||||
 | 
							  if ( Columna > 0) { Columna--; s--; }
 | 
				
			||||||
 | 
							 break;
 | 
				
			||||||
 | 
						   default:
 | 
				
			||||||
 | 
							 break;
 | 
				
			||||||
 | 
						  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  break;
 | 
				
			||||||
 | 
					    // Back Space
 | 
				
			||||||
 | 
					    case  8:
 | 
				
			||||||
 | 
						    if ( Columna > 0 ) {
 | 
				
			||||||
 | 
								       Columna--;
 | 
				
			||||||
 | 
								       s--;
 | 
				
			||||||
 | 
								       s_tmp1 = s_tmp = s;
 | 
				
			||||||
 | 
								       while ( *s_tmp1 != NULL ) {
 | 
				
			||||||
 | 
											       s_tmp1++;
 | 
				
			||||||
 | 
											       *s_tmp = *s_tmp1;
 | 
				
			||||||
 | 
											       s_tmp++;
 | 
				
			||||||
 | 
								       }
 | 
				
			||||||
 | 
						    }
 | 
				
			||||||
 | 
						    break;
 | 
				
			||||||
 | 
					    case 27:
 | 
				
			||||||
 | 
						    ok = 1;
 | 
				
			||||||
 | 
						    break;
 | 
				
			||||||
 | 
					    default:
 | 
				
			||||||
 | 
							if ( key >= 32 && key <= 254 && Columna < lmax) {
 | 
				
			||||||
 | 
													*s++ = key;
 | 
				
			||||||
 | 
													Columna++;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						    break;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}while(!ok);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					while(kbhit()) getch();              // Vacia Buffer impidiendo falsas
 | 
				
			||||||
 | 
									     //  pulsaciones...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  setfillstyle(SOLID_FILL, cf);                 // selecciona los atributos de
 | 
				
			||||||
 | 
					  bar( X0, Y0+Linea*Inc, X1, Y0+Linea*Inc + Inc); // relleno, y Borra el campo
 | 
				
			||||||
 | 
					  setcolor(cc);                                 // devuelve el color a su estado
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  outtextxy( X0, Y0+Linea*Inc, s1 );		 // e imprime la cadena.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					return /* de momento nada */ 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					char *PideClave( char *LineaVentana, char *Comprobante )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  static char Clave[15+1];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  Clave[0] = '\0';
 | 
				
			||||||
 | 
					  Optar( ENCUADRE, LineaVentana, "Introduzca clave para:", Comprobante, NULL );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  InputCadenaG( Clave, 0, 15, EGA_WHITE, EGA_WHITE, 190, 280, 450, 305 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  Optar( ENCUADRE, LineaVentana, "Introduzca clave para:", Comprobante, NULL );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  return Clave;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void MuestraGraficas( int PosX, int PosY, int xWidth, int yWidth, int NDatos, long *Datos, char Mensajes[][12] )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 long DMaximo;
 | 
				
			||||||
 | 
					 int i, AnchoBarra;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Limpiamos la zona de visualizaci<63>n
 | 
				
			||||||
 | 
					  setfillstyle( SOLID_FILL, EGA_WHITE );
 | 
				
			||||||
 | 
					  bar( PosX, PosY, PosX + xWidth, PosY + yWidth );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Calculamos el maximo valor a mostrar
 | 
				
			||||||
 | 
					  DMaximo = 0;
 | 
				
			||||||
 | 
					  for ( i = 0; i < NDatos; i++ )
 | 
				
			||||||
 | 
					          if ( Datos[i] > DMaximo )
 | 
				
			||||||
 | 
					                   DMaximo = Datos[i];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Ahora calculamos el ancho de cada barra de porcentaje
 | 
				
			||||||
 | 
					  AnchoBarra = xWidth / NDatos;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Empiezo a dibujar las barras
 | 
				
			||||||
 | 
					  PosY += yWidth - 1;
 | 
				
			||||||
 | 
					  yWidth -= (AnchoBarra / 4);
 | 
				
			||||||
 | 
					  setfillstyle( SLASH_FILL, EGA_BLUE );
 | 
				
			||||||
 | 
					  setcolor( EGA_BLACK );
 | 
				
			||||||
 | 
					  for ( i = 0; i < NDatos; i++ )
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					   if ( DMaximo != 0 )
 | 
				
			||||||
 | 
					     bar3d( PosX + AnchoBarra*i, PosY - ( ( Datos[i] * yWidth ) / DMaximo), PosX + AnchoBarra*(i+1), PosY,
 | 
				
			||||||
 | 
					          AnchoBarra / 4, 1 );
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 /**************************************************************************\
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  PideClaveUsuario                                                        *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  Descripci<63>n:                                                            *|
 | 
				
			||||||
 | 
					|*              Pide la clave de usuario y comprueba si es correcta.        *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  Entradas: (ninguna)                                                     *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*  Salidas:  OK -clave correcta- ERROR -clave incorrecta-                  *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					|*                                                                          *|
 | 
				
			||||||
 | 
					 \**************************************************************************/
 | 
				
			||||||
 | 
					char PideClaveUsuario( void )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					return OK;
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					  char buffer[80], Clave[80];
 | 
				
			||||||
 | 
					  int CodEmpl, dev;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  BDatos BEmpl_p;           // Base de datos de Empleados
 | 
				
			||||||
 | 
					  INFO_EMPLEADOS SEmpl_p;   // Estructura de Empleados
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  dev = ERROR;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  sprintf( buffer, "datos\\%s\\info_emp.dbf", NEmpresa );
 | 
				
			||||||
 | 
					  if ( BEmpl_p.AbrirReg( buffer, sizeof( INFO_EMPLEADOS ) ) == ERROR )
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					   Optar( 0, "<22> ALERTA !", "No existen empleados", "c<>digos de acceso anulados", "PERMISOS ABIERTOS", NULL );
 | 
				
			||||||
 | 
					   return OK;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  Clave[0] = '\0';
 | 
				
			||||||
 | 
					  Optar( ENCUADRE, "<22> Identifiquese !", "", "Login:                   ", "Password:                ", NULL );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Obtenemos el c<>digo de usuario:
 | 
				
			||||||
 | 
					  do {
 | 
				
			||||||
 | 
					      if ( InputCadenaG( buffer, 1, 5, EGA_WHITE, EGA_WHITE, 190, 280, 450, 305 ) >> 8 )
 | 
				
			||||||
 | 
					                                                                                 return ERROR;
 | 
				
			||||||
 | 
					  } while ( !MatchEmpleado( atoi(buffer) ) );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//  InputCadenaG( Clave, 0, 15, EGA_WHITE, EGA_WHITE, 190, 280, 450, 305 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if ( ! ( InputCadenaG( buffer, 1, 5, EGA_WHITE, EGA_WHITE, 190, 280, 450, 305 ) >> 8 ) )
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    if ( SEmpl_p.Password[0] != '\0' && strcmpi( buffer, SEmpl_p.Password ) == 0 )
 | 
				
			||||||
 | 
					                                  dev = OK;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  Optar( ENCUADRE, "<22> Identifiquese !", "", "Login:                   ", "Password:                ", NULL );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  return dev;
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								DATOS/ALUM.DBF
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								DATOS/ALUM.DBF
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								DATOS/CONFIG.CFG
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								DATOS/CONFIG.CFG
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								DATOS/THEMES.CFG
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								DATOS/THEMES.CFG
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								FONTS/PROT_PTL.FNT
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								FONTS/PROT_PTL.FNT
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								FONTS/VENT_MSG.FNT
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								FONTS/VENT_MSG.FNT
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										55
									
								
								PRNFILE.OUT
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								PRNFILE.OUT
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,55 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					N<EFBFBD> Alumno:     0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Alejandro 1                        
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1                                  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1 (1)                              
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					C.P.     1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					N<EFBFBD> Alumno:     0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Antonio                            
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                                   
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 ()                                
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					C.P.     0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					N<EFBFBD> Alumno:     0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Pepito Grillo                      
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                                   
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 ()                                
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					C.P.     0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										9
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					#ALUM 
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					*25/09/1997* 
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					ToDo: wwtcf? 
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								SYSTM/ALDISK.BMP
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								SYSTM/ALDISK.BMP
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 47 KiB  | 
							
								
								
									
										517
									
								
								SYSTM/ALUM.IMG
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										517
									
								
								SYSTM/ALUM.IMG
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,517 @@
 | 
				
			|||||||
 | 
					**
 | 
				
			||||||
 | 
					** Codigo fuente para MAKE_BOTON
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					** Dise<73>ado integramente, por Jose-David.Guillen@cs.us.es
 | 
				
			||||||
 | 
					**                            http://www.arrakis.es/~infomundo/JD
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					*****************************************************************************
 | 
				
			||||||
 | 
					*
 | 
				
			||||||
 | 
					*  ATENCION !!!
 | 
				
			||||||
 | 
					*               ALTERAR ESTE FICHERO, CAUSARA EL MALFUNCIONAMIENTO DEL
 | 
				
			||||||
 | 
					*               PROGRAMA DE APOYO... ( ERRORES NO DOCUMENTADOS )
 | 
				
			||||||
 | 
					*
 | 
				
			||||||
 | 
					*****************************************************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					************************************************  Botones D:   2
 | 
				
			||||||
 | 
					****                                        ****  Botones S:  20
 | 
				
			||||||
 | 
					**          M<>dulo de Botones: Gst. AAlum     **
 | 
				
			||||||
 | 
					****                                        ****
 | 
				
			||||||
 | 
					************************************************
 | 
				
			||||||
 | 
					!1, 11
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$ 400,  40, 515,  65,       7, 63, 56, 2, 2, 000,  23
 | 
				
			||||||
 | 
					$ 520,  40, 635,  65,       7, 63, 56, 2, 2, 000,  50
 | 
				
			||||||
 | 
					$ 400,  70, 515,  95,       7, 63, 56, 2, 2, 000,  83
 | 
				
			||||||
 | 
					$ 520,  70, 635,  95,       7, 63, 56, 2, 2, 000,  82
 | 
				
			||||||
 | 
					$ 400, 100, 440, 125,       7, 63, 56, 2, 2, 000,  73
 | 
				
			||||||
 | 
					$ 445, 100, 475, 125,       7, 63, 56, 2, 2, 000,  71
 | 
				
			||||||
 | 
					$ 480, 100, 555, 125,       7, 63, 56, 2, 2, 000,  48
 | 
				
			||||||
 | 
					$ 560, 100, 590, 125,       7, 63, 56, 2, 2, 000,  79
 | 
				
			||||||
 | 
					$ 595, 100, 635, 125,       7, 63, 56, 2, 2, 000,  81
 | 
				
			||||||
 | 
					$ 400,   5, 635,  30,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$ 505, 455, 635,  475,        63,  0,  0, 0, 000, 000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					************************************************  Botones D:   2
 | 
				
			||||||
 | 
					****                                        ****  Botones S:  30
 | 
				
			||||||
 | 
					**  M<>dulo para la Gestion de los Ant.Alumnos **
 | 
				
			||||||
 | 
					****                                        ****
 | 
				
			||||||
 | 
					************************************************
 | 
				
			||||||
 | 
					<EFBFBD>30
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					& 400,   5, 635,  30,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					|  400,  7,                 2,  5,  0,  0,  Gestion de Antiguos Alumnos,
 | 
				
			||||||
 | 
					|  401,  8,                 2,  5,  0, 63,  Gestion de Antiguos Alumnos,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					& 400,  40, 515,  65,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					|  400, 42,                 2,  5,  0,  0,  Imprimir Fich.,
 | 
				
			||||||
 | 
					|  401, 43,                 2,  5,  0, 63,  Imprimir Fich.,
 | 
				
			||||||
 | 
					 |  400, 43,                 2,  5,  0,  0,  _,
 | 
				
			||||||
 | 
					 |  401, 44,                 2,  5,  0, 63,  _,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					& 520,  40, 635,  65,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					|  518, 42,                 2,  5,  0,  0,  Men<65> Principal,
 | 
				
			||||||
 | 
					|  519, 43,                 2,  5,  0, 63,  Men<65> Principal,
 | 
				
			||||||
 | 
					 |  518, 43,                 2,  5,  0,  0,  _,
 | 
				
			||||||
 | 
					 |  519, 44,                 2,  5,  0, 63,  _,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					& 400,  70, 515,  95,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					|  400, 72,                 2,  5,  0,  0,  Eliminar Alum.,
 | 
				
			||||||
 | 
					|  401, 73,                 2,  5,  0, 63,  Eliminar Alum.,
 | 
				
			||||||
 | 
					& 520,  70, 635,  95,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					|  518, 72,                 2,  5,  0,  0,  Insertar Alum.,
 | 
				
			||||||
 | 
					|  519, 73,                 2,  5,  0, 63,  Insertar Alum.,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					& 400, 100, 440, 125,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					|  400, 102,                 2,  5,  0,  0,  <<,
 | 
				
			||||||
 | 
					|  401, 103,                 2,  5,  0, 63,  <<,
 | 
				
			||||||
 | 
					& 445, 100, 475, 125,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					|  445, 102,                 2,  5,  0,  0,  <-,
 | 
				
			||||||
 | 
					|  446, 103,                 2,  5,  0, 63,  <-,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					& 480, 100, 555, 125,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					|  480, 102,                 2,  5,  0,  0,   Buscar,
 | 
				
			||||||
 | 
					|  481, 103,                 2,  5,  0, 63,   Buscar,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					& 560, 100, 590, 125,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					|  560, 102,                 2,  5,  0,  0,  ->,
 | 
				
			||||||
 | 
					|  561, 103,                 2,  5,  0, 63,  ->,
 | 
				
			||||||
 | 
					& 595, 100, 635, 125,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					|  595, 102,                 2,  5,  0,  0,   >>,
 | 
				
			||||||
 | 
					|  596, 103,                 2,  5,  0, 63,   >>,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					|   5,  10,                 2,  5,  0,  0,  C<>digo:,
 | 
				
			||||||
 | 
					|   6,  11,                 2,  5,  0, 63,  C<>digo:,
 | 
				
			||||||
 | 
					&  65,   6, 150,  29,      63,  7, 56, 0, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					|   5,  45,                 2,  5,  0,  0,  Nombre:,
 | 
				
			||||||
 | 
					|   6,  46,                 2,  5,  0, 63,  Nombre:,
 | 
				
			||||||
 | 
					& 150,  41, 390,  64,      63,  7, 56, 0, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					|   5,  70,                 2,  5,  0,  0,  Apellidos:,
 | 
				
			||||||
 | 
					|   6,  71,                 2,  5,  0, 63,  Apellidos:,
 | 
				
			||||||
 | 
					& 150,  66, 390,  89,      63,  7, 56, 0, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					|   5, 115,                 2,  5,  0,  0,  Direccion:,
 | 
				
			||||||
 | 
					|   6, 116,                 2,  5,  0, 63,  Direccion:,
 | 
				
			||||||
 | 
					&  90, 111, 390, 134,      63,  7, 56, 0, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					|   5, 140,                 2,  5,  0,  0,  Localidad:                  Provincia:,
 | 
				
			||||||
 | 
					|   6, 141,                 2,  5,  0, 63,  Localidad:                  Provincia:,
 | 
				
			||||||
 | 
					&  90, 136, 225, 159,      63,  7, 56, 0, 2
 | 
				
			||||||
 | 
					& 310, 136, 440, 159,      63,  7, 56, 0, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					|  450, 140,                 2,  5,  0,  0, C.Postal:,
 | 
				
			||||||
 | 
					|  451, 141,                 2,  5,  0, 63, C.Postal:,
 | 
				
			||||||
 | 
					& 520, 136, 600, 159,      63,  7, 56, 0, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					|   5, 165,                 2,  5,  0,  0,  Tel<65>fono:,
 | 
				
			||||||
 | 
					|   6, 166,                 2,  5,  0, 63,  Tel<65>fono:,
 | 
				
			||||||
 | 
					&  90, 161, 247, 184,      63,  7, 56, 0, 2
 | 
				
			||||||
 | 
					& 253, 161, 390, 184,      63,  7, 56, 0, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&   5, 188, 255, 225,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					|   5, 188,                 2,  5,  0,  0,  Oficin. Sucur. D.C. Num.Cuenta,
 | 
				
			||||||
 | 
					|   6, 189,                 2,  5,  0, 63,  Oficin. Sucur. D.C. Num.Cuenta,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Ancho de la linea: 23
 | 
				
			||||||
 | 
					&  10, 208,  60, 221,      63,  7, 56, 1, 1
 | 
				
			||||||
 | 
					&  65, 208, 115, 221,      63,  7, 56, 1, 1
 | 
				
			||||||
 | 
					& 120, 208, 145, 221,      63,  7, 56, 1, 1
 | 
				
			||||||
 | 
					& 150, 208, 250, 221,      63,  7, 56, 1, 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					|   5, 190,                 2,  5,  0,  0,                                            Notas:,
 | 
				
			||||||
 | 
					|   6, 191,                 2,  5,  0, 63,                                            Notas:,
 | 
				
			||||||
 | 
					& 400, 161, 635, 225,      63,  7, 56, 2, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					|   6, 236,                 2,  4,  0, 63,  123456789-123456789-123456789-123456789-  123456789-123456789-123456789-  123456789-12345,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&   5, 230, 635, 255,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					|   5, 235,                 2,  5,  0,  0,  Nombre y Apellidos                       Direcci<63>n               Tel<65>fono,
 | 
				
			||||||
 | 
					|   6, 236,                 2,  5,  0, 63,  Nombre y Apellidos                       Direcci<63>n               Tel<65>fono,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&   5, 260, 300,  450,          63,  7, 56, 2, 2
 | 
				
			||||||
 | 
					& 305, 260, 497,  450,          63,  7, 56, 2, 2
 | 
				
			||||||
 | 
					& 503, 260, 635,  450,          63,  7, 56, 2, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Linea de fondo para ayudas
 | 
				
			||||||
 | 
					& 5, 455, 500,  475,           0, 63, 56, 0, 2
 | 
				
			||||||
 | 
					& 505, 455, 635,  475,        63,  0,  0, 0, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					************************************************  Botones D:
 | 
				
			||||||
 | 
					****                                        ****  Botones S:  31
 | 
				
			||||||
 | 
					**    M<>dulo buscar asociado a Proveedores    **
 | 
				
			||||||
 | 
					*                                              *
 | 
				
			||||||
 | 
					**     Muestreo del patr<74>n para busquedas     **
 | 
				
			||||||
 | 
					****                                        ****
 | 
				
			||||||
 | 
					************************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<EFBFBD>31
 | 
				
			||||||
 | 
					&  265, 200, 365, 220,      63,  0, 56, 0, 2
 | 
				
			||||||
 | 
					&  265, 225, 465, 245,      63,  0, 56, 0, 2
 | 
				
			||||||
 | 
					&  265, 250, 465, 275,      63,  0, 56, 0, 2
 | 
				
			||||||
 | 
					&  265, 280, 465, 305,      63,  0, 56, 0, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					|  175, 200,                 2,  6,  0,  0, Nombre:  ,
 | 
				
			||||||
 | 
					 |  176, 201,                 2,  6,  0, 63, Nombre:  ,
 | 
				
			||||||
 | 
					|  175, 225,                 2,  6,  0,  0, Apellidos: ,
 | 
				
			||||||
 | 
					 |  176, 226,                 2,  6,  0, 63, Apellidos: ,
 | 
				
			||||||
 | 
					|  175, 250,                 2,  6,  0,  0, Direccion,
 | 
				
			||||||
 | 
					 |  176, 251,                 2,  6,  0, 63, Direccion,
 | 
				
			||||||
 | 
					|  175, 275,                 2,  6,  0,  0, Tel<65>fono:,
 | 
				
			||||||
 | 
					 |  176, 276,                 2,  6,  0, 63, Tel<65>fono:,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					************************************************  Botones D:   6
 | 
				
			||||||
 | 
					****                                        ****  Botones S:    
 | 
				
			||||||
 | 
					**          Parte Utilizada por Optar         **
 | 
				
			||||||
 | 
					****                                        ****
 | 
				
			||||||
 | 
					************************************************
 | 
				
			||||||
 | 
					!2, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$  170, 320, 270, 350,       7, 63, 56, 2, 2, 000,  30
 | 
				
			||||||
 | 
					$  370, 320, 470, 350,       7, 63, 56, 2, 2, 000,  46
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<EFBFBD>100
 | 
				
			||||||
 | 
					&  170, 165, 470, 315,       7, 63, 56, 0, 2
 | 
				
			||||||
 | 
					&  172, 167, 468, 190,       1, 56, 63, 0, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&  170, 320, 270, 350,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					|  175, 325,                 2,  6,  0, 63,  Aceptar,
 | 
				
			||||||
 | 
					|  176, 326,                 2,  6,  0,  0,  Aceptar,
 | 
				
			||||||
 | 
					|  175, 327,                 2,  6,  0, 63,  _,
 | 
				
			||||||
 | 
					|  176, 328,                 2,  6,  0,  0,  _,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&  370, 320, 470, 350,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					|  373, 325,                 2,  6,  0, 63,  Cancelar,
 | 
				
			||||||
 | 
					|  374, 326,                 2,  6,  0,  0,  Cancelar,
 | 
				
			||||||
 | 
					|  373, 327,                 2,  6,  0, 63,  _,
 | 
				
			||||||
 | 
					|  374, 328,                 2,  6,  0,  0,  _,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					************************************************  Botones D:
 | 
				
			||||||
 | 
					****                                        ****  Botones S: 120
 | 
				
			||||||
 | 
					**     M<>dulo para configurar el entorno      **
 | 
				
			||||||
 | 
					****                                        ****
 | 
				
			||||||
 | 
					************************************************
 | 
				
			||||||
 | 
					*!3, 12
 | 
				
			||||||
 | 
					!3, 11
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$  195, 430, 310,  450,           7, 63, 56, 0, 2, 000, 050  * Men<65> Principal
 | 
				
			||||||
 | 
					$  181, 275, 205,  295,           7, 63, 56, 2, 2, 000, 000  * Combinaciones
 | 
				
			||||||
 | 
					$  213, 275, 261,  295,           7, 63, 56, 2, 2, 000, 000  * Guardar
 | 
				
			||||||
 | 
					$  262, 275, 310,  295,           7, 63, 56, 2, 2, 000, 000  * Eliminar
 | 
				
			||||||
 | 
					$  181, 330, 205,  350,           7, 63, 56, 2, 2, 000, 000  * Elementos
 | 
				
			||||||
 | 
					$  181, 385, 205,  405,           7, 63, 56, 2, 2, 000, 000  * Fuentes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$  290, 330, 310,  350,           7, 63, 56, 2, 2, 000, 000  * Color
 | 
				
			||||||
 | 
					$  290, 358, 310,  378,           7, 63, 56, 2, 2, 000, 000  * Fondo
 | 
				
			||||||
 | 
					$  262, 385, 310,  405,          63,  7, 56, 2, 2, 000, 000  * Tama<6D>o
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$  325, 370, 345,  450,           7, 56, 63, 0, 2, 000, 000  * Impresora
 | 
				
			||||||
 | 
					$  325, 285, 345,  365,           7, 56, 63, 0, 2, 000, 000  * Ventas
 | 
				
			||||||
 | 
					*$  325, 200, 345,  280,           7, 56, 63, 0, 2, 000, 000  * Varios...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<EFBFBD>120
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					& 400,   5, 635,  30,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					|  400,  7,                 2,  5,  0,  0,  Cambiar la configuraci<63>n,
 | 
				
			||||||
 | 
					|  401,  8,                 2,  5,  0, 63,  Cambiar la configuraci<63>n,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Linea de separaci<63>n
 | 
				
			||||||
 | 
					& 319,   5, 321,  450,           0, 63, 63, 0, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&   5,  35, 310,  240,           0, 63, 56, 0, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					|    5, 250,                 2,  5,  0,  0,  Combinaciones:,
 | 
				
			||||||
 | 
					|    5, 250,                 2,  5,  0, 63,  Combinaciones:,
 | 
				
			||||||
 | 
					&   5, 275, 180,  295,          63,  7, 56, 2, 2
 | 
				
			||||||
 | 
					& 181, 275, 205,  295,           7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					& 213, 275, 261,  295,           7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					& 262, 275, 310,  295,           7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					| 217, 277,                 2,  4,  0,  0, Guardar Eliminar,
 | 
				
			||||||
 | 
					| 218, 278,                 2,  4,  0, 63, Guardar Eliminar,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					|    5, 305,                 2,  5,  0,  0,  Elementos:,
 | 
				
			||||||
 | 
					|    5, 305,                 2,  5,  0, 63,  Elementos:,
 | 
				
			||||||
 | 
					&   5, 330, 180,  350,          63,  7, 56, 2, 2
 | 
				
			||||||
 | 
					& 181, 330, 205,  350,           7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					|    5, 360,                 2,  5,  0,  0,  Fuentes:,
 | 
				
			||||||
 | 
					|    5, 360,                 2,  5,  0, 63,  Fuentes:,
 | 
				
			||||||
 | 
					&   5, 385, 180,  405,          63,  7, 56, 2, 2
 | 
				
			||||||
 | 
					& 181, 385, 205,  405,           7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					|  210, 332,                 2,  4,  0,  0,  Color:,
 | 
				
			||||||
 | 
					|  211, 333,                 2,  4,  0, 63,  Color:,
 | 
				
			||||||
 | 
					& 290, 330, 310,  350,           7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					|  210, 360,                 2,  4,  0,  0,  Fondo:,
 | 
				
			||||||
 | 
					|  211, 361,                 2,  4,  0, 63,  Fondo:,
 | 
				
			||||||
 | 
					& 290, 358, 310,  378,           7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					|  210, 387,                 2,  4,  0,  0,  Tama<6D>o:,
 | 
				
			||||||
 | 
					|  211, 388,                 2,  4,  0, 63,  Tama<6D>o:,
 | 
				
			||||||
 | 
					& 262, 385, 310,  405,          63,  7, 56, 2, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&  195, 430, 310,  450,           7, 63, 56, 0, 2
 | 
				
			||||||
 | 
					|  200, 430,                 2,  5,  0,  0, Men<65> Principal,
 | 
				
			||||||
 | 
					|  201, 431,                 2,  5,  0, 63, Men<65> Principal,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Linea de fondo para ayudas
 | 
				
			||||||
 | 
					& 5, 455, 500,  475,           0, 63, 56, 0, 2
 | 
				
			||||||
 | 
					& 505, 455, 635,  475,        63,  0,  0, 0, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
					*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
					***** Configurar Impresora
 | 
				
			||||||
 | 
					& 325, 370, 345,  450,           7, 56, 63, 0, 2
 | 
				
			||||||
 | 
					|  327, 370,                 2,  4,  1,  0,  Impresora ,
 | 
				
			||||||
 | 
					|  328, 371,                 2,  4,  1, 63,  Impresora ,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					& 325, 285, 345,  365,           7, 56, 63, 0, 2
 | 
				
			||||||
 | 
					|  327, 285,                 2,  4,  1,  0,  Opciones  ,
 | 
				
			||||||
 | 
					|  328, 286,                 2,  4,  1, 63,  Opciones  ,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					& 325, 200, 345,  280,           7, 56, 63, 0, 2
 | 
				
			||||||
 | 
					|  327, 200,                 2,  4,  1,  0,  Varios... ,
 | 
				
			||||||
 | 
					|  328, 201,                 2,  4,  1, 63,  Varios... ,
 | 
				
			||||||
 | 
					*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
					*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
					<EFBFBD>121
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&  200,  40, 305,   60,           7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					|  200,  41,                 2,  4,  0,  0,  Mensaje de Linea,
 | 
				
			||||||
 | 
					|  201,  42,                 2,  4,  0, 63,  Mensaje de Linea,
 | 
				
			||||||
 | 
					&  200,  62, 252,   82,           7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					&  253,  62, 305,   82,           7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					|  198,  63,                 2,  4,  0,  0,  Imprimir  Menu Pr,
 | 
				
			||||||
 | 
					|  199,  64,                 2,  4,  0, 63,  Imprimir  Menu Pr,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					|   10,  51,                 2,  4,  0,  0,  Campo:,
 | 
				
			||||||
 | 
					|   11,  52,                 2,  4,  0, 63,  Campo:,
 | 
				
			||||||
 | 
					&   50,  54, 180,   64,          63,  7, 56, 0, 2
 | 
				
			||||||
 | 
					|   10,  63,                 2,  4,  0,  0,  Cmo:         Tlg:,
 | 
				
			||||||
 | 
					|   11,  64,                 2,  4,  0, 63,  Cmo:         Tlg:,
 | 
				
			||||||
 | 
					&   40,  66,  85,   76,          63,  7, 56, 0, 2
 | 
				
			||||||
 | 
					&  120,  66, 180,   76,          63,  7, 56, 0, 2
 | 
				
			||||||
 | 
					|   10,  75,                 2,  4,  0,  0,  Dircc:          nn:,
 | 
				
			||||||
 | 
					|   11,  76,                 2,  4,  0, 63,  Dircc:          nn:,
 | 
				
			||||||
 | 
					&   50,  78, 100,   88,          63,  7, 56, 0, 2
 | 
				
			||||||
 | 
					&  140,  78, 180,   88,          63,  7, 56, 0, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&   10, 100, 305,  115,           7, 63, 56, 0, 2
 | 
				
			||||||
 | 
					|   10, 102,                 2,  4,  0,  0,  C<>digo    Descripci<63>n              Unds.  P.V.P,
 | 
				
			||||||
 | 
					|   11, 103,                 2,  4,  0, 63,  C<>digo    Descripci<63>n              Unds.  P.V.P,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&   10, 117,  70,  223,          63,  7, 56, 2, 2
 | 
				
			||||||
 | 
					&   72, 117, 216,  223,          63,  7, 56, 2, 2
 | 
				
			||||||
 | 
					&  218, 117, 245,  223,          63,  7, 56, 2, 2
 | 
				
			||||||
 | 
					&  247, 117, 305,  223,          63,  7, 56, 2, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Texto se<73>alado
 | 
				
			||||||
 | 
					&   14, 121,  68,  130,           3,  3,  3, 0, 2
 | 
				
			||||||
 | 
					|   11, 120,                 2,  4,  0,  0,   000124    Albaranes de compra     ,
 | 
				
			||||||
 | 
					|   11, 130,                 2,  4,  0,  0,   000136    Aliados en el juego     ,
 | 
				
			||||||
 | 
					|   11, 140,                 2,  4,  0,  0,   000250    Baticoco de mono        ,
 | 
				
			||||||
 | 
					|   11, 150,                 2,  4,  0,  0,   000045    Garganta profunda       ,
 | 
				
			||||||
 | 
					|    8, 120,                 2,  4,  0,  0,                                     003     1.500,
 | 
				
			||||||
 | 
					|    8, 130,                 2,  4,  0,  0,                                     045     9.999,
 | 
				
			||||||
 | 
					|    8, 140,                 2,  4,  0,  0,                                     009       415,
 | 
				
			||||||
 | 
					|    8, 150,                 2,  4,  0,  0,                                     010     2.250,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Linea de fondo para ayudas
 | 
				
			||||||
 | 
					&   10, 225, 259,  235,           0, 63, 56, 0, 2
 | 
				
			||||||
 | 
					&  261, 225, 305,  235,          63,  7, 56, 0, 2
 | 
				
			||||||
 | 
					|   10, 224,                 2,  4,  0, 63,  C<>digo de la descripci<63>n.,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<EFBFBD>122
 | 
				
			||||||
 | 
					* Cuadro de di<64>logo
 | 
				
			||||||
 | 
					*&   5,  35, 310,  240,           0, 63, 56, 0, 2
 | 
				
			||||||
 | 
					&   60, 145, 240,  230,           7, 63, 56, 0, 2
 | 
				
			||||||
 | 
					&   63, 148, 237,  165,           1, 56, 63, 0, 2
 | 
				
			||||||
 | 
					|   62, 148,                 2,  4,  0,  0,       Cuadro de Dialogo,
 | 
				
			||||||
 | 
					|   63, 149,                 2,  4,  0, 63,       Cuadro de Dialogo,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&   63, 215, 113,  227,           7, 63, 56, 0, 2
 | 
				
			||||||
 | 
					&  187, 215, 237,  227,           7, 63, 56, 0, 2
 | 
				
			||||||
 | 
					|   62, 214,                 2,  4,  0,  0,  Aceptar,
 | 
				
			||||||
 | 
					|   63, 215,                 2,  4,  0, 63,  Aceptar,
 | 
				
			||||||
 | 
					|   64, 214,                 2,  4,  0,  0,                      Cancelar,
 | 
				
			||||||
 | 
					|   65, 215,                 2,  4,  0, 63,                      Cancelar,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*****        *****
 | 
				
			||||||
 | 
					***    Color   ***
 | 
				
			||||||
 | 
					*****        *****
 | 
				
			||||||
 | 
					************************************************  Botones D:  11
 | 
				
			||||||
 | 
					****                                        ****  Botones S: 123
 | 
				
			||||||
 | 
					**     M<>dulo para configurar el entorno      **
 | 
				
			||||||
 | 
					****                                        ****
 | 
				
			||||||
 | 
					************************************************
 | 
				
			||||||
 | 
					!4, 18
 | 
				
			||||||
 | 
					$  170, 320, 270, 350,       7, 63, 56, 2, 2, 000,  30  * ACEPTAR
 | 
				
			||||||
 | 
					$  370, 320, 470, 350,       7, 63, 56, 2, 2, 000,  46  * CANCELAR
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$  180, 205, 200, 225,       0, 56, 63, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$  205, 205, 225, 225,       1, 56, 63, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$  230, 205, 250, 225,       2, 56, 63, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$  255, 205, 275, 225,       3, 56, 63, 2, 2, 000, 000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$  180, 230, 200, 250,       4, 56, 63, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$  205, 230, 225, 250,       5, 56, 63, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$  230, 230, 250, 250,       6, 56, 63, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$  255, 230, 275, 250,       7, 56, 63, 2, 2, 000, 000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$  180, 255, 200, 275,       8, 56, 63, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$  205, 255, 225, 275,       9, 56, 63, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$  230, 255, 250, 275,      10, 56, 63, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$  255, 255, 275, 275,      11, 56, 63, 2, 2, 000, 000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$  180, 280, 200, 300,      12, 56, 63, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$  205, 280, 225, 300,      13, 56, 63, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$  230, 280, 250, 300,      14, 56, 63, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$  255, 280, 275, 300,      15, 56, 63, 2, 2, 000, 000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<EFBFBD>123
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&  180, 205, 200, 225,       0, 56, 63, 2, 2
 | 
				
			||||||
 | 
					&  205, 205, 225, 225,       1, 56, 63, 2, 2
 | 
				
			||||||
 | 
					&  230, 205, 250, 225,       2, 56, 63, 2, 2
 | 
				
			||||||
 | 
					&  255, 205, 275, 225,       3, 56, 63, 2, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&  180, 230, 200, 250,       4, 56, 63, 2, 2
 | 
				
			||||||
 | 
					&  205, 230, 225, 250,       5, 56, 63, 2, 2
 | 
				
			||||||
 | 
					&  230, 230, 250, 250,       6, 56, 63, 2, 2
 | 
				
			||||||
 | 
					&  255, 230, 275, 250,       7, 56, 63, 2, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&  180, 255, 200, 275,       8, 56, 63, 2, 2
 | 
				
			||||||
 | 
					&  205, 255, 225, 275,       9, 56, 63, 2, 2
 | 
				
			||||||
 | 
					&  230, 255, 250, 275,      10, 56, 63, 2, 2
 | 
				
			||||||
 | 
					&  255, 255, 275, 275,      11, 56, 63, 2, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&  180, 280, 200, 300,      12, 56, 63, 2, 2
 | 
				
			||||||
 | 
					&  205, 280, 225, 300,      13, 56, 63, 2, 2
 | 
				
			||||||
 | 
					&  230, 280, 250, 300,      14, 56, 63, 2, 2
 | 
				
			||||||
 | 
					&  255, 280, 275, 300,      15, 56, 63, 2, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&  415, 200, 420, 305,       0, 56, 63, 2, 2
 | 
				
			||||||
 | 
					&  430, 200, 435, 305,       0, 56, 63, 2, 2
 | 
				
			||||||
 | 
					&  445, 200, 450, 305,       0, 56, 63, 2, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
					*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
					*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
					*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
					<EFBFBD>125
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					***** Configurar Impresora
 | 
				
			||||||
 | 
					& 345,  35, 635,  450,           7, 56, 63, 0, 2
 | 
				
			||||||
 | 
					& 343, 372, 347,  449,           7,  7,  7, 0, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					|  370, 100,                 2,  5,  0,  0,  Imprimir en Archivo:,
 | 
				
			||||||
 | 
					|  371, 101,                 2,  5,  0, 63,  Imprimir en Archivo:,
 | 
				
			||||||
 | 
					& 540,  98, 630,  117,          63,  7, 56, 0, 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					|  350, 125,                 2,  5,  0,  0,  Longitud de la p<>gina:,
 | 
				
			||||||
 | 
					|  351, 126,                 2,  5,  0, 63,  Longitud de la p<>gina:,
 | 
				
			||||||
 | 
					& 540, 123, 630,  142,          63,  7, 56, 0, 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					|  350, 150,                 2,  5,  0,  0,       C<>digos de Impresi<73>n,
 | 
				
			||||||
 | 
					|  351, 151,                 2,  5,  0, 63,       C<>digos de Impresi<73>n,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					|  350, 175,                 2,  5,  0,  0,  Texto Normal:,
 | 
				
			||||||
 | 
					|  351, 176,                 2,  5,  0, 63,  Texto Normal:,
 | 
				
			||||||
 | 
					& 465, 175, 630,  194,          63,  7, 56, 0, 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					|  350, 200,                 2,  5,  0,  0,  T. Condensado:,
 | 
				
			||||||
 | 
					|  351, 201,                 2,  5,  0, 63,  T. Condensado:,
 | 
				
			||||||
 | 
					& 465, 200, 630,  219,          63,  7, 56, 0, 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					|  350, 230,                 2,  5,  0,  0,  (Cod. Control) INICIO / FIN,
 | 
				
			||||||
 | 
					|  351, 231,                 2,  5,  0, 63,  (Cod. Control) INICIO / FIN,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					& 420, 249, 630,  311,          63,  7, 56, 0, 0
 | 
				
			||||||
 | 
					& 420, 320, 630,  382,          63,  7, 56, 0, 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<EFBFBD>126
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
					***** Configurar Ventas
 | 
				
			||||||
 | 
					& 345,  35, 635,  450,           7, 56, 63, 0, 2
 | 
				
			||||||
 | 
					& 343, 287, 347,  363,           7,  7,  7, 0, 2
 | 
				
			||||||
 | 
					*& 343, 202, 347,  268,           7,  7,  7, 0, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					|  350,  40,                 2,  5,  0,  0,  ---:,
 | 
				
			||||||
 | 
					|  351,  41,                 2,  5,  0, 63,  ---:,
 | 
				
			||||||
 | 
					& 540,  38, 630,   57,          63,  7, 56, 0, 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					|  350,  65,                 2,  5,  0,  0,  Cuota de ant. alumno:,
 | 
				
			||||||
 | 
					|  351,  66,                 2,  5,  0, 63,  Cuota de ant. alumno:,
 | 
				
			||||||
 | 
					& 540,  63, 630,   82,          63,  7, 56, 0, 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*|  350, 120,                 2,  5,  0,  0,  Hora cambio del dia:,
 | 
				
			||||||
 | 
					*|  351, 121,                 2,  5,  0, 63,  Hora cambio del dia:,
 | 
				
			||||||
 | 
					*& 540, 119, 630,  135,          63,  7, 56, 0, 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*|  350, 160,                 2,  5,  0,  0,  Franjas horarias a discriminar:,
 | 
				
			||||||
 | 
					*|  351, 161,                 2,  5,  0, 63,  Franjas horarias a discriminar:,
 | 
				
			||||||
 | 
					*& 351, 180, 380,  197,          63,  7, 56, 0, 0
 | 
				
			||||||
 | 
					*& 351, 200, 380,  217,          63,  7, 56, 0, 0
 | 
				
			||||||
 | 
					*& 351, 220, 380,  237,          63,  7, 56, 0, 0
 | 
				
			||||||
 | 
					*& 351, 240, 380,  257,          63,  7, 56, 0, 0
 | 
				
			||||||
 | 
					*& 351, 260, 380,  277,          63,  7, 56, 0, 0
 | 
				
			||||||
 | 
					*& 351, 280, 380,  297,          63,  7, 56, 0, 0
 | 
				
			||||||
 | 
					**|  351, 181,                 2,  5,  0, 63,     :00  >-> 00:00,
 | 
				
			||||||
 | 
					**|  351, 201,                 2,  5,  0, 63,     :00  >-> 00:00,
 | 
				
			||||||
 | 
					**|  351, 221,                 2,  5,  0, 63,     :00  >-> 00:00,
 | 
				
			||||||
 | 
					**|  351, 241,                 2,  5,  0, 63,     :00  >-> 00:00,
 | 
				
			||||||
 | 
					**|  351, 261,                 2,  5,  0, 63,     :00  >-> 00:00,
 | 
				
			||||||
 | 
					**|  351, 281,                 2,  5,  0, 63,     :00  >-> 00:00,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*|  350, 305,                 2,  5,  0,  0,  Franjas horarias de ventas:,
 | 
				
			||||||
 | 
					*|  351, 306,                 2,  5,  0, 63,  Franjas horarias de ventas:,
 | 
				
			||||||
 | 
					*& 351, 330, 380,  347,          63,  7, 56, 0, 0
 | 
				
			||||||
 | 
					*& 351, 350, 380,  367,          63,  7, 56, 0, 0
 | 
				
			||||||
 | 
					*& 351, 370, 380,  387,          63,  7, 56, 0, 0
 | 
				
			||||||
 | 
					*& 351, 390, 380,  407,          63,  7, 56, 0, 0
 | 
				
			||||||
 | 
					*|  351, 331,                 2,  5,  0, 63,                    [ Hora 2 ],
 | 
				
			||||||
 | 
					*|  351, 351,                 2,  5,  0, 63,                    [ Hora 3 ],
 | 
				
			||||||
 | 
					*|  351, 371,                 2,  5,  0, 63,                    [ Hora 4 ],
 | 
				
			||||||
 | 
					*|  351, 391,                 2,  5,  0, 63,                    [ Hora 5 ],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*|  350, 425,                 2,  4,  0,  0,  <20> Permitir modificar P.C en compras ?:,
 | 
				
			||||||
 | 
					*|  351, 426,                 2,  4,  0, 63,  <20> Permitir modificar P.C en compras ?:,
 | 
				
			||||||
 | 
					*& 580, 423, 630,  442,          63,  7, 56, 0, 0
 | 
				
			||||||
 | 
					*|  351, 331,                 2,  5,  0,  0, .,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								SYSTM/ALUM.PCX
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								SYSTM/ALUM.PCX
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								SYSTM/ALUMBAK.PCX
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								SYSTM/ALUMBAK.PCX
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								SYSTM/ALUMC.PCX
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								SYSTM/ALUMC.PCX
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										323
									
								
								SYSTM/ALUMMP.IMG
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										323
									
								
								SYSTM/ALUMMP.IMG
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,323 @@
 | 
				
			|||||||
 | 
					#9
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					************************************************  Botones D:    1
 | 
				
			||||||
 | 
					****                                        ****  Botones S:   90
 | 
				
			||||||
 | 
					**              Men<65> Principal                **
 | 
				
			||||||
 | 
					****                                        ****
 | 
				
			||||||
 | 
					************************************************
 | 
				
			||||||
 | 
					!1, 11
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$  420, 160, 620, 190,       7, 63, 56, 2, 2, 000,  30
 | 
				
			||||||
 | 
					$  420, 200, 620, 230,       7, 63, 56, 2, 2, 000,  25
 | 
				
			||||||
 | 
					$  420, 240, 620, 270,       7, 63, 56, 2, 2, 000,  18
 | 
				
			||||||
 | 
					$  420, 280, 620, 310,       7, 63, 56, 2, 2, 000,  46
 | 
				
			||||||
 | 
					$  420, 320, 620, 350,       7, 63, 56, 2, 2, 000,  34
 | 
				
			||||||
 | 
					$  420, 360, 620, 390,       7, 63, 56, 2, 2, 000,  19
 | 
				
			||||||
 | 
					$  420, 400, 620, 430,       7, 63, 56, 2, 2, 000,  50
 | 
				
			||||||
 | 
					$  420, 440, 620, 470,       7, 63, 56, 2, 2, 000,  31
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$  110, 283, 297, 312,       0, 56, 63, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$   20, 280, 300, 315,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$   25, 325, 295, 465,       0, 56, 63, 2, 2, 000, 000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<EFBFBD>90
 | 
				
			||||||
 | 
					|  420, 100,                10,  1,  0, 56, Men<65> Principal,
 | 
				
			||||||
 | 
					|  421, 101,                10,  1,  0, 56, Men<65> Principal,
 | 
				
			||||||
 | 
					|  422, 102,                10,  1,  0, 63, Men<65> Principal,
 | 
				
			||||||
 | 
					*|  420, 100,                 2,  8,  0, 56, Men<65> Principal,
 | 
				
			||||||
 | 
					*|  421, 101,                 2,  8,  0, 56, Men<65> Principal,
 | 
				
			||||||
 | 
					*|  422, 102,                 2,  8,  0, 63, Men<65> Principal,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&  420, 160, 620, 190,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					&  420, 200, 620, 230,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					&  420, 240, 620, 270,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					&  420, 280, 620, 310,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					&  420, 320, 620, 350,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					&  420, 360, 620, 390,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					&  420, 400, 620, 430,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					&  420, 440, 620, 470,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&   20, 280, 300, 315,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					&  110, 283, 297, 312,       0, 56, 63, 2, 2
 | 
				
			||||||
 | 
					|   20, 285,                 2,  6,  0, 63,  Creditos:,
 | 
				
			||||||
 | 
					|   21, 286,                 2,  6,  0,  0,  Creditos:,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&   20, 320, 300, 470,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					&   25, 325, 295, 465,       0, 56, 63, 2, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*|   40, 340,                 2,  6,  0, 63,  Todas las opciones,
 | 
				
			||||||
 | 
					*|   40, 360,                 2,  6,  0, 63, han sido desactivadas,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*|   40, 390,                 2,  6,  0, 63, C<>digo de acceso RECHAZADO,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* SubMenu Dedicado a Articulo
 | 
				
			||||||
 | 
					 *  Ref. Articulos
 | 
				
			||||||
 | 
					 *  Stock Actual
 | 
				
			||||||
 | 
					 *  Graficas Ventas
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					************************************************  Botones D:   (ninguno) 2-R
 | 
				
			||||||
 | 
					****                                        ****  Botones S:   91
 | 
				
			||||||
 | 
					**         Gestion Antiguos Alumnos           **
 | 
				
			||||||
 | 
					****                                        ****
 | 
				
			||||||
 | 
					************************************************
 | 
				
			||||||
 | 
					!2, 3
 | 
				
			||||||
 | 
					 $  220,  85, 410, 115,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					 $  220, 120, 410, 150,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					 $  220, 155, 410, 185,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<EFBFBD>91
 | 
				
			||||||
 | 
					&  215,  80, 415, 190,       7, 56, 63, -2, 2
 | 
				
			||||||
 | 
					 &  220,  85, 410, 115,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220,  88,                 2,  6,  0,  0,  Ref. Articulos,
 | 
				
			||||||
 | 
					 |  221,  89,                 2,  6,  0, 63,  Ref. Articulos,
 | 
				
			||||||
 | 
					 &  220, 120, 410, 150,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220, 123,                 2,  6,  0,  0,  Stock Actual,
 | 
				
			||||||
 | 
					 |  221, 124,                 2,  6,  0, 63,  Stock Actual,
 | 
				
			||||||
 | 
					 &  220, 155, 410, 185,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220, 158,                 2,  6,  0,  0,  Graficas Ventas,
 | 
				
			||||||
 | 
					 |  221, 159,                 2,  6,  0, 63,  Graficas Ventas,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					************************************************  Botones D:    3
 | 
				
			||||||
 | 
					****                                        ****  Botones S:   92
 | 
				
			||||||
 | 
					**              Ordenaciones                  **
 | 
				
			||||||
 | 
					****                                        ****
 | 
				
			||||||
 | 
					************************************************
 | 
				
			||||||
 | 
					!3, 5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 $  220,  55, 410,  85,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					 $  220,  90, 410, 120,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					 $  220, 125, 410, 155,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					 $  220, 160, 410, 190,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					 $  220, 195, 410, 225,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<EFBFBD>92
 | 
				
			||||||
 | 
					&  215,  50, 415, 230,       7, 56, 63, -2, 2
 | 
				
			||||||
 | 
					 &  220,  55, 410,  85,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220,  58,                 2,  6,  0,  0,  Nombre/Apellidos,
 | 
				
			||||||
 | 
					 |  221,  59,                 2,  6,  0, 63,  Nombre/Apellidos,
 | 
				
			||||||
 | 
					 &  220,  90, 410, 120,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220,  93,                 2,  6,  0,  0,  Apellidos/Nombre,
 | 
				
			||||||
 | 
					 |  221,  94,                 2,  6,  0, 63,  Apellidos/Nombre,
 | 
				
			||||||
 | 
					 &  220, 125, 410, 155,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220, 128,                 2,  6,  0,  0,  Direcci<63>n,
 | 
				
			||||||
 | 
					 |  221, 129,                 2,  6,  0, 63,  Direcci<63>n,
 | 
				
			||||||
 | 
					 &  220, 160, 410, 190,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220, 163,                 2,  6,  0,  0,  --,
 | 
				
			||||||
 | 
					 |  221, 164,                 2,  6,  0, 63,  --,
 | 
				
			||||||
 | 
					 &  220, 195, 410, 225,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220, 198,                 2,  6,  0,  0,  Cuenta Bancaria,
 | 
				
			||||||
 | 
					 |  221, 199,                 2,  6,  0, 63,  Cuenta Bancaria,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					************************************************  Botones D:    4
 | 
				
			||||||
 | 
					****                                        ****  Botones S:   93
 | 
				
			||||||
 | 
					**                 Listados                   **
 | 
				
			||||||
 | 
					****                                        ****
 | 
				
			||||||
 | 
					************************************************
 | 
				
			||||||
 | 
					!4, 3
 | 
				
			||||||
 | 
					 $  220, 205, 410, 235,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					 $  220, 240, 410, 270,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					 $  220, 275, 410, 305,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<EFBFBD>93
 | 
				
			||||||
 | 
					&  215, 200, 415, 310,       7, 56, 63, -2, 2
 | 
				
			||||||
 | 
					 &  220, 205, 410, 235,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220, 208,                 2,  6,  0,  0,  Listado General,
 | 
				
			||||||
 | 
					 |  221, 209,                 2,  6,  0, 63,  Listado General,
 | 
				
			||||||
 | 
					 &  220, 240, 410, 270,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220, 243,                 2,  6,  0,  0,  Pegatinas Direc.,
 | 
				
			||||||
 | 
					 |  221, 244,                 2,  6,  0, 63,  Pegatinas Direc.,
 | 
				
			||||||
 | 
					 &  220, 275, 410, 305,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220, 278,                 2,  6,  0,  0,  Factura Bancaria,
 | 
				
			||||||
 | 
					 |  221, 279,                 2,  6,  0, 63,  Factura Bancaria,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					************************************************  Botones D:    5
 | 
				
			||||||
 | 
					****                                        ****  Botones S:   94
 | 
				
			||||||
 | 
					**                Ventas                      **
 | 
				
			||||||
 | 
					****                                        ****
 | 
				
			||||||
 | 
					************************************************
 | 
				
			||||||
 | 
					!5, 4
 | 
				
			||||||
 | 
					 $  220, 210, 410, 240,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					 $  220, 245, 410, 275,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					 $  220, 280, 410, 310,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					 $  220, 315, 410, 345,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<EFBFBD>94
 | 
				
			||||||
 | 
					&  215, 205, 415, 350,       7, 56, 63, -2, 2
 | 
				
			||||||
 | 
					 &  220, 210, 410, 240,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220, 213,                 2,  6,  0,  0,  --,
 | 
				
			||||||
 | 
					 |  221, 214,                 2,  6,  0, 63,  --,
 | 
				
			||||||
 | 
					 &  220, 245, 410, 275,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220, 248,                 2,  6,  0,  0,  --,
 | 
				
			||||||
 | 
					 |  221, 249,                 2,  6,  0, 63,  --,
 | 
				
			||||||
 | 
					 &  220, 280, 410, 310,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220, 283,                 2,  6,  0,  0,  --,
 | 
				
			||||||
 | 
					 |  221, 284,                 2,  6,  0, 63,  --,
 | 
				
			||||||
 | 
					 &  220, 315, 410, 345,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220, 318,                 2,  6,  0,  0, --,
 | 
				
			||||||
 | 
					 |  221, 319,                 2,  6,  0, 63, --,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					************************************************  Botones D:    6
 | 
				
			||||||
 | 
					****                                        ****  Botones S:   95
 | 
				
			||||||
 | 
					**                Empleados                   **
 | 
				
			||||||
 | 
					****                                        ****
 | 
				
			||||||
 | 
					************************************************
 | 
				
			||||||
 | 
					!6, 3
 | 
				
			||||||
 | 
					 $  220, 165, 410, 195,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					 $  220, 200, 410, 230,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					 $  220, 235, 410, 265,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<EFBFBD>95
 | 
				
			||||||
 | 
					&  215, 160, 415, 270,       7, 56, 63, -2, 2
 | 
				
			||||||
 | 
					 &  220, 165, 410, 195,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220, 168,                 2,  6,  0,  0,  Info Empleados,
 | 
				
			||||||
 | 
					 |  221, 169,                 2,  6,  0, 63,  Info Empleados,
 | 
				
			||||||
 | 
					 &  220, 200, 410, 230,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220, 203,                 2,  6,  0,  0,  Permisos Acceso,
 | 
				
			||||||
 | 
					 |  221, 204,                 2,  6,  0, 63,  Permisos Acceso,
 | 
				
			||||||
 | 
					 &  220, 235, 410, 265,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220, 238,                 2,  6,  0,  0,  Graficas Ventas,
 | 
				
			||||||
 | 
					 |  221, 239,                 2,  6,  0, 63,  Graficas Ventas,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					************************************************  Botones D:    7
 | 
				
			||||||
 | 
					****                                        ****  Botones S:   96
 | 
				
			||||||
 | 
					**                Miscelanea                  **
 | 
				
			||||||
 | 
					****                                        ****
 | 
				
			||||||
 | 
					************************************************
 | 
				
			||||||
 | 
					!7, 6
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$  220, 220, 410, 250,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$  220, 255, 410, 285,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$  220, 290, 410, 320,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$  220, 325, 410, 355,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$  220, 360, 410, 390,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$  220, 395, 410, 425,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<EFBFBD>96
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&  215, 215, 415, 430,       7, 56, 63, -2, 2
 | 
				
			||||||
 | 
					 &  220, 220, 410, 250,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220, 223,                 2,  6,  0,  0,  FA,
 | 
				
			||||||
 | 
					 |  221, 224,                 2,  6,  0, 63,  FA,
 | 
				
			||||||
 | 
					 &  220, 255, 410, 285,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220, 258,                 2,  6,  0,  0,  FA,
 | 
				
			||||||
 | 
					 |  221, 259,                 2,  6,  0, 63,  FA,
 | 
				
			||||||
 | 
					 &  220, 290, 410, 320,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220, 293,                 2,  6,  0,  0,  FA,
 | 
				
			||||||
 | 
					 |  221, 294,                 2,  6,  0, 63,  FA,
 | 
				
			||||||
 | 
					 &  220, 325, 410, 355,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220, 328,                 2,  6,  0,  0,  FA,
 | 
				
			||||||
 | 
					 |  221, 329,                 2,  6,  0, 63,  FA,
 | 
				
			||||||
 | 
					 &  220, 360, 410, 390,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220, 363,                 2,  6,  0,  0,  FA,
 | 
				
			||||||
 | 
					 |  221, 364,                 2,  6,  0, 63,  FA,
 | 
				
			||||||
 | 
					 &  220, 395, 410, 425,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220, 398,                 2,  6,  0,  0,  Configurar Entorno,
 | 
				
			||||||
 | 
					 |  221, 399,                 2,  6,  0, 63,  Configurar Entorno,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					************************************************  Botones D:    8
 | 
				
			||||||
 | 
					****                                        ****  Botones S:   97
 | 
				
			||||||
 | 
					**        Escoger empresa activa              **
 | 
				
			||||||
 | 
					****                                        ****
 | 
				
			||||||
 | 
					************************************************
 | 
				
			||||||
 | 
					!8, 10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$  110,  75, 297,  95,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$  110,  95, 297, 115,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$  110, 115, 297, 135,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$  110, 135, 297, 155,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$  110, 155, 297, 175,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$  110, 175, 297, 195,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$  110, 195, 297, 215,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$  110, 215, 297, 235,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$  110, 235, 297, 255,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					$  110, 255, 297, 275,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<EFBFBD>97
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*$   20, 280, 300, 315,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					&  105, 70, 302, 280,       7, 56, 63, -2, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 &  110, 255, 297, 275,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 &  110, 235, 297, 255,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 &  110, 215, 297, 235,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 &  110, 195, 297, 215,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 &  110, 175, 297, 195,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 &  110, 155, 297, 175,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 &  110, 135, 297, 155,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 &  110, 115, 297, 135,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 &  110,  95, 297, 115,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 &  110,  75, 297,  95,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 |  110, 255,                 2,  4,  0,  0,  123456789-123456789-123456789-,
 | 
				
			||||||
 | 
					 |  111, 256,                 2,  4,  0, 63,  123456789-123456789-123456789-,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					************************************************  Botones D:    9
 | 
				
			||||||
 | 
					****                                        ****  Botones S:   98
 | 
				
			||||||
 | 
					**    Ventas -> Empleados                     **
 | 
				
			||||||
 | 
					****                                        ****
 | 
				
			||||||
 | 
					************************************************
 | 
				
			||||||
 | 
					!9, 3
 | 
				
			||||||
 | 
					 $  220, 245, 410, 275,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					 $  220, 280, 410, 310,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					 $  220, 315, 410, 345,       7, 63, 56, 2, 2, 000, 000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<EFBFBD>98
 | 
				
			||||||
 | 
					&  215, 240, 415, 350,       7, 56, 63, -2, 2
 | 
				
			||||||
 | 
					 &  220, 245, 410, 275,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220, 248,                 2,  6,  0,  0,  Datos Clientes,
 | 
				
			||||||
 | 
					 |  221, 249,                 2,  6,  0, 63,  Datos Clientes,
 | 
				
			||||||
 | 
					 &  220, 280, 410, 310,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220, 283,                 2,  6,  0,  0,  Venta a Clientes,
 | 
				
			||||||
 | 
					 |  221, 284,                 2,  6,  0, 63,  Venta a Clientes,
 | 
				
			||||||
 | 
					 &  220, 315, 410, 345,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  220, 318,                 2,  6,  0,  0,  Datos de interes,
 | 
				
			||||||
 | 
					 |  221, 319,                 2,  6,  0, 63,  Datos de interes,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					************************************************  Botones D:    8 <-|
 | 
				
			||||||
 | 
					****                                        ****  Botones S:   99 <-|
 | 
				
			||||||
 | 
					**            Programas externos              **
 | 
				
			||||||
 | 
					****                                        ****
 | 
				
			||||||
 | 
					************************************************
 | 
				
			||||||
 | 
					<EFBFBD>99
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					&  223, 185, 420, 395,       7, 56, 63, -2, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 &  228, 370, 415, 390,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 &  228, 350, 415, 370,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 &  228, 330, 415, 350,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 &  228, 310, 415, 330,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 &  228, 290, 415, 310,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 &  228, 270, 415, 290,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 &  228, 250, 415, 270,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 &  228, 230, 415, 250,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 &  228, 210, 415, 230,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 &  228, 190, 415, 210,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 &  190, 185, 220, 288,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 &  190, 292, 220, 395,       7, 63, 56, 2, 2
 | 
				
			||||||
 | 
					 |  192, 185,                 2,  6,  1,  0,  Eliminar   Insertar ,
 | 
				
			||||||
 | 
					 |  193, 186,                 2,  6,  1, 63,  Eliminar   Insertar ,
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								SYSTM/BOLD.CHR
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								SYSTM/BOLD.CHR
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								SYSTM/EGAVGA.BGI
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								SYSTM/EGAVGA.BGI
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								SYSTM/LITT.CHR
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								SYSTM/LITT.CHR
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
		Reference in New Issue
	
	Block a user