563 lines
14 KiB
C++
563 lines
14 KiB
C++
//////////////////////////////////////////////////////////////////////////////
|
||
/// Nombre: SV .CPP ///
|
||
/// Modulo: Gr ficos para programa original [SINTITULO] ///
|
||
/// Descripci¢n: ///
|
||
/// ///
|
||
/// Autor: Jos‚ David Guill‚n Dominguez ///
|
||
/// Fecha: 13 - 01 - 1995 ///
|
||
/// ///
|
||
/// Comentario: ///
|
||
/// ///
|
||
/// ///
|
||
/// Compilador Borland C++ 3.0 ///
|
||
//////////////////////////////////////////////////////////////////////////////
|
||
|
||
#include <graphics.h>
|
||
#include <stdlib.h>
|
||
#include <string.h>
|
||
#include <conio.h>
|
||
#include <ctype.h>
|
||
#include <stdio.h>
|
||
#include <time.h>
|
||
#include <dos.h>
|
||
|
||
|
||
#include "..\libs\make_bot\make_bot.h"
|
||
#include "SV_graph.h"
|
||
#include "sv_util.h"
|
||
|
||
extern int x_raton, y_raton; extern char raton;
|
||
extern int boton_izq, boton_der;
|
||
extern int dir_raton [32+32];
|
||
|
||
extern void Pantalla_Graficas_Compras(struct boton *PGC);
|
||
extern void Menu_Graficas_de_Compras(int Compras_Ventas);
|
||
extern void Menu_Graficas_de_Clientes(int Current_Date);
|
||
extern void Acerca_de(void);
|
||
extern void desactiva_raton(void);
|
||
extern void activa_raton(void);
|
||
extern void inicializa_raton_grafico(int x1, int y1, int x2, int y2, int px, int py);
|
||
extern void Menu_de_Ventas(int Current_Date);
|
||
extern void Menu_de_Clientes(void);
|
||
extern void Menu_de_Vendedores(void);
|
||
extern void Menu_de_Referencias(void);
|
||
extern void Menu_de_Clientes_Comp(int Current_Date);
|
||
extern void Menu_de_Compras(void);
|
||
// extern void Dibuja_Pantalla_Stock(void);
|
||
extern void Menu_de_Stock(void);
|
||
|
||
|
||
extern void Menu_de_Facturas(void);
|
||
extern void Configuracion(void);
|
||
extern void textxy(int x, int y, char *text);
|
||
extern int Espera_Tecla_o_Raton(void);
|
||
void Mensaje(void);
|
||
|
||
extern struct Make_Boton PP_S[5];
|
||
|
||
void redefine_cursor_raton(int r_e);
|
||
void BEEP(void);
|
||
|
||
|
||
void EditCursorMP(int Muestra_Oculta, int Columna, int Linea, int Menu_Desplegado);
|
||
void Contrae_Menu(int Columna);
|
||
void Despliega_Menu(int Columna);
|
||
void Menu_Principal(void);
|
||
int Menu(int Columna, int Linea);
|
||
|
||
extern char PunteroRaton;
|
||
|
||
int main(void){
|
||
|
||
int GD = 9, GM = 2;
|
||
|
||
Initialize(GD, GM);
|
||
|
||
inicializa_raton_grafico(0, 0, 624, 464, 320, 240);
|
||
if(raton!=0) desactiva_raton();
|
||
|
||
// Menu_de_Vendedores();
|
||
// Menu_de_Referencias();
|
||
// Menu_de_Compras();
|
||
// Menu_de_Stock();
|
||
|
||
Menu_Principal();
|
||
|
||
// Dibuja_Pantalla_Pricipal();
|
||
/*
|
||
Dibuja_Pantalla_Altas_Todos_los_Datos();
|
||
getch();
|
||
cleardevice();
|
||
Dibuja_Pantalla_Altas_Rapida();
|
||
getch();
|
||
cleardevice();
|
||
Dibuja_Pantalla_Vendedores();
|
||
getch();
|
||
cleardevice();
|
||
Dibuja_Pantalla_Referencia();
|
||
getch();
|
||
cleardevice();
|
||
Dibuja_Pantalla_Compras();
|
||
getch();
|
||
cleardevice();
|
||
Dibuja_Pantalla_Stock();
|
||
|
||
*/
|
||
// if (raton == 0) { cprintf("ERROR RATON NECESARIO"); return 1; }
|
||
|
||
|
||
// Espera_Tecla_o_Raton();
|
||
|
||
//getch();
|
||
|
||
|
||
|
||
restorecrtmode(); Mensaje(); return 0;
|
||
}
|
||
|
||
void Mensaje(void){
|
||
|
||
clrscr();
|
||
printf("JD_ ùFuTuRe ViSiOnù\n\n");
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
void BEEP(void){
|
||
|
||
sound(440);
|
||
delay(50);
|
||
nosound();
|
||
|
||
}
|
||
|
||
|
||
|
||
void Menu_Principal(void){
|
||
|
||
int CurrCol_MP=1, CurrRow_MP=1, Menu_Desplegado=0, key;
|
||
char finished = 0;
|
||
|
||
int N_Row[] = { 5, 3, 3, 5, 5};
|
||
|
||
|
||
|
||
|
||
Dibuja_Pantalla_Pricipal();
|
||
|
||
do{
|
||
|
||
EditCursorMP(1, CurrCol_MP, CurrRow_MP, Menu_Desplegado);
|
||
if(raton!=0) activa_raton();
|
||
Espera_Tecla_o_Raton();
|
||
if(raton!=0) desactiva_raton();
|
||
EditCursorMP(0, CurrCol_MP, CurrRow_MP, Menu_Desplegado);
|
||
|
||
if(kbhit()){
|
||
key = getch();
|
||
if(key==13 && Menu_Desplegado == 1)
|
||
{ finished = Menu(CurrCol_MP, CurrRow_MP); Contrae_Menu(CurrCol_MP); Menu_Desplegado = 0; } else
|
||
if(key==13 && Menu_Desplegado == 0){ Menu_Desplegado = 1; Despliega_Menu(CurrCol_MP); CurrRow_MP = 1;}
|
||
if(key==27) { Contrae_Menu(CurrCol_MP); Menu_Desplegado = 0;}
|
||
if( key == 0 ) {
|
||
switch( (key=getch()) ){
|
||
// Flecha Arriba
|
||
case 72:
|
||
if( Menu_Desplegado == 1 ) {
|
||
CurrRow_MP --; if(CurrRow_MP < 1) CurrRow_MP = N_Row[CurrCol_MP - 1];
|
||
}
|
||
break;
|
||
// Flecha Izquierda
|
||
case 75:
|
||
case 15:
|
||
if( Menu_Desplegado == 1 ) Contrae_Menu(CurrCol_MP);
|
||
CurrCol_MP--; if ( CurrCol_MP < 1 ) CurrCol_MP=5;
|
||
if( Menu_Desplegado == 1 ) { Despliega_Menu(CurrCol_MP); CurrRow_MP = 1; }
|
||
break;
|
||
// Flecha Derecha
|
||
case 77:
|
||
case 9:
|
||
if( Menu_Desplegado == 1 ) Contrae_Menu(CurrCol_MP);
|
||
CurrCol_MP++; if ( CurrCol_MP > 5 ) CurrCol_MP=1;
|
||
if( Menu_Desplegado == 1 ) { Despliega_Menu(CurrCol_MP); CurrRow_MP = 1; }
|
||
break;
|
||
// Flecha Abajo
|
||
case 80:
|
||
if( Menu_Desplegado == 1 ) {
|
||
CurrRow_MP ++; if(CurrRow_MP > N_Row[CurrCol_MP - 1]) CurrRow_MP = 1;
|
||
} else {
|
||
Menu_Desplegado = 1; Despliega_Menu(CurrCol_MP); CurrRow_MP = 1;
|
||
}
|
||
break;
|
||
// INICIO
|
||
case 71:
|
||
if( Menu_Desplegado == 0 ) CurrCol_MP = 1; else CurrRow_MP = 1;
|
||
break;
|
||
// FIN
|
||
case 79:
|
||
if( Menu_Desplegado == 0 ) CurrCol_MP = 5; else CurrRow_MP = N_Row[CurrCol_MP - 1];
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
|
||
/* else if(raton!=0 && ( boton_izq==1 || boton_der==1 ) )
|
||
|
||
if( (bpush = CheckButon( 9, Comunes))>0 ) {
|
||
EditCursorComp(1);
|
||
switch(bpush){
|
||
}
|
||
} else CompruebaLineasComp();
|
||
*/
|
||
|
||
}while( !finished );
|
||
|
||
|
||
}
|
||
|
||
|
||
void Despliega_Menu(int Columna){
|
||
|
||
int x, n; struct Make_Boton Tmp;
|
||
char Texto[10][25];
|
||
|
||
switch(Columna) {
|
||
case 1: x = 7; n = 5;
|
||
strcpy ( Texto[0], " Estado actual ");
|
||
strcpy ( Texto[1], " Enlazar con ->");
|
||
strcpy ( Texto[2], " Configuraci¢n ");
|
||
strcpy ( Texto[3], " MS-DOS Shell ");
|
||
strcpy ( Texto[4], " ( SALIR ) ");
|
||
break;
|
||
case 2: x = 91; n = 3;
|
||
strcpy ( Texto[0], " Mantenimiento ");
|
||
strcpy ( Texto[1], " Emision de Facturas -> ");
|
||
strcpy ( Texto[2], " Altas / Modificaciones ");
|
||
break;
|
||
case 3: x = 266; n = 3;
|
||
strcpy ( Texto[0], " Compras ");
|
||
strcpy ( Texto[1], " Vendedores ");
|
||
strcpy ( Texto[2], " Referencias ");
|
||
break;
|
||
case 4: x = 395; n = 5;
|
||
strcpy ( Texto[0], " Stock actual ");
|
||
strcpy ( Texto[1], " Informe de Ventas ");
|
||
strcpy ( Texto[2], " Graficas de Ganancias ");
|
||
strcpy ( Texto[3], " Graficas de Compras ");
|
||
strcpy ( Texto[4], " Graficas de Clientes ");
|
||
break;
|
||
case 5: x = 455; n = 5;
|
||
strcpy ( Texto[0], " Menus ");
|
||
strcpy ( Texto[1], " Pantallas de Edici¢n ");
|
||
strcpy ( Texto[2], " -------------------- ");
|
||
strcpy ( Texto[3], " Ayuda en Linea ( Off )");
|
||
strcpy ( Texto[4], " Acerca de... ");
|
||
break;
|
||
}
|
||
|
||
Tmp.Up = 43; Tmp.Down = 45 + (n*19) + 5;
|
||
Tmp.Left = x; Tmp.Right = x + textwidth( Texto[0] );
|
||
Imprime_Boton2 (0, GRIS_C, BLANCO, GRIS_O, Tmp);
|
||
Tmp.Up = 43 + 2; Tmp.Down = 45 + (n*19) - 2 + 5;
|
||
Tmp.Left = x + 2; Tmp.Right = x + textwidth( Texto[0] ) - 2;
|
||
Imprime_Boton2 (0, GRIS_C, GRIS_O, BLANCO, Tmp);
|
||
|
||
for(int i=0; i<n; i++)
|
||
textxy(x, 45+(18*i)+4, Texto[i]);
|
||
|
||
}
|
||
|
||
void Contrae_Menu(int Columna){
|
||
|
||
int x, n; struct Make_Boton Tmp;
|
||
char Texto[10][25];
|
||
|
||
switch(Columna) {
|
||
case 1: x = 7; n = 5;
|
||
strcpy ( Texto[0], " Estado actual ");
|
||
break;
|
||
case 2: x = 91; n = 3;
|
||
strcpy ( Texto[0], " Mantenimiento ");
|
||
break;
|
||
case 3: x = 266; n = 3;
|
||
strcpy ( Texto[0], " Compras ");
|
||
break;
|
||
case 4: x = 395; n = 5;
|
||
strcpy ( Texto[0], " Stock actual ");
|
||
break;
|
||
case 5: x = 455; n = 5;
|
||
strcpy ( Texto[0], " Menus ");
|
||
break;
|
||
}
|
||
|
||
Tmp.Up = 43; Tmp.Down = 45 + (n*19) + 5;
|
||
Tmp.Left = x; Tmp.Right = x + textwidth( Texto[0] );
|
||
Imprime_Boton2 (1, GRIS_C, GRIS_C, GRIS_C, Tmp);
|
||
|
||
}
|
||
|
||
void EditCursorMP(int Muestra_Oculta, int Columna, int Linea, int Menu_Desplegado){
|
||
struct Make_Boton Tmp;
|
||
int x/*, n*/; char Texto[10][25];
|
||
|
||
switch(Columna) {
|
||
case 1: x = 7;// n = 5;
|
||
strcpy ( Texto[0], " Estado actual ");
|
||
break;
|
||
case 2: x = 91;// n = 3;
|
||
strcpy ( Texto[0], " Mantenimiento ");
|
||
break;
|
||
case 3: x = 266;// n = 3;
|
||
strcpy ( Texto[0], " Compras ");
|
||
break;
|
||
case 4: x = 395;// n = 5;
|
||
strcpy ( Texto[0], " Stock actual ");
|
||
break;
|
||
case 5: x = 455
|
||
;// n = 5;
|
||
strcpy ( Texto[0], " Menus ");
|
||
break;
|
||
}
|
||
|
||
|
||
if(Menu_Desplegado == 1) {
|
||
|
||
if(Muestra_Oculta == 1) {
|
||
Tmp.Up = 45+ (18*Linea)+4 - 3- 15; Tmp.Down = 45 + (18*Linea)+4 - 3 ;
|
||
Tmp.Left = x+4; Tmp.Right = x + textwidth( Texto[0] ) - 4;
|
||
Imprime_Boton2 (0, GRIS_C, BLANCO, GRIS_O, Tmp);
|
||
|
||
setcolor(GRIS_C);
|
||
setfillstyle(SOLID_FILL, GRIS_C);
|
||
bar(10, 455, 545, 473);
|
||
// textxy(10, 19, " Archivo ³ Gestion de Clientes ³ Mantenimiento ³ Balances ³ Ayuda");
|
||
switch(Columna) {
|
||
case 1:
|
||
switch(Linea) {
|
||
case 1: textxy( 15, 455, "Muestra el estado actual de los dispositivos, programa...");
|
||
break;
|
||
case 2: textxy( 15, 455, "Permite el enlaze con otras aplicaciones configurables.");
|
||
break;
|
||
case 3: textxy( 15, 455, "Reconfigura el programa.");
|
||
break;
|
||
case 4: textxy( 15, 455, "Accede a al Sistema con un SHELL permaneciendo residente.");
|
||
break;
|
||
case 5: textxy( 15, 455, "Finaliza el programa actual TOTALMENTE.");
|
||
break;
|
||
}
|
||
break;
|
||
case 2:
|
||
switch(Linea) {
|
||
case 1: textxy( 15, 455, "Mantenimiento de Clientes ( Compras realizadas por ellos )");
|
||
break;
|
||
case 2: textxy( 15, 455, "Impresion de Facturas para Clientes o Empresa.");
|
||
break;
|
||
case 3: textxy( 15, 455, "Altas / Bajas / Modificaciones de CLIENTES.");
|
||
break;
|
||
}
|
||
break;
|
||
case 3:
|
||
switch(Linea) {
|
||
case 1: textxy( 15, 455, "Compras realizadas por la empresa.");
|
||
break;
|
||
case 2: textxy( 15, 455, "Vendedores que posee la empresa.");
|
||
break;
|
||
case 3: textxy( 15, 455, "Gesti¢n de los productos actuales.");
|
||
break;
|
||
}
|
||
break;
|
||
case 4:
|
||
switch(Linea) {
|
||
case 1: textxy( 15, 455, "Muestra de forma num‚rica y gr fica el Stock Actual.");
|
||
break;
|
||
case 2: textxy( 15, 455, "Informe de Ventas sobre el mes seleccionado.");
|
||
break;
|
||
case 3: textxy( 15, 455, "Gr ficas de Ganancias Brutas, generales.");
|
||
break;
|
||
case 4: textxy( 15, 455, "Gr fica de Compras generales por C¢digo.");
|
||
break;
|
||
case 5: textxy( 15, 455, "Graficas de informaci¢n sobre los clientes.");
|
||
break;
|
||
}
|
||
break;
|
||
case 5:
|
||
switch(Linea) {
|
||
case 1: textxy( 15, 455, "Muestra ayuda referente a los menus.");
|
||
break;
|
||
case 2: textxy( 15, 455, "Ayuda sobre las teclas y macros de Edicion.");
|
||
break;
|
||
|
||
|
||
case 4: textxy( 15, 455, "Activa la ayuda en linea, y la simulaci¢n de Aprendizaje.");
|
||
break;
|
||
case 5: textxy( 15, 455, "Muestra informaci¢n sobre la versi¢n, y copyRight.");
|
||
break;
|
||
}
|
||
break;
|
||
}
|
||
|
||
} else {
|
||
Tmp.Up = 45+ (18*Linea)+4 - 3 - 15; Tmp.Down = 45 + (18*Linea)+4 - 3;
|
||
Tmp.Left = x+4; Tmp.Right = x + textwidth( Texto[0] ) - 4;
|
||
Imprime_Boton2 (0, GRIS_C, GRIS_C, GRIS_C, Tmp);
|
||
}
|
||
|
||
|
||
|
||
} else {
|
||
if(Muestra_Oculta == 0) {
|
||
Imprime_Boton2 (0, GRIS_C, GRIS_C, GRIS_C, PP_S[Columna-1]);
|
||
} else {
|
||
Imprime_Boton2 (0, NEGRO, GRIS_O, BLANCO, PP_S[Columna-1]);
|
||
setcolor(GRIS_C);
|
||
setfillstyle(SOLID_FILL, GRIS_C);
|
||
bar(10, 455, 545, 473);
|
||
// textxy(10, 19, " Archivo ³ Gestion de Clientes ³ Mantenimiento ³ Balances ³ Ayuda");
|
||
switch(Columna) {
|
||
case 1:
|
||
textxy( 15, 455, "Operaciones de mantenimiento para los archivos y enlaces.");
|
||
break;
|
||
case 2:
|
||
textxy( 15, 455, "Altas / Bajas / Consultas y Emision de Facturas de Clientes.");
|
||
break;
|
||
case 3:
|
||
textxy( 15, 455, "Mantenimiento de la empresa. ( Compras, Refencias, Vendedores )");
|
||
break;
|
||
case 4:
|
||
textxy( 15, 455, "Balances y Gr ficas sobre el estado de la Empresa.");
|
||
break;
|
||
case 5:
|
||
textxy( 15, 455, "Acceso a la ayuda en linea.");
|
||
break;
|
||
}
|
||
|
||
}
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
}
|
||
|
||
|
||
int Menu(int Columna, int Linea){
|
||
int Devuelve = 0;
|
||
switch(Columna) {
|
||
case 1:
|
||
switch(Linea) {
|
||
case 1:
|
||
break;
|
||
case 2:
|
||
break;
|
||
case 3:
|
||
Contrae_Menu(1);
|
||
Configuracion();
|
||
break;
|
||
// SHELL TO DOS
|
||
case 4:
|
||
if(raton!=0) desactiva_raton();
|
||
restorecrtmode();
|
||
printf("Teclee EXIT para regresar al programa anfitri¢n");
|
||
if ( system( getenv( "COMSPEC") ) != 0 ) { printf("\n\nImposible salir a MS-DOS\n\n"); sleep(5); }
|
||
Initialize( 9, 2);
|
||
inicializa_raton_grafico(0, 0, 624, 464, 320, 240);
|
||
if(raton!=0) desactiva_raton();
|
||
break;
|
||
// SALIR
|
||
case 5:
|
||
Devuelve = 1;
|
||
break;
|
||
}
|
||
break;
|
||
case 2:
|
||
switch(Linea) {
|
||
case 1:
|
||
Contrae_Menu(2);
|
||
if ( ( Devuelve = Pide_Fecha_Actual() ) != -1 )
|
||
Menu_de_Clientes_Comp( Devuelve );
|
||
Devuelve = 0;
|
||
break;
|
||
case 2:
|
||
Contrae_Menu(2);
|
||
Menu_de_Facturas();
|
||
break;
|
||
case 3:
|
||
Menu_de_Clientes();
|
||
break;
|
||
}
|
||
break;
|
||
case 3:
|
||
switch(Linea) {
|
||
case 1:
|
||
Menu_de_Compras();
|
||
break;
|
||
case 2:
|
||
Menu_de_Vendedores();
|
||
break;
|
||
case 3:
|
||
Menu_de_Referencias();
|
||
break;
|
||
}
|
||
break;
|
||
case 4:
|
||
switch(Linea) {
|
||
case 1:
|
||
Menu_de_Stock();
|
||
break;
|
||
case 2:
|
||
Contrae_Menu(4);
|
||
if ( ( Devuelve = Pide_Fecha_Actual() ) != -1 )
|
||
Menu_de_Ventas(Devuelve);
|
||
Devuelve = 0;
|
||
break;
|
||
case 3:
|
||
// Enlace con el modulo ganancias
|
||
Menu_Graficas_de_Compras(1);
|
||
break;
|
||
case 4:
|
||
// Enlace puro
|
||
Menu_Graficas_de_Compras(0);
|
||
break;
|
||
case 5:
|
||
Contrae_Menu(4);
|
||
if ( ( Devuelve = Pide_Fecha_Actual() ) != -1 )
|
||
Menu_Graficas_de_Clientes(Devuelve);
|
||
Devuelve = 0;
|
||
|
||
break;
|
||
|
||
}
|
||
break;
|
||
case 5:
|
||
switch(Linea) {
|
||
case 1:
|
||
break;
|
||
case 2:
|
||
break;
|
||
case 3:
|
||
break;
|
||
case 4:
|
||
break;
|
||
case 5:
|
||
Contrae_Menu(5);
|
||
Acerca_de();
|
||
break;
|
||
}
|
||
break;
|
||
|
||
|
||
}
|
||
|
||
Dibuja_Pantalla_Pricipal();
|
||
|
||
return Devuelve;
|
||
}
|
||
|