PROGRAMA 'Leer, Mod, ... Mapas'
*
* Este programa sirve para agreagar, quitar, modificar o
* consulta del banco de datos de mapas.
* Tambien registra las marcas que tiene un mapa
*
IGUAL AREA N10 OP-SEL TIPO-MARCA DIM-MARCA CF-MARCA $
CM-MARCA IND-1L
*
OPCION TERMINAL AREA 1 /MENU /MARCO /POS. 1 10 $
/COLOR BLANCO BLANCO NEGRO NEGRO AMARILLO CELESTE NEGRO $
/TECLAS-DE-FUNCION 1 'Terminar' $
/LONG. 3 60 /BN NO-E VI NO-E /CAMPOS $
1 '*Agregar' 4 '*Quitar' 2 '*Modificar' 3 '*Consultar' $
OP-SEL /VAR-SEL.
*
* Area para numero y nombre del mapa
*
OPCION TERMINAL AREA 2 /RENGLON /BN CI VI NO-E $
/COLOR BLANCO BLANCO NEGRO NEGRO AMARILLO CELESTE NEGRO $
/TECLAS-DE-FUNCION 4 'Cancelar' $
/MARCO /POS. 5 10 /LONG. 4 60 $
/TAB. 3 25 /INF-GLOBAL /MOD-1-GLOBAL /ESC-2-GLOBAL $
/CAMPOS NUM-MAPA /LEC-1 /LEC-2 /DESP-LEC. NOM-MAPA
*
* Area para leer, modificar y escribir la imagen del mapa
*
OPCION TERMINAL AREA 3 /IMAGEN /BN VI $
/COLOR BLANCO BLANCO NEGRO /MARCAR $
/MARCO /POS. 10 5 /LONG. 11 25 $
/MOD-1-GLOBAL /ESC-2-GLOBAL $
/CONFIRMAR /CONFIRMAR-1 /CONFIRMAR-2 $
/CAMPOS 2 3 IMA-MAPA /VAR. /LEC. /LONG. 18 /RENG. 9
*
* Area para modificar las marcas
*
OPCION TERMINAL AREA 4 /COLUMNA /BN VI $
/COLOR BLANCO BLANCO NEGRO NEGRO BLANCO BLANCO NEGRO $
/ESC-1-GLOBAL $
/MARCO /POS. 10 32 /LONG. 11 44 $
/CAMPOS 2 3 '#' $
2 3 NUM-MARCA /VAR. /ESC. /ESC-1 $
2 8 DES-MARCA /LET-VAR. /MOD. $
/CONTROL-DE-GRUPO $
2 39 OTRO-MAPA /LET-VAR. /MOD.
*
* Area de pregunta en quitar
*
OPCION TERMINAL AREA 5 /RENGLON /POS. 19 5 /LONG. 3 70 $
/MARCO /COLOR ROJO ROJO BLANCO NEGRO AMARILLO $
/CAMPOS 'Es el mapa a quitar' SINO /VAR. /LEC. /INF.
*
* Desplegar areas y leer lo que se va a hacer
*
10 OPCION TERMINAL AREA 1 2 3 4 /DESPLEGAR
LEER TERMINAL EJECUTA 12 OP-SEL
SI OP-SEL = 1 EJECUTA 20
SI OP-SEL = 2 EJECUTA 30
SI OP-SEL = 3 EJECUTA 60
SI OP-SEL = 4 EJECUTA 60
12 FIN
*
* Caso de agregar, leer y validar numero de mapa
*
20 NUM-MAPA = 1000
BUSCAR DISCO MAPAS EJECUTA 22 ULTIMO-G1
LEER DISCO MAPAS NUM-MAPA
NUM-MAPA = NUM-MAPA + 1
22 LEER TERMINAL EJECUTA 10 NUM-MAPA
BUSCAR DISCO MAPAS EJECUTA 24 PRIN-G1 NUM-MAPA
ERROR 'Mapa con numero' NUM-MAPA 'ya existe'
EJECUTA 22
*
* Leer el nombre y las imagenes, luego insertarlo
*
24 LEER TERMINAL EJECUTA 10 NOM-MAPA
LEER TERMINAL EJECUTA 10 IMA-MAPA
INSERTAR DISCO MAPAS NUM-MAPA NOM-MAPA IMA-MAPA
*
* Formar el R1 con las marcas que tiene la imagen y luego
* pasar a que modifique la informacion. Para ello sacar
* cada numero de marca de la imagen con la opcion
* de /SACAR-MARCA
*
NUM-MARCA = 0
MOVER 'NO' A OTRO-MAPA
26 FORMAR IMAGEN IMA-MAPA /SACAR-MARCA NUM-MARCA /ERROR 46
MOVER 'Planta #' A DES-MARCA
MOVER NUM-MARCA A DES-MARCA /AGREGAR
INSERTAR DISCO MAPAS NUM-MARCA DES-MARCA OTRO-MAPA
EJECUTA 26
*
* Caso de modificacion, leer numero del mapa y con eso sacar
* el nombre y la imagen. proceder a la modificacion.
*
30 OPCION TERMINAL AREA 2 /INICIO-USO-1
32 LEER TERMINAL EJECUTA 10 NUM-MAPA
BUSCAR DISCO MAPAS EJECUTA 34 PRIN-G1 NUM-MAPA
LEER DISCO MAPAS NOM-MAPA IMA-MAPA
ESCRIBIR TERMINAL NOM-MAPA
LEER TERMINAL EJECUTA 10 NOM-MAPA
OPCION DISCO MAPAS LIBERAR
OPCION TERMINAL AREA 3 /INICIO-USO-1
ESCRIBIR TERMINAL IMA-MAPA
LEER TERMINAL EJECUTA 10 IMA-MAPA
BUSCAR DISCO MAPAS EJECUTA 90 PRIN-G1 NUM-MAPA
ESCRIBIR DISCO MAPAS NOM-MAPA IMA-MAPA
EJECUTA 36
34 ERROR 'MAPAS con numero' NUM-MAPA 'no registrado'
EJECUTA 32
*
* Leer las marcas del R1 y buscarlas en la imagen
* con /LEER-MARCA y si no estan borrarla del R1
*
36 BUSCAR RECURRENTE MAPAS 1 EJECUTA 40 SIG.
LEER DISCO MAPAS NUM-MARCA
FORMAR IMAGEN IMA-MAPA /LEER-MARCA NUM-MARCA TIPO-MARCA $
DIM-MARCA CF-MARCA CM-MARCA /ERROR 38
* ERROR NUM-MARCA TIPO-MARCA DIM-MARCA CF-MARCA CM-MARCA
EJECUTA 36
38 BORRAR RECURRENTE MAPAS 1
EJECUTA 36
*
* Ahora revisar si no agrego marcas para pasarlas al R1
*
40 NUM-MARCA = 0
MOVER 'NO' A OTRO-MAPA
42 FORMAR IMAGEN IMA-MAPA /SACAR-MARCA NUM-MARCA /ERROR 46
BUSCAR RECURRENTE MAPAS 1 EJECUTA 44 SUP. NUM-MARCA
EJECUTA 42
44 MOVER 'Planta #' A DES-MARCA
MOVER NUM-MARCA A DES-MARCA /AGREGAR
INSERTAR DISCO MAPAS NUM-MARCA DES-MARCA OTRO-MAPA
EJECUTA 42
*
* Revisa tenga marcas si no es asi dar error
* PRECAUCION: Esta logica se usa tambien por AGREGAR
*
46 BUSCAR RECURRENTE MAPAS 1 EJECUTA 48 SUP.
EJECUTA 50
48 ERROR 'No se dieron marcas, se borra el mapa'
BORRAR DISCO MAPAS
OPCION DISCO MAPAS LIBERAR
EJECUTA 10
*
* Pasar a escribir las marcas para su modificacion
*
50 OPCION DISCO MAPAS ORD-R1 A NUM-MARCA
52 BUSCAR RECURRENTE MAPAS 1 EJECUTA 54 ORD.
LEER DISCO MAPAS NUM-MARCA DES-MARCA OTRO-MAPA
ESCRIBIR TERMINAL DES-MARCA OTRO-MAPA
ESCRIBIR TERMINAL NUM-MARCA
EJECUTA 52
54 OPCION DISCO MAPAS LIBERAR
IND-1L = 1
LEER TERMINAL DES-MARCA OTRO-MAPA
*
* Ahora leer la modificacion
*
BUSCAR DISCO MAPAS EJECUTA 90 PRIN-G1 NUM-MAPA
OPCION DISCO MAPAS ORD-R1 A NUM-MARCA
56 BUSCAR RECURRENTE MAPAS 1 EJECUTA 58 ORD.
SI IND-1L = 0 LEER TERMINAL DES-MARCA OTRO-MAPA
IND-1L = 0
ESCRIBIR DISCO MAPAS DES-MARCA OTRO-MAPA
EJECUTA 56
58 OPCION DISCO MAPAS LIBERAR
OPCION TERMINAL AREA 1 2 3 4 /TERMINAR
EJECUTA 10
*
* Caso de consulta y de quitar
*
60 OPCION TERMINAL AREA 2 /INICIO-USO-2
62 LEER TERMINAL EJECUTA 10 NUM-MAPA
BUSCAR DISCO MAPAS EJECUTA 68 PRIN-G1 NUM-MAPA
LEER DISCO MAPAS NOM-MAPA IMA-MAPA
ESCRIBIR TERMINAL NOM-MAPA
OPCION TERMINAL AREA 3 /INICIO-USO-2
ESCRIBIR TERMINAL IMA-MAPA
OPCION TERMINAL AREA 4 /INICIO-USO-1
OPCION DISCO MAPAS ORD-R1 A NUM-MARCA
64 BUSCAR RECURRENTE MAPAS 1 EJECUTA 66 ORD.
LEER DISCO MAPAS NUM-MARCA DES-MARCA OTRO-MAPA
ESCRIBIR TERMINAL DES-MARCA NUM-MARCA OTRO-MAPA
EJECUTA 64
66 OPCION DISCO MAPAS LIBERAR
SI OP-SEL = 4 EJECUTA 70
OPCION TERMINAL AREA 1 2 3 4 /TERMINAR
EJECUTA 10
68 ERROR 'MAPAS con numero' NUM-MAPA 'no registrado'
EJECUTA 62
*
* Caso de quitar, pregunta si es este ?
*
70 OPCION TERMINAL AREA 5 /DESPLEGAR /SALVAR-ANTERIORES $
/EMPALMAR /PROCESADA /CANCELAR-CONFIRMAR
LEER TERMINAL SINO
SI SINO = 'SI' BORRAR DISCO MAPAS
OPCION TERMINAL AREA 5 /TERMINAR
OPCION TERMINAL AREA 1 2 3 4 /TERMINAR
EJECUTA 10
*
* Error
*
90 ERROR 'Error de programa'
FIN