First commit 11/11/1991

This commit is contained in:
2021-09-08 21:43:28 +02:00
commit e1d6aee98f
56 changed files with 13949 additions and 0 deletions

562
SV.CPP Normal file
View File

@ -0,0 +1,562 @@
//////////////////////////////////////////////////////////////////////////////
/// Nombre: SV .CPP ///
/// Modulo: Gr<47>ficos para programa original [SINTITULO] ///
/// Descripci<63>n: ///
/// ///
/// Autor: Jos<6F> David Guill<6C>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_ <20>FuTuRe ViSiOn<4F>\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<63>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<63>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 <20> Gestion de Clientes <20> Mantenimiento <20> Balances <20> 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<EFBFBD>n de los productos actuales.");
break;
}
break;
case 4:
switch(Linea) {
case 1: textxy( 15, 455, "Muestra de forma num<75>rica y gr<67>fica el Stock Actual.");
break;
case 2: textxy( 15, 455, "Informe de Ventas sobre el mes seleccionado.");
break;
case 3: textxy( 15, 455, "Gr<EFBFBD>ficas de Ganancias Brutas, generales.");
break;
case 4: textxy( 15, 455, "Gr<EFBFBD>fica de Compras generales por C<>digo.");
break;
case 5: textxy( 15, 455, "Graficas de informaci<63>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<63>n de Aprendizaje.");
break;
case 5: textxy( 15, 455, "Muestra informaci<63>n sobre la versi<73>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 <20> Gestion de Clientes <20> Mantenimiento <20> Balances <20> 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<47>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<72>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;
}