PROGRAMA 'Imagenes'
*
* Este programa sirve para agreagar, quitar, modificar o
* consulta del archivo IMA con imagenes.
*
* Este programa trabaja con el concepto de NO CLAVES por lo
* que cuando se AGREGA se le asigna el proximo numero de
* identificacion y en los demas casos (Modificacion, ...)
* se despliega un menu con las imagenes para que seleccione cual
* quiere. Para optimizar se busca por la primera letra
* del nombre asignado a las imagenes.
*
* En el caso de consulta permite hacerla con agrandar o reducir
* de la imagen o con acercamientos.
*
IGUAL AREA N10 OP-SEL TOT-REN TOT-COL COND TOT SUB
IGUAL AREA X30 OPCION
IGUAL IMA IDE-IMA IDE-IMA-V
VECTOR IDE-IMA-V RANGO-EXTENDIDO 1 10000
*
OPCION TERMINAL AREA 1 /MENU /MARCO /POS. 1 1 $
/COLOR NEGRO BLANCO BLANCO AMARILLO NEGRO NEGRO BLANCO $
/TECLAS-DE-FUNCION 1 'Terminar' $
/LONG. 7 35 /BN NO-E VI NO-E /CAMPOS $
1 '*Agregar' 3 '*Quitar' 2 '*Modificar' $
4 '*Consultar con agrandar' $
5 'C*onsultar con acercamiento' $
OP-SEL /VAR-SEL.
*
* Area para nombre de la imagen
*
OPCION TERMINAL AREA 2 /RENGLON /BN CI VI NO-E $
/COLOR BLANCO BLANCO NEGRO NEGRO AMARILLO CELESTE NEGRO $
/TECLAS-DE-FUNCION 3 'Regresar' $
/MARCO /POS. 1 46 /LONG. 6 34 $
/CAMPOS 2 3 OPCION /VAR. /ESC. /ESC-1 /ESC-2 $
4 3 'Nombre de la imagen' $
5 3 NOM-IMA /VAR. /LEC. /MOD-1 /ESC-2 /INF.
*
* Area para leer, modificar y quitar la imagen
*
OPCION TERMINAL AREA 3 /IMAGEN /BN VI $
/COLOR BLANCO BLANCO NEGRO $
/MARCO /POS. 9 5 /LONG. 12 70 $
/MOD-1-GLOBAL /ESC-2-GLOBAL $
/TECLAS-DE-FUNCION 1 'Terminar' $
/CONFIRMAR /CONFIRMAR-1 /CONFIRMAR-2 /TIEMPO 0 0 $
/CAMPOS 2 3 'Fotos:' $
2 15 FOTO-1 /VAR. /LEC. /LONG. 20 /RENG. 10 $
2 45 FOTO-2 /VAR. /LEC. /LONG. 20 /RENG. 10
*
* Area para letra de inicio del nombre de la imagen
*
OPCION TERMINAL AREA 4 /RENGLON /BN CI VI NO-E $
/COLOR BLANCO BLANCO NEGRO NEGRO AMARILLO CELESTE NEGRO $
/TECLAS-DE-FUNCION 3 'Regresar' $
/MARCO /POS. 1 46 /LONG. 5 34 $
/CAMPOS 2 3 'De la letra de inicio' $
3 3 'del nombre de la imagen' $
4 3 'a buscar:' LET-IMA /VAR. /LEC. /BLANCOS
*
* Area de menu de imagenes para modificacion y quitar
*
OPCION TERMINAL AREA 5 /MENU 3 0 0 2 0 0 $
/POS. 12 5 /LONG. 10 70 /MARCO /BN VI CI VI $
/COLOR BLANCO BLANCO NEGRO NEGRO AMARILLO BLANCO NEGRO $
/TECLAS-DE-FUNCION 1 'Terminar' /CAMPOS $
'Seleccione la imagen' /ENC. $
FOTO-1 /LONG. 12 FOTO-2 /LONG. 12 $
NOM-IMA /LONG. 30 SUB /VAR-SEL. /DESP-LEC.
*
* Area de pregunta en quitar
*
OPCION TERMINAL AREA 6 /RENGLON /POS. 19 5 /LONG. 3 70 $
/MARCO /COLOR ROJO ROJO BLANCO NEGRO AMARILLO $
/CAMPOS 'Son las imagenes a quitar' SINO /VAR. /LEC. /INF.
*
* Area de menu de imagenes para consulta
*
OPCION TERMINAL AREA 7 /MENU 3 0 0 2 0 0 /POS. 12 5 $
/LONG. 10 70 /MARCO /BN VI CI VI /VARIAS-SELECCIONES $
/COLOR BLANCO BLANCO NEGRO NEGRO AMARILLO BLANCO NEGRO $
/TECLAS-DE-FUNCION 1 'Terminar' /CAMPOS $
'Seleccione la imagen a consultar' /ENC. $
NOM-IMA /LONG. 30 FOTO-1 FOTO-2 $
SUB /VAR-SEL. /DESP-LEC.
*
* Area de desplegado de una imagen con agrandar o reducir
*
OPCION TERMINAL AREA 8 /IMAGEN /MARCO /BN VI $
/COLOR BLANCO AZUL AMARILLO /CONFIRMAR $
/POS. 2 20 /LONG. TOT-REN TOT-COL /LONG-MAX. 20 40 $
/TECLAS-DE-FUNCION 1 'Agrandar' 2 'Reducir' $
/CAMPOS FOTO-1 /VAR.
*
* Area de desplegado de una imagen con RECUADRO
*
OPCION TERMINAL AREA 9 /IMAGEN 4 4 1 /POS. 1 1 /LONG. 15 53 $
/MARCO /BN VI $
/COLOR BLANCO-B BLANCO-B NEGRO $
/LINEA-VERTICAL 1 /LINEA-VERTICAL 53 $
/LINEA-HORIZONTAL 1 /LINEA-HORIZONTAL 15 $
/LINEA-VERTICAL 27 3 15 $
/LINEA-HORIZONTAL 3 1 53 $
/ACERCAR-POSICION 70 $
/CAMPOS 2 5 'Fotos por posici¢n:' $
5 5 FOTO-1 /VAR. /LONG. 20 $
5 29 FOTO-2 /VAR. /LONG. 20
*
* Area de desplegado de una imagen con NO-REDUCIR
*
OPCION TERMINAL AREA 10 /IMAGEN 4 4 1 /POS. 6 20 /LONG. 15 53 $
/MARCO /BN VI $
/COLOR CELESTE-B CELESTE-B NEGRO $
/LINEA-VERTICAL 1 /LINEA-VERTICAL 53 $
/LINEA-HORIZONTAL 1 /LINEA-HORIZONTAL 15 $
/LINEA-VERTICAL 27 3 15 /LINEA-HORIZONTAL 3 1 53 $
/NO-REDUCIR $
/CAMPOS 2 5 'Fotos con paning:' $
5 5 FOTO-1 /VAR. /LONG. 20 $
5 29 FOTO-2 /VAR. /LONG. 20
*
* Area de desplegado de una imagen con POR POSICION
*
OPCION TERMINAL AREA 11 /IMAGEN 4 4 1 /POS. 10 30 /LONG. 11 33 $
/MARCO /BN VI $
/COLOR BLANCO BLANCO NEGRO $
/LINEA-VERTICAL 1 /LINEA-VERTICAL 33 $
/LINEA-HORIZONTAL 1 /LINEA-HORIZONTAL 11 $
/LINEA-VERTICAL 17 3 11 /LINEA-HORIZONTAL 3 1 33 $
/ACERCAR-RECUADRO 50 $
/CAMPOS 2 5 'Fotos por recuadro:' $
5 5 FOTO-1 /VAR. /LONG. 10 $
5 19 FOTO-2 /VAR. /LONG. 10
*
* Seleccionar lo que va a hacer
*
1 OPCION TERMINAL AREA 1 /DESPLEGAR
LEER TERMINAL EJECUTA 5 OP-SEL
SI OP-SEL = 1 EJECUTA 10
SI OP-SEL = 2 EJECUTA 20
SI OP-SEL = 3 EJECUTA 20
SI OP-SEL = 4 EJECUTA 60
SI OP-SEL = 5 EJECUTA 60
5 FIN
*
* Caso de agregar leer el nombre y las imagenes
*
10 OPCION TERMINAL AREA 2 3 /DESPLEGAR /SALVAR-ANTERIORES /EMPALMAR
MOVER 'Lectura de imagen' A OPCION
ESCRIBIR TERMINAL OPCION
LEER TERMINAL EJECUTA 1 NOM-IMA
EJECUTA RUTINA CONVERTIR-NOMBRE
LEER TERMINAL EJECUTA 1 FOTO-1 FOTO-2
*
* Sacar proximo numero de identificacion e insertar
*
IDE-IMA = 1
BUSCAR DISCO IMA EJECUTA 12 ULTIMO-G1
LEER DISCO IMA IDE-IMA
IDE-IMA = IDE-IMA + 1
12 INSERTAR DISCO IMA IDE-IMA NOM-IMA LET-IMA ORD-IMA $
FOTO-1 FOTO-2
OPCION DISCO IMA LIBERAR
OPCION TERMINAL AREA 2 3 /TERMINAR
OPCION TERMINAL AREA 1 /TERMINAR
EJECUTA 1
*
* En modificacion y quitar leer una letra de inicio del nombre
* y desplegar solo aquellas que se inician con dicha letra
* si solo da RETURN desplegar todas
*
20 OPCION TERMINAL AREA 4 5 /DESPLEGAR /SALVAR-ANTERIORES $
/EMPALMAR
LEER TERMINAL EJECUTA 1 LET-IMA
OPCION DISCO IMA INICIO-G1
OPCION DISCO IMA INICIO-G2
TOT = 0
22 SI LET-IMA <> ' ' $
BUSCAR DISCO IMA EJECUTA 24 NO-PRIN-G2 LET-IMA
SI LET-IMA = ' ' $
BUSCAR DISCO IMA EJECUTA 24 SEC-G1
TOT = TOT + 1
LEER DISCO IMA IDE-IMA-V ( TOT ) NOM-IMA FOTO-1 FOTO-2
ESCRIBIR TERMINAL FOTO-1 FOTO-2 NOM-IMA
EJECUTA 22
24 SI TOT > 0 EJECUTA 26
ERROR 'NO hay imagenes con esas caracteristicas'
EJECUTA 1
26 LEER TERMINAL EJECUTA 1 SUB
OPCION TERMINAL AREA 4 5 /TERMINAR
BUSCAR DISCO IMA EJECUTA 90 PRIN-G1 IDE-IMA-V ( SUB )
LEER DISCO IMA IDE-IMA NOM-IMA FOTO-1 FOTO-2
OPCION DISCO IMA LIBERAR
SI OP-SEL = 2 EJECUTA 40
SI OP-SEL = 3 EJECUTA 50
EJECUTA 90
*
* Caso de modificacion
*
40 OPCION TERMINAL AREA 2 3 /DESPLEGAR /SALVAR-ANTERIORES $
/EMPALMAR /USO-1 /USO-1
MOVER 'Modificacion de imagen' A OPCION
ESCRIBIR TERMINAL OPCION
ESCRIBIR TERMINAL NOM-IMA
LEER TERMINAL EJECUTA 1 NOM-IMA
EJECUTA RUTINA CONVERTIR-NOMBRE
ESCRIBIR TERMINAL FOTO-1 FOTO-2
LEER TERMINAL EJECUTA 1 FOTO-1 FOTO-2
BUSCAR DISCO IMA EJECUTA 90 PRIN-G1 IDE-IMA
BORRAR DISCO IMA
INSERTAR DISCO IMA IDE-IMA NOM-IMA LET-IMA ORD-IMA $
FOTO-1 FOTO-2
OPCION DISCO IMA LIBERAR
OPCION TERMINAL AREA 2 3 /TERMINAR
EJECUTA 1
*
* Caso de quitar
*
50 OPCION TERMINAL AREA 2 3 /DESPLEGAR /SALVAR-ANTERIORES $
/EMPALMAR /USO-2 /USO-2
MOVER 'Quitar imagen' A OPCION
ESCRIBIR TERMINAL OPCION
ESCRIBIR TERMINAL NOM-IMA
ESCRIBIR TERMINAL FOTO-1 FOTO-2
OPCION TERMINAL AREA 6 /DESPLEGAR /SALVAR-ANTERIORES $
/EMPALMAR /PROCESADA /CANCELAR-CONFIRMAR
LEER TERMINAL SINO
SI SINO <> 'SI' EJECUTA 52
BUSCAR DISCO IMA EJECUTA 90 PRIN-G1 IDE-IMA
BORRAR DISCO IMA
OPCION DISCO IMA LIBERAR
52 OPCION TERMINAL AREA 6 /TERMINAR
OPCION TERMINAL AREA 2 3 /TERMINAR
EJECUTA 1
*
* En CONSULTA leer una letra de inicio del nombre
* y desplegar solo aquellas que se inician con dicha letra
* si solo da RETURN desplegar todas
*
60 OPCION TERMINAL AREA 4 7 /DESPLEGAR /SALVAR-ANTERIORES /EMPALMAR
LEER TERMINAL EJECUTA 1 LET-IMA
OPCION DISCO IMA INICIO-G1
OPCION DISCO IMA INICIO-G2
TOT = 0
62 SI LET-IMA <> ' ' $
BUSCAR DISCO IMA EJECUTA 64 NO-PRIN-G2 LET-IMA
SI LET-IMA = ' ' $
BUSCAR DISCO IMA EJECUTA 64 SEC-G1
TOT = TOT + 1
LEER DISCO IMA IDE-IMA-V ( TOT ) NOM-IMA FOTO-1 FOTO-2
ESCRIBIR TERMINAL NOM-IMA FOTO-1 FOTO-2
EJECUTA 62
64 SI TOT > 0 EJECUTA 66
ERROR 'NO hay imagenes con esas caracteristicas'
EJECUTA 1
66 LEER TERMINAL EJECUTA 1 SUB
BUSCAR DISCO IMA EJECUTA 90 PRIN-G1 IDE-IMA-V ( SUB )
LEER DISCO IMA IDE-IMA NOM-IMA FOTO-1 FOTO-2
OPCION DISCO IMA LIBERAR
SI OP-SEL = 4 EJECUTA 70
SI OP-SEL = 5 EJECUTA 80
EJECUTA 90
*
* Desplegar la imagen y poder agrandar/reducir
*
70 TOT-REN = 15
TOT-COL = 30
72 OPCION TERMINAL AREA 8 /DESPLEGAR /SALVAR-ANTERIORES /BORRAR
ESCRIBIR TERMINAL FOTO-1
OPCION TERMINAL AREA 8 /TERMINAR
*
* Procesar teclas para agrandar o reducir
*
SACAR PARAMETROS CONDICION-TERMINAR COND
SI COND = 0 EJECUTA 66
SI COND = 1 TOT-REN = TOT-REN + 2
SI COND = 2 TOT-REN = TOT-REN - 2
SI COND = 1 TOT-COL = TOT-COL + 4
SI COND = 2 TOT-COL = TOT-COL - 4
SI TOT-REN > 20 TOT-REN = 20
SI TOT-REN < 5 TOT-REN = 5
SI TOT-COL > 40 TOT-COL = 40
SI TOT-COL < 10 TOT-COL = 10
EJECUTA 72
*
* Desplegar con acercamientos
*
80 OPCION TERMINAL AREA 9 /DESPLEGAR /SALVAR-ANTERIORES /BORRAR
ESCRIBIR TERMINAL FOTO-1 FOTO-2
OPCION TERMINAL AREA 10 /DESPLEGAR /PROCESADA $
/SALVAR-ANTERIORES /EMPALMAR
ESCRIBIR TERMINAL FOTO-1 FOTO-2
OPCION TERMINAL AREA 11 /DESPLEGAR /PROCESADA $
/SALVAR-ANTERIORES /EMPALMAR
ESCRIBIR TERMINAL FOTO-1 FOTO-2
OPCION TERMINAL AREA 11 /TERMINAR
OPCION TERMINAL AREA 10 /TERMINAR
OPCION TERMINAL AREA 9 /TERMINAR
EJECUTA 66
*
* Error
*
90 ERROR 'Error de programa'
FIN
*
* Sacar de NOM-IMA las letras y pasarlas ORD-IMA
* Poner en LET-IMA la primer letra de ORD-IMA
*
IGUAL AREA N10 I
IGUAL AREA X1 CAR CART
*
RUTINA CONVERTIR-NOMBRE
MOVER NOM-IMA A ORD-IMA
I = 0
10 I = I + 1
SI I > 10 EJECUTA 20
CONVERTIR ORD-IMA A CAR /POS. I 1
SI CAR >= 'A' O CAR <= 'Z' EJECUTA 10
SI CAR >= '0' O CAR <= '1' EJECUTA 10
*
MOVER ' ' A CART
BUSCAR TABLA TABLET EJECUTA 15 IGUAL CAR CART
15 CONVERTIR CART A ORD-IMA /POS. 1 I
EJECUTA 10
*
20 CONVERTIR ORD-IMA A LET-IMA /POS. 1 1
RETORNO